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 :

affichage plusieurs valeurs dans textarea


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut affichage plusieurs valeurs dans textarea
    bonjour

    je rencontre un proble avec une boucle while($row = mysqli_fetch_assoc($requete))
    en faite mon while fonctionne mais j aurai besoin d afficher dans une me tetextarea les informations concernant les personne qui ce sont incrite pour un meme poste
    j utilise ce code actuellement

    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
     
    <?php
    //recuperation des infos des personne inscript par poste
    	 $requete = mysqli_query($link, "SELECT * FROM inscription WHERE Id_epreuve=$Id_circuit1 ORDER BY Num_poste Asc ");
    	// $resultat = mysqli_num_rows($requete);
     
    	 while($row = mysqli_fetch_assoc($requete)) {
     
    		//$Id_p       = $row['Id_inscription'];
    		$Nom        = $row['Nom']; 
    		$Prenom     = $row['Prenom'];
    		$Num_poste  = $row['Num_poste'];
     ?>
    	 <table class="bouton2" align="center">
    		<tr>
    		<td><div align="left">Poste: <?php echo $Num_poste; ?></td>
    		<td><textarea name="textarea" cols="37" rows="4" style="CURSOR: hand;" disabled readonly>
    <?php 
    	echo $Nom.' '. $Prenom.'<br>'; 
    ?>
    </textarea></font></td>
    		</tr>
    		</table>
    <?php
    	 }
    ?>
    actuellement cela me généré autant de textarea que de personne qui ce sont inscrite meme si j ai 3 personne qui ce sont inscrit pour le même poste.
    je sais pas si je suis asser claire, en gros je souhaiterai afficher une textarea par poste avec dans chaque textarea le nom des personnes qui sont inscrite pour ce poste.
    je pense que je devrai faire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $i=0;
    while($row[$i] = mysqli_fetch_assoc($requete)) {
    $Nom        = $row[$i]['Nom'];
    $i++;
    mais la je suis un peu perdu sur la syntaxe,avez vous une idée.
    merci

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //recuperation des infos des personne inscript par poste
    $requete = mysqli_query($link, "SELECT * FROM inscription WHERE Id_epreuve=$Id_circuit1 ORDER BY Num_poste Asc ");
    Tu peux agréger les infos au niveau de la requête (avec GROUP_CONCAT() par exemple), ainsi tu auras bien les personnes ayant postulé pour un même poste.

    La faisabilité va dépendre de ce que tu veux au final.

    Ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql = <<<SQL
        SELECT ALL Num_poste, GROUP_CONCAT(CONCAT(Nom, ', ', Prenom) ORDER BY Nom ASC, Prenom ASC SEPARATOR '\r\n') AS Postulants
        FROM inscription
        WHERE Id_epreuve = {$Id_circuit1}
        GROUP BY Num_poste
        ORDER BY Num_poste ASC
        SQL;
     
    $requete = mysqli_query($link, $sql);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut
    bonjour
    en faite ce doit etre un truc simple car concretement
    pour un circuit je dispose de plusieurs poste et pour un même poste plusieurs personne peuvent s inscrire.
    ce que j aimerai comme résultat c est que pour le poste 1 par exemple ca m affiche un textarea avec toutes les personnes inscrite a ce poste, puis en dessous un textarea pour le poste2 avec toutes les personne qui sont inscrite a ce poste etc etc

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    OK, dans ce cas la requête fournie devrait suffire.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut
    oui ma requete me sort bien les infos demaner et ma boucle fonctionne bien.
    le problème est que pour chaque informations inscription a un poste ça me créé un textarea avec un seul nom, alors que je voudrai que cela m affiche une textarea par poste avec tout les personnes inscrite a ce poste.

    je pense que mon probleme doit ce situer dans cette partie de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	 while($row = mysqli_fetch_assoc($requete)) {
     
    		//$Id_p       = $row['Id_inscription'];
    		$Nom        = $row['Nom']; 
    		$Prenom     = $row['Prenom'];
    		$Num_poste  = $row['Num_poste'];

    c est pour ca que j essai de faire un truc du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $i=0;
    while($row[$i] = mysqli_fetch_assoc($requete)) {
    $Nom        = $row[$i]['Nom'];
    $i++;
    

    de sorte que ca me sorte ce que j ai ecrit dans mon autre commentaire plus haut

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Je ne comprends pas ton dernier messsage.
    Je t'ai donné une solution à 12h21.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut
    merci de ton aide seb du coup j ai fait avec deux requete et ca me donne le resultat que je souhaite je met le code si cela px aider du monde on sait jamais

    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
      //recuperation des postes
       $requete = mysqli_query($link, "SELECT * FROM inscription WHERE Id_epreuve=$Id_circuit1 GROUP BY Num_poste ASC");
           //$resultat = mysqli_num_rows($requete);
          while($row = mysqli_fetch_assoc($requete)) {
     
          $Num_poste  = $row['Num_poste'];
     
    ?>
          <table class="bouton2" align="center">
          <tr>
          <td colspan="4" class=tetieredate><div align="left">Poste: <?php echo $Num_poste; ?></td>
          <td colspan="4"><textarea name="textarea" cols="37" rows="4" style="CURSOR: hand;" disabled readonly>
    <?php
          //recuperation des personne poste par poste
           $Rqs = mysqli_query($link, "SELECT * FROM inscription WHERE Num_poste='$Num_poste' ");
           //printf("Select a retourné %d lignes.\n", mysqli_num_rows($Rqs));
          while($row = mysqli_fetch_assoc($Rqs)) {
     
            $Nom        = $row['Nom']; 
            $Prenom     = $row['Prenom'];
     
          echo $row['Nom'].' '.$row['Prenom']."\n";
           }
     
    ?>
      </textarea></font></td>
      </tr>
      </table>
    <?Php
       }
     ?>
    sujet clos pour moi

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

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