Souci affichage donné mysql
Résolu
Charline
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
bonjour,
Je vous contact car je rencontre un problème sur l'affichage de mes données mysql sur mon tableau voici le code php:
Mais le souci c'est que rien ne s'affiche :
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Je vous contact car je rencontre un problème sur l'affichage de mes données mysql sur mon tableau voici le code php:
<?php
// Connection database
include 'connect.php';
// Requête SQL
$sport= 'SELECT * FROM section2 ORDER BY id DESC LIMIT 1';
$requete = mysql_query( $sport, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
$description = $sport[3];
//récupération avec mysql_fetch_object(), et affichage de nos résultats :
while ($result = mysql_fetch_object($requete))
{
echo '<br/>';
echo '<table id="tableau-newsletter">';
echo '<tr>';
echo '<td colspan="2" align="center" width="290">les dernières actualités ajoutées</td>';
echo '</tr>';
echo '<tr>';
echo '<td align="right">sport:</td>';
echo '<td align="right">'.htmlspecialchars($result->$description).'</td>';
echo '</tr>';
echo '</table>';
}
?>
Mais le souci c'est que rien ne s'affiche :
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
2 réponses
-
Bonjour,
ton code me semble correct... mais...
1 - As tu testé ta requête en direct dans ta BDD pour voir si elle fonctionne ?
2 - es-tu sûr que ton fichier de connexion à ta BDD ( connect.php ) fonctionne ?
=> Au passage .. utilises un REQUIRE_ONCE à la place d'un INCLUDErequire_once 'connect.php';
AJoutes un error_reporting all au début de ton script// Reporte toutes les erreurs PHP error_reporting(E_ALL);
3 - Quelle est l'adresse qui apparait dans la barre d'adresse de ton navigateur lorsque tu affiches cette page ?
4 - tu travailles en LOCAL sur ton PC ou bien ton site est-il hébergé sur un serveur ?
-
-
-
1 - As tu testé ta requête en direct dans ta BDD pour voir si elle fonctionne ?
- Oui j'ai testé la requête dans la BDD (elle fonctionne)
2 - es-tu sûr que ton fichier de connexion à ta BDD ( connect.php ) fonctionne ?
- Oui il fonctionne parfaitement
3 - Quelle est l'adresse qui apparait dans la barre d'adresse de ton navigateur lorsque tu affiches cette page ?
- Aucune adresse n'apparait ni d'erreur
4 - tu travailles en LOCAL sur ton PC ou bien ton site est-il hébergé sur un serveur?
- Sur serveur
-
-
si je part sur ce principe tout fonctionne la récupération des données tout sauf que c'est la même description partout.
<?php // Connection database require_once 'connect.php'; // Requêtes SQL $sport1= 'SELECT * FROM section2 ORDER BY id DESC LIMIT 1'; $requete = mysql_query( $sport1, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ); $description1 = $sport1; $sport2 = 'SELECT * FROM section3 ORDER BY id DESC LIMIT 1'; $requete = mysql_query( $sport2, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ); $description2 = $sport2; //récupération avec mysql_fetch_object(), et affichage de nos résultats : while ($result = mysql_fetch_object($requete)) { echo '<br/>'; echo '<table id="tableau-newsletter">'; echo '<tr>'; echo '<td colspan="2" align="center" width="290">les dernières actualités ajoutées</td>'; echo '</tr>'; echo '<tr>'; echo '<td align="right">sport1:</td>'; echo '<td align="right">'.htmlspecialchars($result->description).'</td>'; echo '</tr>'; echo '<tr>'; echo '<td align="right">sport2 :</td>'; echo '<td align="right">'.htmlspecialchars($result->description).'</td>'; echo '</tr>'; echo '</table>'; } ?>
et tout le problème est là justement si je remplace
echo '<td align="right">'.htmlspecialchars($result->description).'</td>'; par echo '<td align="right">'.htmlspecialchars($result->description1 ).'</td>'; et echo '<td align="right">'.htmlspecialchars($result->description ).'</td>'; par echo '<td align="right">'.htmlspecialchars($result->description2 ).'</td>';
et bien plus rien ne s'affiche donc le problème je pense qu'il vient d'ici :while ($result = mysql_fetch_object($requete))
-
La boucle WHILE sert à parrourir le jeu d'enregistrements retournés par UNE requête....
il te faut donc une boucle PAR REQUETE....
Tu ne peux pas afficher les infos de plusieurs requêtes de cette manière !
A la limite tu pourrais faire:<?php // Connection database require_once 'connect.php'; // Requêtes SQL $sport1= 'SELECT * FROM section2 ORDER BY id DESC LIMIT 1'; $requete1 = mysql_query( $sport1, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ); $description1 = $sport1; $sport2 = 'SELECT * FROM section3 ORDER BY id DESC LIMIT 1'; $requete2 = mysql_query( $sport2, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" ); $description2 = $sport2; echo '<br/>'; echo '<table id="tableau-newsletter">'; echo '<tr>'; echo '<td colspan="2" align="center" width="290">les dernières actualités ajoutées</td>'; echo '</tr>'; while ($result = mysql_fetch_object($requete1)){ echo '<tr>'; echo '<td align="right">sport1:</td>'; echo '<td align="right">'.htmlspecialchars($result->description).'</td>'; echo '</tr>'; } while ($result = mysql_fetch_object($requete2)){ echo '<tr>'; echo '<td align="right">sport2 :</td>'; echo '<td align="right">'.htmlspecialchars($result->description).'</td>'; echo '</tr>'; } echo '</table>'; ?>
-