Page 1 sur 1

Pb de récuperation de données pour les inserer dans un menu

Posté : 21 févr. 2009, 18:33
par coucou
Bonjour,

Comme le titre le dit, j'arrive pas à récupérer des données de ma base, pour les faire afficher dans un menu déroulant.

Voici le code :
<?php

$cnx = mysql_connect("", "", "");
$db = mysql_select_db("chess32");
$sql = "select White from partie order by White desc";
$requete = mysql_query($sql, $cnx);

while( $result = mysql_fetch_array($requete))

?>

<H1>Choix du joueur</H1>

<FORM ACTION="affichage.php" METHOD=POST>

<label>Selectionnez le joueur:
<select name="White">

<option value=".$result["White"]." name="White">".$result["White"]."</option>
</select>
</label>
<br>
<p>
<INPUT TYPE=SUBMIT VALUE='Rechercher'>


</FORM>
Merci d'avance pour l'aide apporter :)

Chris

Posté : 21 févr. 2009, 22:02
par flattazor
essai ça

Code : Tout sélectionner

<?php $cnx = mysql_connect("", "", ""); $db = mysql_select_db("chess32"); $sql = "select White from partie order by White desc"; $requete = mysql_query($sql, $cnx); echo "<H1>Choix du joueur</H1> "; echo "<FORM ACTION='affichage.php' METHOD='POST'>"; echo "<label>Selectionnez le joueur: "; echo "<select name='White'> "; while( $result = mysql_fetch_array($requete)) { $joueur = $result['white']; echo"<option value=$joueur name='White'>$joueur</option>"; } echo "</select> "; echo "</label>"; echo "<br>"; echo "<INPUT TYPE=SUBMIT name='cherche" VALUE='Rechercher'>" ; echo "</FORM>";
pour les name à voir si tu as encore des problèmes !

Posté : 21 févr. 2009, 23:53
par coucou
Encore des erreurs que j'arrive pas à trouver, malgré en avoir trouvé 2 ou 3.
Là je vois pas du tout :cry:
<HTML><HEAD>
<TITLE>formulaire</title>

</HEAD>

  <?php

    $cnx = mysql_connect("", "", "");
    $db = mysql_select_db("chess32");
    $sql = "select Event, Site, Date, Round, White, Black, Result_White, Result_Black, ECO, White_Elo, Black_Elo, Ply_Count, 1w, 1b, 2w, 2b, 3w, 3b, 4w, 4b, 5w, 5b, 6w, 6b, 7w, 7b, 8w, 8b, 9w, 9b, 10w, 10b, 11w, 11b, 12w, 12b, 13w, 13b, 14w, 14b, 15w, 15b, 16w, 16b, 17w, 17b, 18w, 18b, 19w, 19b, 20w, 20b, 21w, 21b, 22w, 22b, 23w, 23b, 24w, 24b, 25w, 25b, 26w, 26b, 27w, 27b, 28w, 28b, 29w, 29b, 30w, 30b, 31w, 31b, 32w, 32b, 33w, 33b, 34w, 34b, 35w, 35b, 36w, 36b, 37w, 37b, 38w, 38b, 39w, 39b, 40w, 40b, 41w, 41b, 42w, 42b, 43w, 43b, 44w, 44b, 45w, 45b, 46w, 46b, 47w, 47b, 48w, 48b, 49w, 49b, 50w, 50b, 51w, 51b, 52w, 52b, 53w, 53b, 54w, 54b, 55w, 55b, 56w, 56b, 57w, 57b, 58w, 58b, 59w, 59b, 60w, 60b, 61w, 61b, 62w, 62b, 63w, 63b, 64w, 64b, 65w, 65b, 66w, 66b, 67w, 67b, 68w, 68b, 69w, 69b, 70w, 70b, 71w, 71b, 72w, 72b, 73w, 73b, 74w, 74b, 75w, 75b, 76w, 76b, 77w, 77b, 78w, 78b, 79w, 79b, 80w, 80b from partie order by White desc";
    $requete = mysql_query($sql, $cnx);

     <FORM ACTION="affichage.php" METHOD=POST>

     <label>Selectionnez le joueur:
     <select name='White'>
     while( $result = mysql_fetch_array($requete))
        {
           $joueur = '$result[White]'; 
           <option value=$joueur name='White'>$joueur</option>
        }
     </select>
     </label>
     <br>
     <INPUT TYPE=SUBMIT VALUE='Rechercher'>
     </FORM>
