Impossible d'afficher ma Base de donnée (php)
Résolu/Fermé
A voir également:
- Impossible d'afficher ma Base de donnée (php)
- Formules excel de base - Guide
- Afficher mot de passe wifi android - Guide
- Easy php - Télécharger - Divers Web & Internet
- Supprimer une base de données phpmyadmin ✓ - Forum Logiciels
- Tnt base de données vide - Forum TNT / Satellite / Réception
3 réponses
bbar
Messages postés
436
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
31 octobre 2008
140
25 mars 2008 à 13:13
25 mars 2008 à 13:13
salut,
tu crées ta variable $MaRequete dans un bloc "if". De cette manière, il s'agit d'une variable locale, qui n'existe que dans ton bloc "if, ce qui fait qu'une fois sorti du "if", elle n'existe plus.
Plusieures solutions :
- la déclarer au début de ton code et l'initialiser à NULL avant de lui donner sa valeur dans le if
- la déclarer de type global dans le if : global $MaRequete.
Par ailleurs, tu as plus simple pour afficher un message d'erreur en cas de pb de connexion au serveur :
le "mysql_error()" t'affichant le message généré par MySQL.
tu crées ta variable $MaRequete dans un bloc "if". De cette manière, il s'agit d'une variable locale, qui n'existe que dans ton bloc "if, ce qui fait qu'une fois sorti du "if", elle n'existe plus.
Plusieures solutions :
- la déclarer au début de ton code et l'initialiser à NULL avant de lui donner sa valeur dans le if
- la déclarer de type global dans le if : global $MaRequete.
Par ailleurs, tu as plus simple pour afficher un message d'erreur en cas de pb de connexion au serveur :
$serveur = mysql_connect ($host,$user,$pw) or die (mysql_error(),"erreur de connexion");
le "mysql_error()" t'affichant le message généré par MySQL.
Bonjour
il s'agit d'une variable locale
en PHP, une variable est globale à tout le script, ou locale à une fonction, mais pas locale à une branche d'un if. Donc ta variable $MaRequete existe bien si tu passes par la branche, même après en être sorti.
Peux-tu faire un print_r($tuple), au début (à l'intérieur) de la boucle d'affichage du tableau ?
Détail : la somme des largeurs des éléments TD dépasse largement les 100%.
il s'agit d'une variable locale
en PHP, une variable est globale à tout le script, ou locale à une fonction, mais pas locale à une branche d'un if. Donc ta variable $MaRequete existe bien si tu passes par la branche, même après en être sorti.
Peux-tu faire un print_r($tuple), au début (à l'intérieur) de la boucle d'affichage du tableau ?
Détail : la somme des largeurs des éléments TD dépasse largement les 100%.
Lorsque je fais un print_r($tuple) juste après le while cela ne m'affiche aucune info de ma variable, peut-être que je ne le mets pas au bon endroit. Sinon lorsque je teste ma page cela m'affiche :
"; } //fermeture de la connection mysql_close($serveur); } ?>
Et dans un tableau, ce qui suit :
"; echo $tuple["Titre"]; echo "
"; echo $tuple["auteur_nom"]; echo "
"; echo $tuple["auteur_prenom"]; echo "
"; echo $tuple["LibType"]; echo "
"; echo $tuple["AnneeParution"]; echo "
"; echo $tuple["Editeur"]; echo "
"; } //fermeture de la connection mysql_close($serveur); } ?>
Et dans un tableau, ce qui suit :
"; echo $tuple["Titre"]; echo "
"; echo $tuple["auteur_nom"]; echo "
"; echo $tuple["auteur_prenom"]; echo "
"; echo $tuple["LibType"]; echo "
"; echo $tuple["AnneeParution"]; echo "
"; echo $tuple["Editeur"]; echo "
darkneurone
Messages postés
39
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
12 juin 2008
12
25 mars 2008 à 18:04
25 mars 2008 à 18:04
Bonjour, pourquoi as tu mis ça ?
if ($serveur)
{
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
}
?>
<table border=5 width=40%>
<?
{
while ($tuple=mysql_fetch_array($Recup))
{
Les accolades sont mal fermées/ouvertes, pourquoi ne mets tu pas simplement ça ?
if($server)
{ // ouverture du IF
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
?>
<table border=5 width=40%>
<?
while ($tuple=mysql_fetch_array($Recup))
{
//.... tout ton code jusqu'à...
//fermeture de la connection
mysql_close($serveur);
} // fermeture du IF
?>
Sinon tu as une alternative bien plus simple... penses aux echo ;)
if($server)
{ // ouverture du IF
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
echo '<table border=5 width=40%>';
while ($tuple=mysql_fetch_array($Recup))
{
//.... tout ton code jusqu'à...
//fermeture de la connection
mysql_close($serveur);
} // fermeture du IF
?>
tu peux appliquer ça dans tout ton code... ça te permet de ne pas te perdre dans les ouvertures/fermetures de balises php aussi... ^^
if ($serveur)
{
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
}
?>
<table border=5 width=40%>
<?
{
while ($tuple=mysql_fetch_array($Recup))
{
Les accolades sont mal fermées/ouvertes, pourquoi ne mets tu pas simplement ça ?
if($server)
{ // ouverture du IF
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
?>
<table border=5 width=40%>
<?
while ($tuple=mysql_fetch_array($Recup))
{
//.... tout ton code jusqu'à...
//fermeture de la connection
mysql_close($serveur);
} // fermeture du IF
?>
Sinon tu as une alternative bien plus simple... penses aux echo ;)
if($server)
{ // ouverture du IF
$MaRequete="SELECT * FROM bd";
//Envoi de la requête et la récupére
$Recup=mysql_query($MaRequete,$serveur);
echo '<table border=5 width=40%>';
while ($tuple=mysql_fetch_array($Recup))
{
//.... tout ton code jusqu'à...
//fermeture de la connection
mysql_close($serveur);
} // fermeture du IF
?>
tu peux appliquer ça dans tout ton code... ça te permet de ne pas te perdre dans les ouvertures/fermetures de balises php aussi... ^^