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 :

Récupérer une ligne d'un tableau [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut Récupérer une ligne d'un tableau
    Bonjour,

    Voici le code que j'utilise pour afficher un tableau extrait d'une base MySQL :
    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
    <form method="post">
    <?php
      $name = $_POST['name'];
      if(isset($name)) {
      $result = mysql_query("SELECT  * FROM  intemperies WHERE nom = '$name'");
      echo "<table>\n
                 <tr>\n
    	  <th>id</th>\n
                   <th>Nom</th>\n
    	  <th>Pr&eacute;nom</th>\n
    	  <th>Num&eacute;ro national</th>\n
    	</tr>\n";
      while( $row = mysql_fetch_assoc($result )){
      echo "<tr>\n
                <td>" . $row['id'] . "</td>
                <td>" . $row['nom'] . "</td>\n
                <td>" . $row['prenom'] . "</td>\n
                <td>" . nissF($row['niss']) . "</td>\n
                <td><input type=\"submit\" value=\"+\" name=\"ajout\"><input type=\"hidden\" value=" . $row['id'] . " name=\"select\"></td>\n
             </tr>\n";
      } }
    echo "</table>\n";
    ?></form>
    La variable $name contient un nom de famille ce qui fait que le tableau extrait de la base intemperies qui contient les champs nom, prenom, niss est filtré d'après ce nom.

    Il arrive que le tableau affiché comporte plusieurs lignes (plusieurs prenom pour un nom de famille).

    Avec ce code je peux extraire une seule ligne du tableau et l'envoyer à une autre requête SQL qui insèrera les données obtenues dans une autre base de données.

    Je rencontre actuellement un problème avec mon code, que je sélectionne la première ou la dernière ligne du tableau s'est toujours la dernière ligne qui est retournée.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Salut,

    C normal car le nom de ton input est toujours le même (ex name="select")

    Il faut utiliser la concaténation avec une variable dans ta boucle OU déclarer un nom par un tableau (mais je sais si ça marche pour des input)

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Le mieux c'est d'utilisé un tableau pour le nom une discussion.
    un tableau (mais je sais si ça marche pour des input)
    ça marche avec les input .

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut
    Ma solution : créer un formulaire pour chaque ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      while( $row = mysql_fetch_assoc($result )){
      echo "<tr><method='post'>\n
                <td>" . $row['id'] . "</td>
                <td>" . $row['nom'] . "</td>\n
                <td>" . $row['prenom'] . "</td>\n
                <td>" . nissF($row['niss']) . "</td>\n
                <td><input type='submit' value='+' name='ajout'><input type='hidden' value=' . $row['id'] . ' name='select'></td>\n
             </tr>\n";

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,
    1- Ce que tu faits, c'est de l'affichage dans un tableau.
    2-
    <method='post'>
    methode n'est pas une balise html mais un attribut de la balise <form>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Re,
    1- Ce que tu faits, c'est de l'affichage dans un tableau.
    2-
    methode n'est pas une balise html mais un attribut de la balise <form>
    Oups !

    J'ai été trop vite en recopiant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      while( $row = mysql_fetch_assoc($result )){
      echo "<tr><form method='post'>\n
                <td>" . $row['id'] . "</td>
                <td>" . $row['nom'] . "</td>\n
                <td>" . $row['prenom'] . "</td>\n
                <td>" . nissF($row['niss']) . "</td>\n
                <td><input type='submit' value='+' name='ajout'><input type='hidden' value=' . $row['id'] . ' name='select'></td>\n
             </tr></form\n";
    }
    Cette fois c'est bon

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

Discussions similaires

  1. Comment récupérer l'index d'une ligne sélectionnée de tableau
    Par Enomahus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/12/2013, 19h46
  2. récupérer une ligne de tableau en cliquant sur icon
    Par dimateo_2012 dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2013, 06h25
  3. Réponses: 2
    Dernier message: 03/06/2011, 20h29
  4. [HTML] comment récupérer une ligne d'un tableau avec HTML?
    Par jaafarerraji dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/10/2007, 00h21
  5. probleme bizarre de hauteur auto d'une ligne dans un tableau
    Par zax-tfh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 23h34

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