?>
Voilà mon message d'erreur
Parse error: syntax error, unexpected '<' in /home/chess32/www/parties/choix_bl.php on line 13
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 22 févr. 2009, 00:14
par Aureusms
Essaye cela :
Tu n'est pas sortie de PHP lors de ton formulaire
<HTML><HEAD>
<TITLE>formulaire</title>

</HEAD>

  <?php

    $cnx = mysql_connect("", "", "");
    $db = mysql_select_db("chess32");
    $sql = "select Event, Site, Date, Round, White, Black, Result_White, Result_Black, ECO, White_Elo, Black_Elo, Ply_Count, 1w, 1b, 2w, 2b, 3w, 3b, 4w, 4b, 5w, 5b, 6w, 6b, 7w, 7b, 8w, 8b, 9w, 9b, 10w, 10b, 11w, 11b, 12w, 12b, 13w, 13b, 14w, 14b, 15w, 15b, 16w, 16b, 17w, 17b, 18w, 18b, 19w, 19b, 20w, 20b, 21w, 21b, 22w, 22b, 23w, 23b, 24w, 24b, 25w, 25b, 26w, 26b, 27w, 27b, 28w, 28b, 29w, 29b, 30w, 30b, 31w, 31b, 32w, 32b, 33w, 33b, 34w, 34b, 35w, 35b, 36w, 36b, 37w, 37b, 38w, 38b, 39w, 39b, 40w, 40b, 41w, 41b, 42w, 42b, 43w, 43b, 44w, 44b, 45w, 45b, 46w, 46b, 47w, 47b, 48w, 48b, 49w, 49b, 50w, 50b, 51w, 51b, 52w, 52b, 53w, 53b, 54w, 54b, 55w, 55b, 56w, 56b, 57w, 57b, 58w, 58b, 59w, 59b, 60w, 60b, 61w, 61b, 62w, 62b, 63w, 63b, 64w, 64b, 65w, 65b, 66w, 66b, 67w, 67b, 68w, 68b, 69w, 69b, 70w, 70b, 71w, 71b, 72w, 72b, 73w, 73b, 74w, 74b, 75w, 75b, 76w, 76b, 77w, 77b, 78w, 78b, 79w, 79b, 80w, 80b from partie order by White desc";
    $requete = mysql_query($sql, $cnx);
?>
     <FORM ACTION="affichage.php" METHOD=POST>

     <label>Selectionnez le joueur:
     <select name='White'>
<?php
     while( $result = mysql_fetch_array($requete))
        {
           $joueur = '$result[White]'; 
           echo "<option value=$joueur name='White'>$joueur</option>";
        }
?>
     </select>
     </label>
     <br>
     <INPUT TYPE=SUBMIT VALUE='Rechercher'>
     </FORM>

Posté : 22 févr. 2009, 01:47
par coucou
Salut,

Merci, ça a marché. J'ai juste corrigé un petit oubli
echo "<option value=$joueur name='White'>$joueur</option>";
remplacé par
echo "<option value='$joueur' name='White'>$joueur</option>";
Merci beaucoup

Par contre, forcément j'ai des doublons et j'ai pas su voir la fonction pour dire de mettre qu'un nom au lieu de plusieurs.

Merci d'avance et bonne nuit, j'ai la tête qui bouillone :lol:

A+ Chris

Posté : 22 févr. 2009, 11:36
par thehawk
essaye array_unique() mais vraiment pas sur que cela corresponde a ton cas.

Posté : 23 févr. 2009, 14:56
par coucou
Bonjour,

Je pense que ça doit être ça.

J'ai essayé et cherché sur le net comment l'utilisé et ou la mettre, j'ai pas réussi :cry:
On peut m'aider ?
Ou alors me donner un liens pour que je puisse voir de moi-même :wink:

Merci d'avance

Chris

Posté : 24 févr. 2009, 15:01
par leclaude
Bonjour,

Le plus simple si tu ne veux récupérer qu'une seule ligne sur des enregistrements multiples est de les sélectionner au moment de ta requête. De cette façon tu peux sélectionner sur n'importe quel champ.

Ex: tri sur le nom

$requete = "SELECT DISTINCT nom from etc....

Ainsi tu auras tous les noms de ta table mais en 1 seul exemplaire.

Salut
A bientôt

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 24 févr. 2009, 21:48
par coucou
Salut,

Si simple, pourquoi on cherche toujours compliqué :wink:

Merci beaucoup, ça fait 2 jours que je cherchais (pas à temps plein :D )

Chris