Afficher donnée de la bdd
voila j'ai un probleme pour afficher les donnée de ma bdd
j'ai fais ça mais ça ne marche pas je ne sais pas les fair apparaitre
</div id="actu" width="600px">
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$reponse = mysql_query("SELECT * FROM news");
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p>
<strong>titre</strong> : <?php echo $donnees['titre']; ?><br />
<?php echo $donnees['contenu']; ?>
</p>
<?php
}
mysql_close();
?>
</div>
Configuration: Windows XP Firefox 2.0.0.14
12 réponses
Le problème concerne l'affichage des données d'une base MySQL dans une page, car le script PHP ne parvient pas à afficher correctement les résultats depuis la requête. Des éléments essentiels consistent à corriger la structure HTML et à sécuriser l'exécution du code PHP, notamment en plaçant l'affichage dans des balises appropriées et en effectuant une connexion MySQL suivie d'une requête. En pratique, utiliser une boucle while récupère chaque ligne et affiche les champs titre et contenu, en évitant les erreurs de fermeture des balises et en fermant correctement la connexion. En cas d'absence d'affichage, vérifier que le fichier porte bien l'extension .php et que le serveur autorise l'exécution de PHP.
-
Salut chronosXIII
essai de mettre mysql_fetch_row à la place de mysql_fetch_array-
-
@chronosXIII^^
a la place de ton array, mets :$requete_sql="select * from TaTable"; //texte de la requête $res=mysql_query("$requete_sql"); // exécution de ta requête $row = mysql_fetch_row($res); // sélectionné le résultat
Pour afficher les résultats de ta requête, tu fais :echo $row[0]; //résultat de la première colonne echo $row[1]; //résultat de la deuxième colonne
Et tu continues. Tu peux bien sur le faire dans une boucle! -
@feezj'ai essayé sous cette forme la
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$requete_sql="select * from news";
$res=mysql_query("$requete_sql");
$row = mysql_fetch_row($res);
while ($row)
{
<strong>titre</strong> : echo $row[1]; </br>
echo $row[2];
}
mysql_close();
?>
mais comme resutat j'ai
titre : echo $row[1];
echo $row[2];
} mysql_close(); ?> -
@chronosXIIIpour ta boucle, fais ça.
indice=0; while($row = mysql_fetch_row($res)) { echo $row[indice]; indice=indice+1; }
Ca devrait marcher je pense -
@chronosXIII<?php
while ($row)
{
echo "<strong>titre</strong> : ".$row[1]."</br>";
echo $row[2];
}
?>
-
-
Si ça te mets ça comme ça, c'est que t'as fait une erreur de gillemets ou de parenthèses. Copie colle ce code :
$nom_serveur_MYSQL="localhost" ; $utilisateur="root" ; $mot_de_passe="" ; if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe")) { echo"Vous êtes maintenant connecté à MySQL.<BR>"; } else { echo"La connexion à MySQL a échoué.<BR>"; } $nom_de_la_base="test" ; if (mysql_select_db("$nom_de_la_base")) { echo"Vous êtes maintenant connecté à la base.<BR>"; } else { echo"La connexion à la base a échoué.<BR>"; }-
faut bien le mettre entre balise <?php ?>
si oui ça me met exaactement comme au dessus
inon l'erreur vient peut etre du code précedent le php
<html>
<head>
<title>bienvenue sur le site de la société ********</title>
<link rel="shortcut icon" type="image/x-icon" href="images/icon.png" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
</style>
</head>
<body>
<center>
<tr><td>
<center>
<table width="700" background="images/pljk6.jpg" border="1">
<tr><td>
<div id="ban"></div>
</div id="actu" width="600px">
<?php
$nom_serveur_MYSQL="localhost" ;
$utilisateur="root" ;
$mot_de_passe="" ;
if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe"))
{
echo"Vous êtes maintenant connecté à MySQL.<BR>";
}
else
{
echo"La connexion à MySQL a échoué.<BR>";
}
$nom_de_la_base="test" ;
if (mysql_select_db("$nom_de_la_base"))
{
echo"Vous êtes maintenant connecté à la base.<BR>";
}
else
{
echo"La connexion à la base a échoué.<BR>";
}
?>
</div>
<center><img src="images/mousse.png"></center>
</div>
</body>
</html> -
j'ai vu que tu utilisais Firefox. Faut faire gaffe à tout au niveau du code php et html. Entre autre, pour les balises php, il faut pas mettre :
<? ?>
mais il faut mettre :<?php ?>
C'est très pointilleux. Il est très sensible aux guillemets, accolades ou autre. Tout foire très rapidement. Si ca continue à foiré, installe notepad++ (si tu l'as pas déjà), vas sur ton site web avec ton navigateur. Quand t'es sur ta page, click droit --> afficher la source. Tu verra peut être ce qui foire. -
@chronosXIIIEffectivement, ca va pas dans tes balises <div>.
Copie cole ce code :<html> <head> <title>bienvenue sur le site de la société ********</title> <link rel="shortcut icon" type="image/x-icon" href="images/icon.png" /> <link href="css/style.css" rel="stylesheet" type="text/css" /> <style type="text/css"> </style> </head> <body> <center> <tr><td> <center> <table width="700" background="images/pljk6.jpg" border="1"> <tr><td> <div id="ban"></div> <div id="actu" width="600px"> <?php $nom_serveur_MYSQL="localhost" ; $utilisateur="root" ; $mot_de_passe="" ; if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe")) { echo"Vous êtes maintenant connecté à MySQL.<BR>"; } else { echo"La connexion à MySQL a échoué.<BR>"; } $nom_de_la_base="test" ; if (mysql_select_db("$nom_de_la_base")) { echo"Vous êtes maintenant connecté à la base.<BR>"; } else { echo"La connexion à la base a échoué.<BR>"; } ?> <center><img src="images/mousse.png"></center> </div> </body> </html>
-
-
bah je met toujour <?php ou alors oubli de ma part ...
-
oui je viens de le voir ^^
mais ça affiche pareil :/-
Fais un petit test. Crées un fichier "connexion.php"
Dedans, met ce code :<?php $nom_serveur_MYSQL="localhost" ; $utilisateur="root" ; $mot_de_passe="" ; if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe")) { echo"Vous êtes maintenant connecté à MySQL."; } else { echo"La connexion à MySQL a échoué."; } $nom_de_la_base="test" ; if (mysql_select_db("$nom_de_la_base")) { echo"Vous êtes maintenant connecté à la base."; } else { echo"La connexion à la base a échoué."; } ?>
Tu le testes. Si ca marche alors c'est cool. -
@feezseul ça me met vous etes connecté 2 fois
-
@chronosXIIIc'est à dire? connecté deux fois?????
-
@feezsi ça te met :
vous êtes connecté à mysql.
vous êtes connecté à la base.
ca veut dire que ca marche. -
@feezmais quand je met l'ancien code que tu ma paé ça marche pas :/
-
-
bah les deux vous etes connecté my sql et la base voila exactement ce que ça met
Vous êtes maintenant connecté à MySQL.Vous êtes maintenant connecté à la base.-
-
Garde ton fichier connexion.php et mets le dans le même dossier que ta page web. Tu vas l'inclure dans ton code html comme ça :
<html> <head> <title>bienvenue sur le site de la société ********</title> <link rel="shortcut icon" type="image/x-icon" href="images/icon.png" /> <link href="css/style.css" rel="stylesheet" type="text/css" /> <style type="text/css"> </style> </head> <body> <center> <tr><td> <center> <table width="700" background="images/pljk6.jpg" border="1"> <tr><td> <div id="ban"></div> <div id="actu" width="600px"> <?php include("connexion.php"); ?> <center><img src="images/mousse.png"></center> </div> </body> </html>
Normalement, ca devrait marcher...
-
-
sur ce code ça me met parse error unexpected '=' ligne 11
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$requete_sql="select * from news";
$res=mysql_query("$requete_sql");
?>
<strong>titre</strong> :
<?php
indice=0;
while ($row = mysql_fetch_row($res); )
{
echo $row[indice];
indice=indice+1;
}
mysql_close(); ?> -
elle m'en aura poser des probleme cette page d'actu :/
toutça pour afficher
titre : bla bla
et texte de l'artcile
^^-
-
@feezoups! prdon, c'est moi qui fais de la merde. Enlève le point virgule et met un $ devant indice à chaque fois qu'il y est.
-
@feezBon, je te mets le code proprement bicoze, je suis embrouillée...^^
<?php mysql_connect('localhost','root',''); mysql_select_db('test'); $requete_sql="select * from news"; $res=mysql_query("$requete_sql"); ?> <strong>titre</strong> : <?php $indice=0; while ($row = mysql_fetch_row($res)) { echo $row['$indice']; $indice=$indice+1; } mysql_close(); ?>
Voila! t'as plus qu'à copier.^^
-
-
le include n'a pas l'aire de marcher :/
-
non rien d'afficher jeste les graphisme sinon le php juste au dessu seul marche mais ça me met
titre : 1test2dzdzedfef
le 1 la clef ( ça j'aimerai qu'elle y soit pas )
test2 le titre
et le reste c'est le message
bon ça c'est resolu mais il ne m'affiche qu'un message
alors que j'en ai plusieur :/-
-
@feezoui j'avais edité mon post car c'etait logiqe que ça venait de l'indice ^^
oui il ne m'affiche qu'un article ... alors qu'il y en a plus faut que je fasse un for ? -
@chronosXIIIje me suis trompée dans ce que je t'ai dit. Le $row sert à afficher le contenu des colonnes pour un enregistrement de ta table. Pour afficher toutes les données de ta table, je pense que tu dois faire :
<code>
$requete_sql="SELECT * FROM news" ;
$res = mysql_query("$requete_sql");
while ($data= mysql_fetch_array($res))
{
echo $data['Numero_du_news'];
}
Je suis pas sure que ca marchera. Dis moi si ca marche. Je vais essayer de trouver autre chose. -
@feez^^
héhé! ca y est j'ai trouvé!$requete_sql="SELECT * FROM news" ; $res = mysql_query("$requete_sql"); while ($data= mysql_fetch_array($res)) { echo $data['Numero_du_news']; echo $data['nom_du_news']; echo $data['texte_du_news']; }
il va t'afficher le contenu de tes champs pour tout tes enregistrements! Dis moi si ca marche pas mais a priori, il devrait pas y avoir de problème! Pour moi, ça marche.
-
-
merci enormement ^^ ça marche niquel et si a la place d'un contenu texte je veux mettre une image ? il faut fair quoi ?
<img src="$data">?
sinon tu pourra allez voir mon autre toic pour l'insertion dans la bdd stp-
-
@feezoui alors le titre besoin d'aide pour intégration dans la BDD
mais pour inserer une image a la place d'un texte il aurai fallu que je fasse quoi ? -
@chronosXIIIje sais pas. Stocker une image dans une base de données c'est pas très conseillé. Ca alourdi considérablement une base de données.
-
@feezmais, j'aimerais bien savoir comment faire moi aussi!
-
-
merci encore pour cette précieuse aaide ^^
-
tu t souvien tu m'a fais un include dans le html et je t'ai dis qu'il ne archais pas ....
je l'ai laissé et j'en ai mi un dans le php qu marche
et le resultat est quil fait marché l'autre include mais voila c'est moche ... et en plus ça se repete indéfiniment :/
regarde
http://img299.imageshack.us/img299/4986/pngcopievc0.png
pareil tu peu voir que su certain article le texte est a ralonge dans mon texte area ça me met un ascenseur verticale au lieu de me fair aller a la ligne tu sais pas comment resoudre ça ?
ps le rectangle noir c'est juste un bannière a venir ^^-
-
@chronosXIIIsi l'autre include marche, enlève le premier.
En ce qui concerne ta texte area, il doit y avoir une propriété qui dit pas de scrollbar horizontal.
C'est à chercher sur google, ça doit se trouver.
-