Le forum de la communauté PHP !
Vous n'êtes pas identifié.
Bonjour à tous.
je débute en PHP.
Je souhaite que les données d'une base, aprés une requete de sélection, s'affichent sur plusieurs pages.
Hors si la première page affiche bien le données souhaitées, et les liens vers les pages suivantes, lorsque je selectione une page quelconque, seul l'entete de mon tableau apparait, sans les données.
Je n'arrive pas à trouver l'erreur.
Je mets ci-dessous le code de mon formulaire de requete, qui récupère par un POST, le nom sélectionné pour le critère de choix de ma requete Mysql.
Merci pour votre aide.
<!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>Mon super site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="design.css" />
</head>
<body><body background="fond.png">
<!-- L'en-tête -->
<div id="en_tete">
</div>
<!-- Les menus -->
<div id="menu">
<div class="element_menu">
<h3>Titre menu</h3>
<ul>
<li><a href="page1.html">Lien</a></li>
<li><a href="page2.html">Lien</a></li>
<li><a href="page3.html">Lien</a></li>
</ul>
</div>
<div class="element_menu">
<h3>Titre menu</h3>
<ul>
<li><a href="page4.html">Lien</a></li>
<li><a href="page5.html">Lien</a></li>
<li><a href="page6.html">Lien</a></li>
</ul>
</div>
</div>
<!-- Le corps -->
<div id="corps">
<h1>Travail réalisé</h1>
<div id="table"
<p class="pages">
<?php
include 'conect.inc';
$connection = mysql_connect($host,$user,$password)
or die ("couldn't connect to server");
$db = mysql_select_db($database,$connection)
or die ("Couldn't select database");
$Nom = $_POST['Nom'];
//$donnees = mysql_query ("SELECT * FROM fiche_travail ");
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM fiche_travail WHERE Nom_trav='$Nom'");
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="testliste.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$donnees = mysql_query('SELECT * FROM fiche_travail WHERE Nom_trav="$Nom" ORDER BY Id_travail DESC LIMIT '
. $premierMessageAafficher . ',' . $nombreDeMessagesParPage);
{
echo '<p align="center"><table bgcolor="#FFFFFF" border="4" cellpadding="4" cellspacing="2"></p>'."\n";
echo '<tr>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Id_travail</u></b></font></td>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Nom_trav</u></b></font></td>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Date_deb</b></font></td>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Heure_deb</u></b></font></td>' ;
echo '<td bgcolor="#006498"><font color="white"><b><u>Heure_fin</u></b></font></td>' ;
echo '<td bgcolor="#006498"><font color="white"><b><u> </u></b></font></td>';
echo '<td bgcolor="#006498"><font color="white"><b><u>Bureau_trav</u></b></font></td>' ;
echo '<td bgcolor="#006498"><font color="white"><b><u>Domaine_trav</u></b></font></td>' ;
echo '</tr>'."\n";
while($row = mysql_fetch_array($donnees)){
echo '<tr>';
echo '<td bgcolor="#dddddd">'.$row["Id_travail"].'</td></font>';
echo '<td bgcolor="#cccccc">'.$row["Nom_trav"].'</td></font>';
echo '<td bgcolor="#dddddd">'.$row["Date_deb"].'</td></font>';
echo '<td bgcolor="#dddddd">'.$row["Heure_deb"].'</td></font>';
echo '<td bgcolor="#cccccc">'.$row["Heure_fin"].'</td></font>';
echo '<td bgcolor="#cccccc">'.$row[" "].'</td></font>';
echo '<td bgcolor="#dddddd">'.$row["Bureau_trav"].'</td></font>';
echo '<td bgcolor="#cccccc">'.$row["Domaine_trav"].'</td></font>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
mysql_close();
?>
</div>
</div>
<!-- Le pied de page -->
<div id="pied_de_page">
<p>Copyright "Tout pourri Corporation" 2005, tous droits réservés</p>
</div>
</body>
</html>Hors ligne
remplace
$donnees = mysql_query('SELECT * FROM fiche_travail WHERE Nom_trav="$Nom" ORDER BY Id_travail DESC LIMIT '
. $premierMessageAafficher . ',' . $nombreDeMessagesParPage);par:
$donnees = mysql_query("SELECT * FROM fiche_travail WHERE Nom_trav='$Nom' ORDER BY Id_travail DESC LIMIT "
. $premierMessageAafficher . ',' . $nombreDeMessagesParPage);Hors ligne