Je ne comprend pas la requête

Eléphant du PHP | 331 Messages

09 janv. 2006, 23:15

Merci,

Mais sa n'a fait aucun changement.

Si je regarde dans le code source pour la seconde liste déroulant, j'ai toujours

Code : Tout sélectionner

<select name="sous_categorie_id" id="sous_categorie_id"> </select>
qui reste affiché.

Merci en espérant que tu pourra m'aider à nouveau!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

09 janv. 2006, 23:38

rajoute un else pour vider le contenu du div:
if(cpt==1) // affichage de la liste que s'il y a au moins un élément
    document.getElementById("blocDepartements").innerHTML = form_d;
else
    document.getElementById("blocDepartements").innerHTML = "";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 331 Messages

11 janv. 2006, 16:36

Ça ne fonctionne toujours pas.

J'ai bien regardé la page contenant le code php et les requête mysql et je me demande si je ne devrais pas mettre une condition sur :

Code : Tout sélectionner

/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */ if(isset($idr) && $idr != -1) { // Cération de la requête pour avoir les départements de cette région $sql2 = "SELECT `id`, `nom` FROM `sous_categories_formations` WHERE `categorie_id` = ". $idr ." ORDER BY `id`;"; $nbsc = mysql_num_rows($sql2); if($connexion != false) { $rech_sous_categorie = mysql_query($sql2, $connexion); // Un petit compteur pour les départements $nd = 0; // On crée deux tableaux pour les numéros et les noms des départements $code_sous_categorie = array(); $nom_sous_categorie = array(); // On va mettre les numéros et noms des départements dans les deux tableaux while($ligne_sous_categorie = mysql_fetch_assoc($rech_sous_categorie)) { array_push($code_sous_categorie, $ligne_sous_categorie['id']); array_push($nom_sous_categorie, $ligne_sous_categorie['nom']); $nd++; } //Maintenant on peut construire la liste déroulante echo "<tr>"; echo "<td><B>Sous-cat&eacute;gorie:</B></td>\n"; echo "<td class=\"etoile\">\n"; echo "<select name=\"sous_categorie_id\" id=\"sous_categorie_id\">\n"; for($d = 0; $d<$nd; $d++) { echo "<option value=\"".($code_sous_categorie[$d])."\" ".((isset($sous_categorie_selectionne) && $sous_categorie_selectionne == $code_sous_categorie[$d])?" selected=\"selected\"":null).">\n"; echo($nom_sous_categorie[$d]." (". $code_sous_categorie[$d] .")"); echo "</option>\n"; } echo "</select>\n"; } // Un petit coup de balai mysql_free_result($rech_sous_categorie); }
Comme tu peux voir sous la requête mysql j'ai mis

Code : Tout sélectionner

$nbsc = mysql_num_rows($sql2);
Je me servirais de ce résultat pour faire exécuter le code php si $nbsc est supérieur ou égale à 1.

Mais j'obtien l'erreur suivante:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\communauweb\web\liens_educatifs\test.php on line 67

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 janv. 2006, 20:29

mysql_num_rows() attend une resource et non un string contenant la requete, tu as oublié l'étape d'exécution de la requete => mysql_query()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 331 Messages

11 janv. 2006, 22:30

Merci, enfin sa fonctionne!