[php] la page n'affiche rien
Fermé
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
-
10 juin 2006 à 09:07
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 - 12 juin 2006 à 11:51
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 - 12 juin 2006 à 11:51
A voir également:
- [php] la page n'affiche rien
- Supprimer une page word - Guide
- Page d'accueil iphone - Guide
- Traduire une page web - Guide
- Créer une page facebook - Guide
- Pc qui s'allume mais n'affiche rien - Forum Matériel & Système
7 réponses
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
10 juin 2006 à 11:11
10 juin 2006 à 11:11
Salut !
Essaie peut-être comme ça :
Si ça marche, c'est que ça venait du fait que le if(mysql_num_rows... était inclus dans le while.
Or comme il n'y avait aucun résultat, le while ne n'exécutait pas, donc le if non plus (car inclus dans le while), et le else non plus (car lié au if, donc inclus dans le while aussi :-)
A+ :)
Essaie peut-être comme ça :
<? $entreprise=$_POST['entreprise']; ?> <? $dbc = @mysql_connect ("localhost", "zone_zone", "****"); if(!mysql_errno($dbc)) { mysql_select_db("zone_bdd"); $query = "SELECT * FROM telephonie WHERE". "entreprise='$entreprise'"; $result = mysql_query($query); while ($donnees = mysql_fetch_array($result) ) { // boucle vide ? } if(mysql_num_rows($result)==0) { echo 'pas bon'; } else { echo 'elle existe'; } } mysql_close(); ?>
Si ça marche, c'est que ça venait du fait que le if(mysql_num_rows... était inclus dans le while.
Or comme il n'y avait aucun résultat, le while ne n'exécutait pas, donc le if non plus (car inclus dans le while), et le else non plus (car lié au if, donc inclus dans le while aussi :-)
A+ :)
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
10 juin 2006 à 11:49
10 juin 2006 à 11:49
salut
merci
en fait ça marche car j'avais pas mi d'infos dans la table mais :
si une entreprise est présente, j'ai bien "elle existe" mais si le nom taper dans le formulaire n'existe pas dans la bdd, le script ne m'affiche rien? est-ce que ça vient toujours du {} dans while?
merci
merci
en fait ça marche car j'avais pas mi d'infos dans la table mais :
si une entreprise est présente, j'ai bien "elle existe" mais si le nom taper dans le formulaire n'existe pas dans la bdd, le script ne m'affiche rien? est-ce que ça vient toujours du {} dans while?
merci
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
10 juin 2006 à 11:55
10 juin 2006 à 11:55
Re,
est-ce que ça vient toujours du {} dans while?
Ben oui, c'est ce que je dis à la fin de mon message précédent :)
Si tu laisses le code comme il était :
- Si l'entreprise est présente dans la base, ça marche, parce que le while s'exécute, et donc le couple if/else (qui est inclus dans le while) s'exécute aussi.
- Mais si l'entreprise n'existe pas, le while ne s'exécute pas, et donc le couple il/else (qui est inclus dans le while) ne s'exécute pas non plus.
Il faut donc que le while d'une part, et le if/else d'autre part, soient clairement indépendants et séparés, et pour ça, il est préférable d'utiliser des accolades.
En règle générale, il vaut mieux mettre toujours des accolades pour toutes les structures (if, while, etc...), sans quoi le code risque d'être, comme ici, mal interprété :-)
Au fait, as-tu essayé avec le code que je t'ai donné ?
Normalement, ça devrait marcher (même dans le cas où l'entreprise recherchée n'est pas présente dans la base).
A+ :)
est-ce que ça vient toujours du {} dans while?
Ben oui, c'est ce que je dis à la fin de mon message précédent :)
Si tu laisses le code comme il était :
- Si l'entreprise est présente dans la base, ça marche, parce que le while s'exécute, et donc le couple if/else (qui est inclus dans le while) s'exécute aussi.
- Mais si l'entreprise n'existe pas, le while ne s'exécute pas, et donc le couple il/else (qui est inclus dans le while) ne s'exécute pas non plus.
Il faut donc que le while d'une part, et le if/else d'autre part, soient clairement indépendants et séparés, et pour ça, il est préférable d'utiliser des accolades.
En règle générale, il vaut mieux mettre toujours des accolades pour toutes les structures (if, while, etc...), sans quoi le code risque d'être, comme ici, mal interprété :-)
Au fait, as-tu essayé avec le code que je t'ai donné ?
Normalement, ça devrait marcher (même dans le cas où l'entreprise recherchée n'est pas présente dans la base).
A+ :)
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
10 juin 2006 à 12:14
10 juin 2006 à 12:14
re
maintenant avec les {} c'est l'inverse ! quand l'entreprise existe, on ne voit pas les résultats et quand l'entreprise n'existe pas on voit bien le message d'erreur !
code actuel :
maintenant avec les {} c'est l'inverse ! quand l'entreprise existe, on ne voit pas les résultats et quand l'entreprise n'existe pas on voit bien le message d'erreur !
code actuel :
<? $entreprise=$_POST['entreprise']; ?> <? $dbc = @mysql_connect ("localhost", "zone_zone", "****"); if(!mysql_errno($dbc)) { mysql_select_db("zone_bdd"); $query = " SELECT * FROM telephonie WHERE entreprise='$entreprise'"; $result = mysql_query($query); while ($donnees = mysql_fetch_array($result) ){ } if(mysql_num_rows($result)==0) {?> <html> Cette entreprise n'existe pas </html> <? } else{?> <html><table><tr><td> <br> Voici les résultats trouvés : <br> Entreprise :<? echo $donnees['entreprise'];?> <br> Numero non surtaxé :<?echo $donnees['numero1'];?> <br> Numero surtaxé :<? echo $donnees['numero2'];?> <br> Description :<? echo $donnees['description'];?> </td> </tr> </table></html> <? } } mysql_close(); ?>
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
10 juin 2006 à 13:06
10 juin 2006 à 13:06
Salut !
Je ne sais pas si ça vient de là, mais on ne sait jamais ;-)
1°) Le requête, je l'écrirais plutôt comme ça :
2°) Pour les tests, je ferais l'inverse :
Si ça ne marche toujours pas, j'essaierai de tester le code, pour tenter de voir d'où vient le problème :)
A+ :)
Je ne sais pas si ça vient de là, mais on ne sait jamais ;-)
1°) Le requête, je l'écrirais plutôt comme ça :
$query = "SELECT * FROM telephonie WHERE entreprise='$entreprise'";(sans retour à la ligne)
2°) Pour les tests, je ferais l'inverse :
if (mysql_num_rows($result)>0) { echo "L'entreprise existe"; } else { echo "L'entreprise n'existe pas"; }
Si ça ne marche toujours pas, j'essaierai de tester le code, pour tenter de voir d'où vient le problème :)
A+ :)
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
10 juin 2006 à 14:15
10 juin 2006 à 14:15
re
j'ai fais comme tu m'as dis mais :
j'ai remplacer ==0 par >0 et :
si je met des echo dans le if et dans le else, j'ai le bon message l'ors de la demande d'entreprise mais moi mon script doit faire :
si il trouve l'entreprise, il affiche : entreprise , numero non surtaxé, numero surtaxé, description. Mais comme ça, il ne me met pas les résultats de mysql tu comprend?
avec le code ci-dessous si l'entreprise est présente, il ne me met pas les résultats de mysql mais sinon il met bien les messages d'erreurs, si l'entreprise n'existe pas peux-tu me corriger ça?
merci
j'ai fais comme tu m'as dis mais :
j'ai remplacer ==0 par >0 et :
si je met des echo dans le if et dans le else, j'ai le bon message l'ors de la demande d'entreprise mais moi mon script doit faire :
si il trouve l'entreprise, il affiche : entreprise , numero non surtaxé, numero surtaxé, description. Mais comme ça, il ne me met pas les résultats de mysql tu comprend?
avec le code ci-dessous si l'entreprise est présente, il ne me met pas les résultats de mysql mais sinon il met bien les messages d'erreurs, si l'entreprise n'existe pas peux-tu me corriger ça?
merci
<? $entreprise=$_POST['entreprise']; ?> <? $dbc = @mysql_connect ("localhost", "zone_zone", "*****"); if(!mysql_errno($dbc)) { mysql_select_db("zone_bdd"); $query = "SELECT * FROM telephonie WHERE entreprise='$entreprise'"; $result = mysql_query($query); while ($donnees = mysql_fetch_array($result) ){ } if(mysql_num_rows($result)>0) {?> <html> Entreprise :<? echo $donnees['entreprise'];?> <br> Numéro non surtaxé :<? echo $donnees['numero1'];?> <br> Numéro surtaxé :<? echo $donnees['numero2'];?> <br> Description :<? echo $donnees['description'];?> <br> </html> <? } else{?> <html> Désolé, mais aucun numéros non surtaxés, n'est présent dans la base de donnée pour cette entreprise </html> <? } } mysql_close();?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
11 juin 2006 à 11:36
11 juin 2006 à 11:36
salut
alors tu trouve quelque chose?
merci
alors tu trouve quelque chose?
merci
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
11 juin 2006 à 22:17
11 juin 2006 à 22:17
Re,
Normalement, ça devrait marcher comme ça :
• Notes :
- Le while doit donc être inclus dans le if(num>0),
- Les instructions d'affichage (le code qui sert à afficher les informations) doivent absolument être dans le while.
- Plutôt que de fermer/ouvrir tout le temps la balise <? ?>, il est préférable, lorsque le texte affiché n'est pas très long, comme ici, d'utiliser echo 'mon texte'.$ma_variable.'mon texte suite';
A+ :)
Normalement, ça devrait marcher comme ça :
<? $entreprise=$_POST['entreprise']; ?> <? $dbc = @mysql_connect ("localhost", "zone_zone", "*****"); if(!mysql_errno($dbc)) { mysql_select_db("zone_bdd"); $query = "SELECT * FROM telephonie WHERE entreprise='$entreprise'"; $result = mysql_query($query); if(mysql_num_rows($result)>0) { while ($donnees = mysql_fetch_array($result) ){ echo '<html> Entreprise :'.$donnees['entreprise'].'<br> Numéro non surtaxé :'.$donnees['numero1'].'<br> Numéro surtaxé :'.$donnees['numero2'].'<br> Description :'.$donnees['description'].'<br> </html>'; } } else { echo '<html> Désolé, mais aucun numéros non surtaxés, n\'est présent dans la base de donnée pour cette entreprise </html>'; } } mysql_close(); ?>
• Notes :
- Le while doit donc être inclus dans le if(num>0),
- Les instructions d'affichage (le code qui sert à afficher les informations) doivent absolument être dans le while.
- Plutôt que de fermer/ouvrir tout le temps la balise <? ?>, il est préférable, lorsque le texte affiché n'est pas très long, comme ici, d'utiliser echo 'mon texte'.$ma_variable.'mon texte suite';
A+ :)
fabrice11901
Messages postés
787
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
12 juillet 2007
64
12 juin 2006 à 07:24
12 juin 2006 à 07:24
Salut
C'est bon ça marche !
Effectivement j'avais pas pensé à mettre le if au-dessus de while !
merci beaucoup !
Fabrice
C'est bon ça marche !
Effectivement j'avais pas pensé à mettre le if au-dessus de while !
merci beaucoup !
Fabrice
Thom@s
Messages postés
3412
Date d'inscription
mardi 4 mars 2003
Statut
Modérateur
Dernière intervention
28 septembre 2019
678
12 juin 2006 à 11:51
12 juin 2006 à 11:51
De rien ;-)