Affichage d'un select

alb74

Nouveau membre
Bonjour j'ai 2 tables pour un module de citation, 1 pour les catégories (c-à-d les différents auteurs) et 1 pour le texte (c-à-d les citations), j'en suis dans la configuration de mon admin, lorsque je veux editer une citation j'affiche le nom de l'auteur et son texte, le nom de l'auteur peut etre modifié par une liste déroulante, ce que je cherche à faire c'est que le nom qui apparait dans le menu déroulant soit celui qui correspond à la citation que je modifie car pour l'instant ca m'affiche le 1er nom de la liste. Ce qui est embetant c'est que si on oublie de reselectionner le nom de l'auteur on la met (la citation) dans le 1er auteur. Je ne sais pas trop si je suis clair !
table 1 pour les catégories: id_cat, categorie, nom de la table citation_cate
table 2 pour les citations : id, id_cat, text, nom de la table citation

[cpp]
<table><tr>
<form action=\"".$ThisFile."&subop=changecitation\" method=\"post\" name=\"changecitation\">
<td>Modifier cette citation de $categorie</td>
</tr>
<tr><td>Citation</td></tr>
//affichage citation
$query = mysql_query("SELECT * FROM ".$NPDS_Prefix."citation WHERE id='$id'");
while (list($id,$id_cat,$text)=mysql_fetch_array($query)) {
<input type=\"hidden\" name=\"id\" value=\"$id\">
<input type=\"hidden\" name=\"id_cat\" value=\"$id_cat\">
<tr $rowcolor align=\"center\">
<td rowspan=\"3\"><textarea>$text</textarea></td>
</tr>
//affichage catégorie
<tr><td><select value=\"$categorie\" name=\"newcategorie\">
$sql = mysql_query("SELECT id_cat,categorie FROM ".$NPDS_Prefix."citation_cate order by categorie ASC");
while (list($id_cat,$categorie) = mysql_fetch_array($sql)) {
<option value=\"$id_cat\">$categorie</option> }
</select></td>
</tr>
<tr>
<td><input type=\"submit\" name=\"mettre a jour\" VALUE=\"Valider\" /></td>
</tr>}
</form></table>\n";
[/cpp]

Merci !
 

KangOl

Grand Maître
faut mettre
Code:
selected="selected"
a l'<option> qui doit etre sélectionnée..
 

alb74

Nouveau membre
Je ne comprend pas, le problème (je crois) est que la catégorie s'affiche avec le $catégorie et que dans mon 2eme while je vais chercher pour le select toute les catégories ($categorie) ca doit rentrer en conflit :??:
 

KangOl

Grand Maître
oui fait pas réutiliser la variable $id_cat

de plus, il serait préférable de ne pas recharger toutes les catégories a chaque fois.
 

alb74

Nouveau membre
Pour l'id_cat je comprend, quand au catégorie je suis bien obligé si je veux la changer !
 

KangOl

Grand Maître
non
pas besoin de refaire ta requete a chaque fois vu qu'elle ne change pas ...
 

boub popsyteam

Grand Maître
Bah non tu fais ta requete à chaque iteration de la boucle au lieux de boucler avec le tableau renvoyé ;)
 

alb74

Nouveau membre
Bonjour, j'ai trouvé en faisant comme ca et ca marche :

[cpp]
echo "<select value=\"$categorie\" name=\"newcategorie\">\n";
$result = mysql_query("select id_cat,categorie from ".$NPDS_Prefix."citation_cate order by categorie ASC");
while($categorie = mysql_fetch_assoc($result)) {
echo "<option value=\"".$categorie["id_cat"]."\"";
if($categorie["id_cat"] == $id_cat)
echo " selected=\"selected\"";
echo ">".$categorie["categorie"]."</option>\n";
}
echo "</select>\n";
[/cpp]
 

boub popsyteam

Grand Maître
Que j'optimiserais en changeant les " en ' autant que possible :ange:
 

metalbe

Nouveau membre
bonjours! comment afficher plusieur requette sql d' une table ex:
- SELECT dossier FROM mon_table where date= "24" groupe by dossier
- SELECT nomlot FROM mon_table where date= "24" groupe by dossier
- SELECT numdoc FROM mon_table where date="24" groupe by dossier
et on afficher sur un table seulement
Merci à tous
 

zeb

Modérateur
( :/ Tu ne veux pas créer ton propre sujet ? )

Est-ce que ceci répond à ta question : [fixed]SELECT dossier,
nomlot,
numdoc
FROM mon_table
WHERE date = '24'
GROUP BY dossier[/fixed]
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 001
Membres
1 586 388
Dernier membre
mery2005
Partager cette page
Haut