IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

faire un insert dynamique


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 36
    Points
    36
    Par défaut faire un insert dynamique
    Bonjour ,

    jais un script pour insérer (ou update) le problème est que je veux le faire dynamique (si je rajoute des champs ) comment je peux faire ??

    merci a vous !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php
     $employer_id=$_GET['employer_id'];
     $sales=$_GET['sales'];
     $retention= $_GET['retention'];
     $oneDeposit= $_GET['oneDeposit'];
     $recapPnl= $_GET['recapPnl'];
     $enLigne= $_GET['enLigne'];
     $papier= $_GET['papier'];
     $recapSales= $_GET['recapSales'];
     $recapRet= $_GET['recapRet'];
     $recapOneDepo= $_GET['recapOneDepo'];
     $allCalendar= $_GET['allCalendar'];
     $statFiche= $_GET['statFiche'];
     $Withdraw= $_GET['Withdraw'];
     $payeEmploye= $_GET['payeEmploye'];
     $calendar= $_GET['calendar'];
     $changePwd= $_GET['changePwd'];
     $accounting= $_GET['accounting'];
     $pnl= $_GET['pnl'];
     $statistique= $_GET['statistique'];
     $convertionNew= $_GET['convertionNew'];
     $recapEmp= $_GET['recapEmp'];
     $addSignaux= $_GET['addSignaux'];
     $demoInf= $_GET['demoInf'];
     $selectMail= $_GET['selectMail'];
     $affiliateBonus= $_GET['affiliateBonus'];
     $mail= $_GET['mail'];
     $turnover= $_GET['turnover'];
     $turnover_forex= $_GET['turnover_forex'];
     $forex= $_GET['forex'];
     
     
    $sql ="INSERT INTO permission(
                    empId, sales, retention, oneDeposit, recapPnl, enLigne, papier, recapSales, recapRet, recapOneDepo, allCalendar, statFiche, Withdraw, payeEmploye, calendar, changePwd, accounting, pnl, statistique, convertionNew, recapEmp, addSignaux, demoInf, selectMail, affiliateBonus, mail, turnover, turnover_forex, forex)
            VALUES ($employer_id, $sales, $retention, $oneDeposit, $recapPnl, $enLigne, $papier, $recapSales, $recapRet, $recapOneDepo, $allCalendar, $statFiche, $Withdraw, $payeEmploye, $calendar, $changePwd, $accounting, $pnl, $statistique, $convertionNew, $recapEmp, $addSignaux, $demoInf, $selectMail, $affiliateBonus, $mail, $turnover, $turnover_forex, $forex)
      ON DUPLICATE KEY UPDATE empId=$employer_id, sales=$sales, retention=$retention, oneDeposit=$oneDeposit, recapPnl=$recapPnl, enLigne=$enLigne, papier=$papier, recapSales=$recapSales, recapRet=$recapRet, recapOneDepo=$recapOneDepo, allCalendar=$allCalendar, statFiche=$statFiche, Withdraw=$Withdraw, payeEmploye=$payeEmploye, calendar=$calendar, changePwd=$changePwd, accounting=$accounting, pnl=$pnl, statistique=$statistique, convertionNew=$convertionNew, recapEmp=$recapEmp, addSignaux=$addSignaux, demoInf=$demoInf, selectMail=$selectMail, affiliateBonus=$affiliateBonus, mail=$mail, turnover=$turnover, turnover_forex=$turnover_forex, forex=$forex;";
    $prep = $db2->prepare($sql);
    $prep->execute();
    header('Location:index.php');
     
    ?>
    merci !!

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 36
    Points
    36
    Par défaut
    je précise plus :

    dans le formulaire il s’ajoute automatiquement (avec le select ) et il arrive en GET aussi

    mais je pence pas que c est intelligent de chaque fois ajouter : $variable = $_GET['NOUVEAUX_CHAMP '] ect ...

    je dois peux être parcourir le $_GET en foreach ou quelque chose du genre ?

    merci

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tout d'abord une requête préparée sans arguments ça ne sert à rien.
    Ensuite, tu as seulement besoin d'un tableau PHP contenant la liste de tes colonnes.
    Tu construis ta requête avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $fields = array('employer_id', 'sales');
     
    foreach ($fields as $value) {
        if (isset($_GET[$value])) {
                 $data[] = $value;
        }
    }
     
    $sql = 'INSERT INTO permission(' . implode(',', $fields) . ') VALUES (' . implode(',', array_fill(0, count($fields), '?')) . ')';
    $prep = $db2->prepare($sql);
    $prep->execute($data);

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2014
    Messages : 36
    Points : 36
    Points
    36
    Par défaut
    ou rentre "ON DUPLICATE KEY UPDATE" dans le code ?
    merci

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    à la suite, le principe est le même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/08/2006, 10h57
  2. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 09/08/2006, 10h57
  3. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06
  4. [C#] Faire un INSERT en même temps dans 2 bases differentes
    Par Pingva dans le forum Accès aux données
    Réponses: 8
    Dernier message: 09/09/2004, 12h07
  5. faire un insert pour un champ blob
    Par tripper.dim dans le forum InterBase
    Réponses: 10
    Dernier message: 02/05/2003, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo