8768 sujets

Développement web côté serveur, CMS

Voila j'ai voulu reprendre un quiz en php que j'avais laissé dans un coin mais rien ne fonctionne comme cela devrait. ce quiz est composé de plusieurs pages php
d'abord quiz.php qui est l'accueil du quiz et qui devrait afficher un tableau avec les 10 meilleurs scores par niveau de difficulté. sauf que la requête SQL ne s'affiche pas. Si je la teste directement sous MySQL elle fonctionne. d'avance merci pour votre aide

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>:: Quiz ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="last.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
<!--/*--><![CDATA[//><!--if (parent!=window){top.location = location.href;}
function popup(page,nom,option) {window.open(page,nom,option);}//--><!]]>
</script>

</head>

<body>
<table class="quiz">
<tr><td>
		  <h2>La derni&egrave;re chronique d'Yrneh: le quiz </h2>
  <h3>Dans cette rubrique vous trouverez de nombreux questionnaires ayant divers niveaux de difficult&eacute;s allant du d&eacute;butant au super fan. Bon d&eacute;fi &agrave; tous...</h3>
  <h4>Note: les meilleurs scores sont enregistr&eacute;s par cat&eacute;gories et par score.</h4><br />
  <a href="andex.php" onclick="window.open(this.href,'Quiz','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=500,height=800'); return false;">Cliquer ici pour acc&eacute;der au QCM</a>
<br /></td></tr>
<tr><td>   
    <?php
include ("connect_visite.php");
// Afficher les meilleurs scores
print "<br />";
print "<h4>Voici la liste des $top meilleurs r&eacute;sultats : </h4>";
$sql="SELECT nomvisiteur AS Nom, Categorie_visiteur AS Catégorie, reponsesjustes AS points, nbquestion AS 'Nombre de questions', date AS le, heure AS à FROM yrnehquiz_visiteur ORDER BY reponsesjustes DESC, $nbtop";
$result=mysql_db_query($db, $sql);
$nombre=mysql_num_fields($result);
echo "<table class=\"result\" >";
echo "<tr >";
for ($i=0;$i<$nombre;$i++){
   echo "<th>";
   echo mysql_field_name($result,$i);
   echo "</th>";
}
echo "</tr>";
echo "<tr>";
while ($row  =  mysql_fetch_array($result,MYSQL_ASSOC)) {
foreach ($row as $elem) {
 echo "";
   echo "<td ><left>$elem</left></td>";
 echo "";
}
echo "</tr>";
}
echo "</table>";

?>
</td></tr></table>
</body>
</html>

Modifié par Baldric (08 May 2018 - 16:37)
Vu que je ne programme plus vraiment depuis des années me balancer pdo et mysqli ça ne m'aide pas beaucoup. ce que je ne comprends pas avec ce script c'est qu'une simple requête $sql= n'affiche rien alors que pour d'autres pages que j'avais codé pour l'affichage d'informations contenues en base de données fonctionnent elles. sachant que toute mes pages incluent la page connect_visite.php contenant les références nécessaire à la connexion à la base de données.
C'est permis les lettres accentuées dans les requêtes SQL ?

T'as vérifié avec phpMyAdmin si ta requête fonctionne ?

C'est quoi ce vieux code ISO-8859-1 ?
Normalement c'est UTF-8 pour tout le monde et ça évite de s'embêter avec les entités HTML !
Modérateur
Baldric a écrit :
Vu que je ne programme plus vraiment depuis des années me balancer pdo et mysqli ça ne m'aide pas beaucoup. ce que je ne comprends pas avec ce script c'est qu'une simple requête $sql= n'affiche rien alors que pour d'autres pages que j'avais codé pour l'affichage d'informations contenues en base de données fonctionnent elles. sachant que toute mes pages incluent la page connect_visite.php contenant les références nécessaire à la connexion à la base de données.


Je soupçonne qu'il y ait un un error display off.

As tu essayé de faire un :

error_reporting(E_ALL);
ini_set('display_errors', 1);


Je viens de relire ta requête et il y a une incohérence d'écriture. les alias n'ont pas de guillements.

Sinon, peux tu nous mettre sur le forum le rendu en html du code :

phpinfo();


bazooka07 a écrit :

C'est permis les lettres accentuées dans les requêtes SQL ?

oui. Tu peux nommer tes tables, bases, champs avec des accents. Mais par convention, on ne le fait pas puisqu'on utilise l'anglais.

bazooka07 a écrit :
T'as vérifié avec phpMyAdmin si ta requête fonctionne ?
Apparemment, il a dit oui
[quote=bazooka07]
C'est quoi ce vieux code ISO-8859-1 ?
Normalement c'est UTF-8 pour tout le monde et ça évite de s'embêter avec les entités HTML !

+1 mais ça implique que tout soit en utf-8, sinon bonjour les caractères "?"....
Modifié par niuxe (10 May 2018 - 21:59)