Gille59
Messages postés23Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 7 octobre 2012
-
12 mars 2012 à 07:23
Gille59
Messages postés23Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 7 octobre 2012
-
12 mars 2012 à 16:26
Bonjour,
Problème de checked après un WHILE :
Le script fonctionne sans le checked,
$taille++ est pour mettre un nombre sur le mot "taille" exemple : taille1, taille2 etc. :
----------------
$req = mysql_query("SELECT taillevet FROM taillefemme") or die ("erreur requête taillefemme");
$taille=1;
while ( $resul = mysql_fetch_array ($req))
{
$taille<=20;
echo ''.$resul['taillevet'].'';
}
----------------
Je voudrais que si la case est coché un checked se met:
Problème, ça me renvoi les nombres "taille" en 2,4,6 etc. au lieu de 1,2,3 etc.
La commande "$resultat" appelle un autre script plus haut et égualement sous un WHILE,
------------------
$req = mysql_query("SELECT taillevet FROM taillefemme") or die ("erreur requête taillefemme");
$taille=1;
while ( $resul = mysql_fetch_array ($req))
{
$taille<=20;
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012 12 mars 2012 à 12:24
Au fait,
Premièrement, qd tu fais $taille<=20; ca te retourne 1 ou 0 dépendant du nombre s'y trouvant mais en gros ça ne sert à rien puisque tu ne t'en sert pas.
Deuxièment, bien que l'explication ne soit pas des plus exhaustives, j'ai l'impression que ton problème de taille vient des $taille++ que tu fais lors de ta vérif "$resultat['taille'.$taille++.''] == $resul['taillevet']", mais aussi lorsque tu fais l'echo en dessous où tu mets l'attribut checked.
Tu fais 2 $taille++, alors que tu veux (j'imagine) le input que tu génères ds le echo à "checked" avec un attribut "name" ayant la même valeur dans la variable "$taille" qu'au-dessus. Ce qui n'est pas le cas pour l'instant.
En suivant ton code, voilà ce que ça donne.
Imaginons $taille à 1.
Dans le if, il vaut tjs 1
Après le if, il vaut 2
Dans le echo, il vaut tjs 2
Après le echo, il vaut 3
En recommençant la boucle while, il vaut 3
Dans le if, il vaut tjs 3
Après le if, il vaut 4, ect...
Gille59
Messages postés23Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention 7 octobre 2012 12 mars 2012 à 14:07
Bonjour
Merci de vouloir m'aider.
J'avais bien compris que le taille++ en 2 fois donne deux fois le chiffre, d'où le saut d'un n°, de 1 à 3 ou de 2 à 4.
le if cherche les colonnes taille1, taille2 etc.
Si je ne mets pas taille++ dans le if mais directement taille1, ça ne marche que sur taille1.
Donc sans utiliser taille++, comment faire pour que le if aille chercher le taille1 le taille2 etc. ?
-------------------------
en fait pour arriver à ce que je veux sans utiliser le taille++
dans le if, j'ai dû faire un script select cherchant le id de la colonne taille.
Mais ça me fais un trop long script avec 26 appel de select en id. (pour homme et pour femme)
-----------------------------
le script que j'utilise :
$req1 mysql_query("SELECT tailleint FROM taillehomme WHERE id '1'") or die ("erreur requête taillefem1");
$tailfem1 = mysql_fetch_array ($req1);
if ($resultat['taille1'] == $tailhom1['tailleint'])
{
$checked = "checked='checked'";
} else {
$checked = "";
}
echo '
'.$tailhom1['tailleint'].' ';
-----------------------------
répété 26 fois ce qui donne un très long script, alors qu'avec le WHILE c'est beaucoup plus court.
En fait je cherche à amélioré mes scripts pour être moins lourd.
Gille59 Le gars du Nord
Vous n’avez pas trouvé la réponse que vous recherchez ?