Affichage par page en PHP

Fermé
korokomaster Messages postés 4 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 15:43
korokomaster Messages postés 4 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 16:16
Bonjour,
g enfin réussi a terminer mon code pour afficher les enregistrement de ma base ( mysql ), 3 enregistrement par page;
voici mon code php :
---------------------------------------------------------------------------------------------------------------------------
<form name="form1" method="get" action="fonctions.php">
<?php
require 'fonctions.php';
$a=$_GET["reg"];
$g=intval($a);
mysql_connect("localhost", "root", "")or die ("Impossible de se connecter");
mysql_select_db ("auto")or die ("Impossible d'accéder à la base de données");
$nombre = 3;
if (!isset($limite)) $limite = 0;
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];
$select = ("SELECT count(id_ecole) FROM autoecole where id_regauto='".$g."'");
$result = mysql_query($select);
$row = mysql_fetch_row($result);
$total = $row[0];
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
$select = ("select id_ecole,nom_ecole FROM autoecole where id_regauto='".$g."' ASC limit '.$limite.','.$nombre.'");
$result = mysql_query($select);
if($total) {
echo '<table bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#CCCCCC" width="520"><b><u>Nom de l\'école</u></b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td bgcolor="#FFE337" class="Style2">'.$row['nom_ecole'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
if($total > $nombre) {
affichePages($nombre,$page,$total);
displayNextPreviousButtons($limite,$total,$nombre,$page);}
?>
</form>


--------------------------------------------------------------------------------------------------------------------------------

les fonctions 'fonctions.php' sont :

-------------------------------------------------------------------------------------------------------------------------------

<?php
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre) {
if(is_numeric($limite)) {
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
$valide = 1;
}
else {
$valide = 0;
}
}
else {
$valide = 0;
}
return $valide;
}
?>


<?php
function displayNextPreviousButtons($limite,$total,$nb,$page) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo '<table><tr>'."\n";
if($limite != 0) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="précédents">'."\n";
echo '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="suivants">'."\n";
echo '<input type="hidden" value="'.$limiteSuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";

}
echo '</tr></table>'."\n";
}
?>

<?php
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>


--------------------------------------------------------------------------------------------------------------------------------


mé g trouvé ces erreurs là :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\test-auto\liste_autoecole.php on line 111

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\test-auto\liste_autoecole.php on line 119



les numéro des pages sont affichés ainsi ke le bouton suivants , mé en appuiyant sur le bouton suivants ca donne une page blanche, et sur les numéro dé page ca donne cette erreur :
Notice: Undefined index: reg in c:\program files\easyphp1-8\www\test-auto\liste_autoecole.php on line 87
Pas d'enregistrements dans cette table...
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\test-auto\liste_autoecole.php on line 119





MERCI EN AVANCE, je compte sur vous
A voir également:

3 réponses

Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 7
24 avril 2008 à 15:47
Hello,

tes codes d'erreurs indiquent les lignes où elles sont situées, et le "mysql_fetch_assoc() : supplied argument is not a valid MySql result resource" signifie tout simplement qu'il n'y a rien à fetcher.
0
korokomaster Messages postés 4 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 15:54
merci Yog-sothoth,
pr mieu m'expliker à la ligne 111 se trouve mon while($row = mysql_fetch_assoc($result))
mé jvoi po ou est le pblem !!!!


et concernant mes tables; elle sont rempli ! donc on aura a fetcher non ?
thx again :)
0
Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 7
24 avril 2008 à 15:58
Le "undifined index" signifie que ton "index n'est pas défini". Plus clairement ca veux dire que ta variable ne contient rien, qu'elle ne reçoit aucune valeur, et donc n'est pas utilisable.
0
korokomaster Messages postés 4 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 16:09
ok, jte comrend mé jvoi po commen résoudre ce pblem !!
la variable "reg" c le nom d'une liste deroulante que sa valeur est envoyé par la methode get d'une page precedente
la voilà :
-------------------------------------
<form name="form1" method="get" action="liste_autoecole.php">
<label>
<?php
mysql_connect("localhost", "root", "")or die ("Impossible de se connecter");
mysql_select_db ("auto")or die ("Impossible d'accéder à la base de données");

$a=$_GET["gouv"];
$g=intval($a);
$query=mysql_query("SELECT nom_gov,id_gov FROM gouvernorat where id_gov='".$g."'");
$ligne1=mysql_fetch_assoc($query);
echo('<input type="text" align="middle" name="textfield" readonly="readonly" class="Style2" value="'.$ligne1['nom_gov'].'">');
mysql_close();
?>
</label>
<p> </p>
<p class="Style17">Liste des régions correspondantes : </p>
<p class="Style17">
<label>
<?php
mysql_connect("localhost", "root", "")or die ("Impossible de se connecter");
mysql_select_db ("auto")or die ("Impossible d'accéder à la base de données");
$query=mysql_query("SELECT id_reg,nom_reg FROM region where id_govreg='".$g."'");
echo('<select name="reg">');
echo('<option value="'.'">'.'< Choisissez ici >'.'</option>');
while ($ligne2=mysql_fetch_assoc($query)){
echo('<option value="'.$ligne2['id_reg'].'">'.$ligne2['nom_reg'].'</option>'); }
echo('</select>');
mysql_close();
?>
-------------------------------------


please help me !
0
Yog-Sothoth Messages postés 87 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 9 juillet 2008 7
24 avril 2008 à 16:14
Si tu fais une affectation de valeur via la méthode GET, tu dois être sur que le nom de la variable gettée est dans ton URL.

Si tu as : "http://www.sitebidon.com?variable=valeur"

tu dois faire : $nouvelleVariable = $_GET['variable'];

sinon excuse moi mais je n'ai pas le courage de lire tout ton code... de toute manière le nombre d'erreurs possible est limité.
0
korokomaster Messages postés 4 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 16:16
ok merci :)
0