Variable dans menu déroulant php

Fermé
leod Messages postés 98 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 30 janvier 2009 - 14 févr. 2008 à 18:32
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 - 14 févr. 2008 à 23:09
Bonjour a tous
ma question va vous sembler bête comme chou
mais impossible de trouver la réponse après des heures d'essai .....

voici la portion de code qui me pose problème :

$form2="
<center>
<table>
<form method=\"POST\">
<tr><td><b>Sous Catégorie : </b>
<select name=sscategorie>
<option selected value=\"0\">choisissez une sous catégorie</option>
$i=0;
while ($i<$nbscat)
{
$uid2= $categorie_tab2[$i]['uid'];
$nomdescat2= $categorie_tab2[$i]['nom'];
<option value=\"$uid2\">$nomdescat2</option>
$i=$i+1;
}
</select></td></tr>
<tr><td style=\"text-align:center;\"><input type=submit name=go2 value=\"Poster votre annonce\"></td></tr>
</form>
</table>
</center>
";

donc ma question est simple comment faire pour que la variable $nomdescat2 s'affiche dans le menu déroulant
j'ai essayé sans succés :

\"$nomdescat2\"
".$nomdescat2."
'$nomdescat2'
...

dites moi comment faire car la j'explose

merci d'avance
A voir également:

3 réponses

croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
14 févr. 2008 à 19:04
Bonjour

A moins que tu ais une raison fondamentale de mettre ton code dans une variable php, je te recommanderais de faire un script comme ci-dessous :

<center>
<form method="POST">
<table>
<tr>
<td><b>Sous Catégorie : </b>
<select name=sscategorie>
<option selected value="0">choisissez une sous catégorie</option>
<?php
$i=0;
while( $i < $nbscat )
{
$uid2 = $categorie_tab2[$i]['uid'];
$nomdescat2 = $categorie_tab2[$i]['nom'];
echo '<option value="' . $uid2 . '">' . $nomdescat2 . '</option>';
$i=$i+1;
}
?>
</select>
</td>
</tr>
<tr>
<td style="text-align:center;">
<input type=submit name=go2 value="Poster votre annonce">
</td>
</tr>
</table>
</form>
</center>

Ceci me sembme plus orthodoxe.
0
leod Messages postés 98 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 30 janvier 2009 2
14 févr. 2008 à 20:24
oui effectivement c'est plus clair je l'accorde mais le reste de mon code m'oblige a essayer comme ceci
car en essayant ton code (chose que j'avais deja essayé seul ca merde et je ne sais pas trop pourquoi

ce qui va autour :

...

if($ok==1)
{
require('connection/start.php');
$requete5 = mysql_query("SELECT * FROM categorie where attachement=$categorieb ");
$nbscat = mysql_affected_rows();
$i=0;
while ($donnees5 = mysql_fetch_array($requete5))
{
$categorie_tab2[$i]['nom']=$donnees3['nom'];
$categorie_tab2[$i]['uid']=$donnees3['uid'];
$i=$i+1;
}
require('connection/stop.php');
?>
<center>
<form method="POST">
<table>
<tr>
<td><b>Sous Catégorie : </b>
<select name=sscategorie>
<option selected value="0">choisissez une sous catégorie</option>
<?php
$i=0;
while( $i < $nbscat )
{
$uid2 = $categorie_tab2[$i]['uid'];
$nomdescat2 = $categorie_tab2[$i]['nom'];
echo '<option value="' . $uid2 . '">' . $nomdescat2 . '</option>';
$i=$i+1;
}
?>
</select>
</td>
</tr>
<tr>
<td style="text-align:center;">
<input type=submit name=go2 value="Poster votre annonce">
</td>
</tr>
</table>
</form>
</center>
<?php
}

...

voila si ca peu aider

comme ceci les catégorie proposé sont blanche (rien ecrit)

edit : je suis un boulet , mauvaise variable voir ce qui est surligné en gras ^^
ben quoi je suis un peu fatiguer ^^

en tout cas merci de tes reponses
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
14 févr. 2008 à 23:09
J'écrirais plutôt la lecture de la base comme ça :

require('connection/start.php');
$requete5 = mysql_query(
"SELECT * FROM categorie where attachement='"
. $categorieb . "'")
or die("le SELECT ne marche pas" );
$nbscat = mysql_affected_rows();
while ($donnees5 = mysql_fetch_array($requete5))
{
$categorie_tab2[] = array( 'nom' => $donnees3['nom'],
'uid' => $donnees3['uid'] );
}
require('connection/stop.php');
echo '<b>...'; var_dump( $categorie_tab2);

1. ajouté des quotes autour de $categorieb après le = du SELECT : si ta colonne attachement est un string c'est indispensable
2. ajouté un die pour vérifier que le query se déroule bien
3. modifié l'initialisation du tableau $categorie_tab2 : je préfère ainsi
4. ajouté un var_dump pour vérifier que le tableau est bien initialisé

Qu'est-ce-que ça donne ?
0