murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006
-
15 août 2005 à 11:43
murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006
-
16 août 2005 à 12:23
Bonjour !
J'espere que je poste au bon endroit ma question, j'ai prefere la
mettre ici en debutant, car il me semble que c'est trois fois rien,
mais je me souviens plus comment le faire.
Je m'explique en detail :
J'ai une table ecole dans laquelle les renseignements sont stockes,
chaque ecole a un type particulier, elle peut etre Primaire, college,
etc... et quelques ecoles ont une subdivision du type : Comprehensive,
community, et autre.
Jusque la rien de bien mechant, j'ai un formulaire qui me recupere tout
ca en liste deroulante. Par contre le soucis et donc l'objet de ma
question est que j'aimerai dans ma liste deroulante un champs vide, ou
une entree pour le cas ou l'ecole n'est pas de subdivision. Si mon
ecole est primaire tout simplement, le formulaire me propose le premier
champs dans la liste deroulante des subdivision, ce qui va generer une
erreur lors de l'enregistrement des modification car il va me prendre
cette ID et me l'enregistrer alors que je n'en veux pas.
Pour le moment j'ai fait ca, je pensais que cela fonctionnerait mais non.... Flutte !!
$sqlstype= "SELECT * FROM type limit 4,9";
$resultstype = mysql_query($sqlstype) or die(' '.$error.' : '.$sqlstype.'
'.mysql_error());
while ($stype = mysql_fetch_array($resultstype))
{
echo '<option value="'.$stype['idtype'].'" ';
if ($stype['idtype']==$stypeplus) {
print "selected";}
else {
print " ";}
echo '>'.$stype['type'].'</option>';
}
echo "</select>
J'ai fait un if, pour justement qu'il verifie si la valeur est ok ou
non de la table ecole a la table type, si oui il me donne le nom qui
correspond. Mais au niveau du Else ca bloque, je lui ais demande de
rien mettre, mais il insiste pour m'afficher quand meme la premiere
valeur de ma liste deroulante !!!
Voila, si quelqu'un a une idee, je vous remercie d'avance et j'espere avoir bien explique mon soucis.
gaussprodada
Messages postés14Date d'inscriptionlundi 11 août 2003StatutMembreDernière intervention12 décembre 2007 15 août 2005 à 12:12
Salut les mecs c'est Gauss,
Si j'ai bien compris voici ce que je te propose de faire
tu pourrais simplement prévoir un enregistrement du genre "aucune
subdivision ". // ce te faciliterait la tache non !!!
à coté de ça tu peux essayer ça aussi
/*une variable de type booleen ki te di s'il a trouve $stypeplus dans la table type
si non tu ajoute un champ vide à la fin que tu me en "selected "
voici une proposition de code source
*/
$trouve_type='0' // false;
$sqlstype="SELECT * FROM type limit 4,9";
$resultstype = mysql_query($sqlstype) or die(''.$error.' :
'.$sqlstype.'
'.mysql_error());
while ($stype = mysql_fetch_array($resultstype))
{
echo '<option value="'.$stype['idtype'].'" ';
if ($stype['idtype']==$stypeplus) {
print "selected";
$trouve_type='1' ; true; // le cas écheant
}
echo '>'.$stype['type'].'</option>';
}
if($trouve_type=='0'){
echo " < option value=" blablabla "> ton vide la </option> // bè voila
}
echo "</select>
murrigane
Messages postés88Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention19 mai 2006 15 août 2005 à 12:38
Je vous remercies beaucoup !
C'est bien ce que je pensais, c'etait tout bete ... Je l'avais deja
fait une fois pour une autre requete mais pas moyen de remettre la main
dessus !
(Enfin j'avais fait un truc du genre)
J'ai accepte vos deux reponses, qui fonctionne toutes les deux, mais en
fait j'ai retenu celle de Gauss, dont j'ai mieux pige le
fonctionnement. Je suis pas encore familliere des methodes avec
mysql_fetch_row que j'ai du mal a bien piger.
Enfin, dans tout les cas, je vous remercie beaucoup et si toutefois
Anthomicro voulait m'expliquer le fonctionnement de sa proposition je
serai ravie
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 15 août 2005 à 23:16
en fait lorsque tu sélectionnes des champs dans ta table :
SELECT champ1,champ2 FROM table
tes champs via le mysql_fetch_row() prennent des indices qui commencent à zéro pour le champ 1, 1 pour le champ2, etc...
Ce qui fait que pour récupérer les valeurs au lieu de faire
$row['champ1'] pour le champ1 et $row['champ2'] pour le champ2 dans ton
fetch_array() tu prends un fetch_row() qui est plus rapide et pour
récupérer le champ1 ce sera $row[0] et pour le champ2 ce sera $row[1]
Vous n’avez pas trouvé la réponse que vous recherchez ?