Page 1 sur 1

Pas d'affichage de ma bdd

Posté : 15 août 2008, 17:37
par coucou
Bonjour,

Voilà, je duplique un code qui marchait bien avec une autre table de ma bdd, mais avec cette nouvelle table, je n'arrive pas à afficher mes données

Voici mon code
<html>
<body bgcolor=#b9defc">

<table width="650" ALIGN=center border="0">
     <th>
     </th>
   </table>   
   <br>
  <?php

    $cnx = mysql_connect("", "", "");
    $db = mysql_select_db("chess32");
    $sql = "select tournoi, ronde, annee, club_dep, club_rec, joueur_dep1, joueur_dep2, from 'nationale_regionale' where tournoi like'Nationale 3'";
    $requete = mysql_query($sql, $cnx);


echo( "<table border=\"1\" width=\"650\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
echo( "<tr> 
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">Tournoi</div></td>
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">Ronde</div></td>
<td bgcolor=\"#d3d3d3\" width=\"50\"><div align=\"center\">Année</div></td>
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">club dep</div></td>
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">club rec</div></td>
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">joueur 1 dep</div></td>
<td bgcolor=\"#d3d3d3\" width=\"100\"><div align=\"center\">joueur 1 dep</div></td>
</tr>" );


echo( "<tr>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["tournoi"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["ronde"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["annee"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["club_dep"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["club_rec"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["joueur_dep1"]."</div></td>\n" );
echo( "<td bgcolor=\"#ffffff\"><div align=\"center\">".$result["joueur_dep2"]."</div></td>\n" );
echo( "</tr>\n" );


 
echo( "</table><br>\n" );
?>
        
    

<tr align="center">
      <form name="retour" action="http://www.chess32.tonsite.biz/index.php?file=News" method="POST">
      <td colspan="2" align="center"><input type="submit" value="retour" ></td>
    </tr>
  </form>
<br> 
           
</html>
quelqu'un peut me dire ou peut se trouver mon erreur ?
le nom de ma table est "nationale_regionale"
ma bdd est "chess32"

ben voilà, j'ai trouvé après beaucoup de recherche, il fallait que je rajoute la fonction "mysql_fetch_array"

Posté : 15 août 2008, 19:29
par Hywan
Hey :),

J'ai lu en diagonal et surtout la fin. Je voulais te mettre en garde contre le fait que mysql_fetch_array() prend deux fois plus de mémoire que mysql_fetch_assoc(), mysql_fetch_object(), ou mysql_fetch_row() (ses sœurs). Tu trouveras le pourquoi du comment dans le manuel.
Je te conseille d'utiliser mysql_fetch_assoc à la place de …_array :).

Concernant ton code, il est pas très propre :?. Tu n'est pas obligé d'écrire echo("chaîne") mais tout simplement echo 'chaîne' (ce qui t'évitera d'échapper tous les guillemets doubles).
Et concernant le code HTML, il existe CSS qui va vraiment te faciliter la vie, améliorer la maintenance et alléger ta page (si tu le souhaites, je te fais un exemple, tu verras que ce sera beaucoup plus simple :)).

Posté : 15 août 2008, 23:45
par coucou
Merci, je veux bien car je débute et je fais avec ce que je trouve sur le net en essayant de comprendre au mieux :wink: , ce qui n'est pas si évident que ça :roll:

Posté : 16 août 2008, 11:41
par Hywan
Désolé, je n'ai pas répondu hier soir quand j'ai vu ta réponse, mais il est était 2am :P.
Bien, je n'ai pas testé mais ça devrait être ça.

Notre page HTML :
<!--
  Toujours mettre un doctype, toujours !
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
                      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

<head>
  <title>untitled</title>

  <!--
    On redéfinit 2 ou 3 choses histoires qu'on soit d'accord avec tous les
    navigateurs.
  -->
  <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
  <meta http-equiv="content-script-type" content="text/javascript" />
  <meta http-equiv="content-style-type" content="text/css" />

  <!--
    On fait le lien avec notre feuille CSS.
  -->
  <link type="text/css" href="Style.css" rel="stylesheet" media="screen,projection" />
</head>


<body>

<!--
  On écrit notre tableau.
-->
<table summary="Résumé du tableau">
  <caption>Descrption du tableau</caption>
  <thead>
    <th>Tournoi</th>
    <th>Ronde</th>
    <th>Année</th>
    <th>…</th>
  </thead>
  <tbody>
<?php

/**
 * On se connecte à la base de données et on sélectionne notre base.
 */
$db = mysql_connect('…', '…', '…');
mysql_select_db('…');

/**
 * On effectue notre requête.
 */
$query = mysql_query('SELECT tournio, ronde, annee, club_dep … ' .
                     'FROM   nationale_regionale ' .
                     'WHERE  tournoi LIKE "Nationale 3"')
         or die('Erreur avec la base de données.'); // Si la requête échoue, on
                                                    // arrête le script et on
                                                    // écrit une erreur.

/**
 * Tant qu'on peut associer un résultat de notre requête à la variable $row,
 * alors on écrit le contenu de notre tableau.
 */
while($row = mysql_fetch_assoc($query))
    echo '    <tr>'                               . "\n" .
         '      <td>' . $row['tournoi'] . '</td>' . "\n" .
         '      <td>' . $row['ronde']   . '</td>' . "\n" .
         '      <td>' . $row['annee']   . '</td>' . "\n" .
         '      <td>' . $row['…']       . '</td>' . "\n" .
         '   </tr>'                               . "\n";

?>
  </tbody>
</table>
<!--
  Fin de notre tableau.
-->

<!--
  Pourquoi faire un formulaire avec un bouton ? Un simple lien suffit.
-->
<p class="tCenter">
  <a href="…">Revenir en arrière</a>
</p>

</body>

</html>
Notre feuille de style CSS (Style.css) :

Code : Tout sélectionner

@charset "utf-8"; /** * On définit une largeur de 650px, et on utilise les marges left et right * en automatique pour centrer le tableau. * Enfin, on définit la couleur de fond. */ body { width: 650px; margin: 0 auto; background: #b9defc; } /** * Le tableau est centré, même principe. */ table { margin: 0 auto; } /** * Le texte des cellules d'en-tête et de corps ont un texte centré. * On définit la même couleur de fond pour les deux types de cellule, et on * redéfinira la couleur du td (cellule de corps) plus tard. */ th, td { text-align: center; background: #d3d3d3; } /** * Plus tard c'est ici :P. */ td { background: #fff; } /** * Si on veut centrer un texte, on peut aussi utiliser une classe tCenter (text * center). On l'applique à un paragraphe par exemple. */ .tCenter { text-align: center; }
Voilà. Je te laisse te rendre compte à quel point c'est plus simple et plus léger que ton premier code. Je te laisse également explorer les balises que tu ne connais pas (il doit y avoir caption, thead, et th par exemple). Si tu as des questions, je reste disposé à te répondre :).

Posté : 16 août 2008, 15:38
par coucou
Salut,

En effet, c'est plus léger et surtout + clair que mon code.
Cette nuit j'ai fini mon code et je vais le refaire pour le mettre comme le tient.

Par contre, pourquoi il faut toujours mettre un Doctype et à quoi cela sert ?

Merci

Posté : 16 août 2008, 15:46
par Hywan
Un doctype définit un document. C'est lui qui contient les règles de validation du document. Si un navigateur doit lire de l'HTML 4.01, XHTML 1.0, 1.1, etc., il ne peut pas le deviner tout seul. Il faut lui donner un ensemble de règle à suivre pour pouvoir faire un affichage correct.

On parle de doctype (document type) ou dtd pour document type definition, c'est assez parlant. Je t'ai mis un doctype xhtml 1.1 car c'est celui que j'utilise (le plus proche de l'HTML 5) mais tu peux utiliser un autre doctype (genre html 4.01 strict, transitional, etc.). Il y a la liste des doctypes sur Internet :).

Posté : 17 août 2008, 00:10
par coucou
donc si je comprends bien, à chaque doctype il y a une programmation différente ?

Posté : 17 août 2008, 00:38
par Hywan
Exact. HTML existe en plusieurs versions, tout comme XHTML. Tu as aussi des doctypes pour SVG, MathML, etc.

Posté : 17 août 2008, 08:47
par coucou
Du coup, mon c'etait quoi comme doctype ?

Un doctype Coucou ? :lol: :lol: :lol: :lol: :lol:

Posté : 17 août 2008, 10:57
par Hywan
Bah il n'y en avait pas, donc le navigateur en prenait un au hasard (dépendant du navigateur).