Web35 Posté 20 Janvier 2006 Posté 20 Janvier 2006 Bonjour, Je suis en train de réaliser une page en PHP pour afficher le contenu de deux tables situés dans la même base de donnée. Pour cela j'utilise une boucle, ca marche pour afficher le contenu de la premiere table puis celui de la seconde. Ensuite je veux repeter cette operation et réafficher d'autres données de la premiere table. Mais c'est a ce moment la que ca ne marche pas.... Il n'y a pas d'erreur dans la requete mais simplement la page arrete de s'afficher. Meme les elements du reste de la page situés en dessous ne s'affichent pas. Voici a quoi ressemble mon code (simplifié au max.) Affichage des données de la premiere table : $db = mysql_connect(localhost, ******, ******); mysql_select_db(base,$db); $sql = "SELECT * FROM `table` WHERE `id` LIKE '22%' "; $query = mysql_query($sql) or die ("Requête incorrecte"); $result = mysql_numrows($query); if ($result) { while ($rs = mysql_fetch_array($query)) {echo $rs["champ_a_afficher"]; } // Fin instruction while } else { echo "Pas de résultat"; } mysql_free_result($query); mysql_close($db); Affichage des données de la deuxieme table <?php$db = mysql_connect(localhost, ********, *******); mysql_select_db(base,$db); $sql = "SELECT * FROM `table2` WHERE `id` LIKE '22%' "; $query = mysql_query($sql) or die ("Requête incorrecte"); $result = mysql_numrows($query); if ($result) { while ($rs = mysql_fetch_array($query)) {echo $rs["champ_a_afficher"]; } // Fin instruction while } else { echo "Pas de résultat"; } mysql_free_result($query); mysql_close($db); Lorsque le code s'arrete là tout fonctionne mais c'est la suite qui pose probleme. $db = mysql_connect(localhost, ********, *******); mysql_select_db(base,$db); $sql = "SELECT * FROM `table1` WHERE `id` LIKE '40%' "; $query = mysql_query($sql) or die ("Requête incorrecte"); $result = mysql_numrows($query); if ($result) { while ($rs = mysql_fetch_array($query)) {echo $rs["champ_a_afficher"]; } // Fin instruction while } else { echo "Pas de résultat"; } mysql_free_result($query); mysql_close($db);
xpatval Posté 20 Janvier 2006 Posté 20 Janvier 2006 $result = mysql_numrows($query); Je ne connais que: $result = mysql_num_rows($query); Est-ce une erreur de frappe dans le post ? xpatval
Web35 Posté 20 Janvier 2006 Auteur Posté 20 Janvier 2006 Non, ce n'est pas une erreur les deux s'utilisent : msql_numrows(PHP 3, PHP 4, PHP 5) msql_numrows -- Alias de msql_num_rows() Description Cette fonction est un alias de la fonction msql_num_rows(). http://fr3.php.net/manual/fr/function.msql-numrows.php
MarvinLeRouge Posté 20 Janvier 2006 Posté 20 Janvier 2006 Salut, Dans le code indiqué, il est écrit mysql_numrows, avec un y, or celle-ci n'existe pas dans la doc.
Web35 Posté 21 Janvier 2006 Auteur Posté 21 Janvier 2006 Ok, j'ai changé tous les mysql_numrows par mysql_num_rows mais cela ne change rien. De plus, j'ai réalisé d'autres affichages de tables en utilisant mysql_numrows, sans que cela ne pose probleme.
xpatval Posté 21 Janvier 2006 Posté 21 Janvier 2006 Je vais dire deux trucs cons: 1- es-tu sur d'avoir des id dont le numéro commence par 40 ? 2- as-tu essayé cela (c'est à dire sans les quotes): $sql = "SELECT * FROM table1 WHERE id LIKE '40%' "; Et j'en rajoute un autre: 3- as-tu testé ta requête directement dans l'administrateur (phpmyadmin, par exemple) ? xpatval
Web35 Posté 21 Janvier 2006 Auteur Posté 21 Janvier 2006 1- j'ai bien des id dont le nom commence par 40 2- J'ai essayé sans les quotes, même resultat 3- La requete fonctionne sous PhpMyAdmin
MarvinLeRouge Posté 21 Janvier 2006 Posté 21 Janvier 2006 Et si tu rends ta requète plus généraliste (ex. : sans le where) ?
Web35 Posté 23 Janvier 2006 Auteur Posté 23 Janvier 2006 Bah c'est toujours pareil. Mais le truc c'est que ce n'est pas une erreur dans la requete puisqu'elle me renvoie des resultats quand je l'effectue en affichant le premier ensemble de données. Mais c'est lorsque je la repete en modifiant ID LIKE que ca ne fonctionne pas
xpatval Posté 23 Janvier 2006 Posté 23 Janvier 2006 Encore une couche: Essaie en modifiant le noms des variables $sql, $result, $query ($sql1, $result1, $query1). xpatval
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant