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

PHP & Base de données Discussion :

Update de plusieurs lignes en php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut Update de plusieurs lignes en php
    Bonjour,

    Merci de me donner un coup de main afin d'arriver de faire l'update de plusieurs lignes en une seule fois avec mysql et php, c'est quoi la requête qui fait boucler cette update pour plus de 2 enregistrements.

    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Salut,

    tu fais une boucle foreach()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    foreach ($xxxx as $Ixx{
    $sql = 'UPDATE `base` SET xxxxxxxxxxxxxxxxx;';

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    J'ai mis les noms de champs comme name="champs[]" et j'ai fait ma boucle, alors que l'update se fait par Array

    voila les pages:

    page1.php: c'est la page ou je récupère les données afin de les sélectionner par le biais du checkbox

    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
     
    <?php
    session_start();
     
    include 'fichier.php';
     
    $selection = mysql_query ("SELECT * FROM famille") or die ("Impossible de selectionner les membres de famille") ;
     
    echo '<div>Nom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prenom</div>';
     
    while ($lignes = mysql_fetch_array($selection))
    {
    	$id = $lignes['id'];
    	$nom = $lignes['nom'];
    	$prenom = $lignes['prenom'];
     
     
    ?>
    <form action="page2.php" method="post">
    <div>
    <?php echo $id; ?>
    <?php echo $nom; ?>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <?php echo $prenom; ?>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="checkbox" name="key[]" value="<?php echo $id;?>" />
    </div>
     
    <?php
    }
    ?>
    <input type="submit" name="update" value="Envoyer" />
    </form>
    page2.php: je dois transférer les données sélectionnées de la page1 vers page2 sous les champs input="text" afin de les modifier et les valider:

    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
     
    <?php
     
    include 'fichier.php';
     
    $id = $_GET['id'];
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $key = $_POST['key'];
     
    $selection = mysql_query("SELECT * FROM famille where id='$id'") or die ("impossible de selectionner");
     
     
    while ($lignes = mysql_fetch_array($selection))
    {
    	$id = $lignes['id'];
    	$nom = $lignes['nom'];
    	$prenom  = $lignes['prenom'];
     
     
    echo '<form action="page3.php?id='.$id.'" method="post">';
     
    foreach ($key as $values)
    {
     
    ?>
    Nom: <input type="text" name="nom[]" value="<?php echo $nom; ?>" /><br />
    Prenom: <input type="text" name="prenom[]" value="<?php echo $prenom; ?>" /><br />
    <?php
    }
    ?>
    <input type="submit" name="envoyer" value="Envoyer" />
    </form>
    <?
    }
    ?>
     
    sur cette page 2, il me rend comme resultat seulement le id = 1, si je sélectionne id = 2 ou bien autre id, il m'affiche que id = 1, et si je sélectionne 3 ou 4 id, il m'affiche id = 1 en 3 ou 4 fois.
     
    Comment résoudre ce problème svp, merci

Discussions similaires

  1. ON DUPLICATE KEY UPDATE pour plusieurs lignes
    Par raphael_kindt dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/11/2009, 12h45
  2. [SQL] update sur plusieurs lignes
    Par Hurin dans le forum Langage SQL
    Réponses: 8
    Dernier message: 04/08/2008, 16h37
  3. Update de plusieurs lignes
    Par osoudee dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/04/2007, 09h04
  4. Réponses: 2
    Dernier message: 09/04/2007, 10h21
  5. Update sur plusieurs lignes
    Par JOUCHET dans le forum Oracle
    Réponses: 1
    Dernier message: 20/05/2006, 18h37

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