résultat de requete sur plusieurs page

Eléphant du PHP | 83 Messages

16 janv. 2008, 17:17

bonjour
voilà je voudrais afficher les résultats de ma requete page par page j'ai trouvé un tuto qui parlé de ça et j'ai essayé de l'appliquer à mon cas Mais le problème c que j'ai les numéros de page qui s'affichent 1,2,3 et c bien des liens mais qui renvoient vers des pages vides
Pourtant j'ai bien des réponses à la page 1
Mais rien à la page 2 alors qu'il devrait y en avoir
Je ne comprends pas merci d'avande pour votre aide


Voici le code de ma 1ère page

<html >
<head>
<title>Document sans titre</title>
<style type="text/css">
<!--
#Layer1 {
	position:absolute;
	left:62px;
	top:130px;
	width:627px;
	height:266px;
	z-index:1;
}
#Layer2 {
	position:absolute;
	left:70px;
	top:36px;
	width:828px;
	height:290px;
	z-index:1;
}
-->
</style>
</head>

<body>
<div id="Layer2">
  <form id="form1" name="form1" method="post" action="integrationmotcleetlienpage.php">
    <table width="527" height="160" border="0" cellpadding="0">
      <tr>
        <td width="144"><input name="mot" type="text" id="mot"></td>
        <td width="186"><div align="center">
          <div align="right">
            <select name="quoi" id="quoi">
              <option value="avion">marre</option>
              <option value="voiture">voiture</option>
            </select>
            </div>
        </div></td>
        <td width="189"><div align="center">
          <select name="endroit" id="endroit">
            <option>touslesd&eacute;partements</option>
            <option value="13009">13009</option>
          </select>
          </div></td>
      </tr>
      
      <tr>
        <td height="58" colspan="3"><div align="center">
          <input type="submit" name="Submit" value="rechercher" />
        </div></td>
      </tr>
    </table>
  </form>
</div>
</body>
</html>


et le code de ma 2ème page integrationmotcleetlienpage.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<?php 
$liendb = mysql_connect("nomserveur","user","pass");
mysql_select_db ("nombase"); 

function protection(&$value) { 
$value = (get_magic_quotes_gpc())? mysql_real_escape_string(stripslashes(trim($value))) : mysql_real_escape_string(trim($value)); 
return $value; 
} 

$quoi = !empty($_POST['quoi'])? protection($_POST['quoi']) : ''; 
$endroit = !empty($_POST['endroit'])? protection($_POST['endroit']) : ''; 

$sql= "SELECT texte,titre,id FROM annonce WHERE categorie = '" . $quoi . "' AND departement = '" . $endroit . "'";  

if (empty($_POST['mot']) === FALSE) { 
     
  $tab = explode(' ', $_POST['mot']); 
  array_walk($tab, 'protection'); 
  $IN = implode("','", $tab); 

  $sql .=  " AND motcle1 IN ('$IN')"; 
} 


$resultat_sql = mysql_query($sql) or die (mysql_error());  


$nombreDeMessagesParPage = 2; 
$n =mysql_num_rows($resultat_sql);
$nombresDePages =ceil($n/$nombreDeMessagesParPage );
echo 'Page : ';
for ($i = 1 ; $i <= $nombresDePages ; $i++)
{
    echo '<a href="integrationmotcleetlienpage.php?page=' . $i . '">' . $i . '</a> ';
}


if (isset($_GET['page']))
{
        $page = $_GET['page']; }
else 
{
        $page = 1; }
 
 $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; 
  $sqll= "SELECT texte,titre,id FROM annonce WHERE categorie = '" . $quoi . "' AND departement = '" . $endroit . "'   ORDER BY id DESC LIMIT " . $premierMessageAafficher . ", " . $nombreDeMessagesParPage;
 
if (empty($_POST['mot']) === FALSE) { 
     
  $tab = explode(' ', $_POST['mot']); 
  array_walk($tab, 'protection'); 
  $IN = implode("','", $tab); 

  $sqll .=  " AND motcle1 IN ('$IN')"; 
} 
 
  $resultatt_sql = mysql_query($sqll) or die (mysql_error());  

  
?> 

<!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"> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Document sans nom</title> 
</head> 

<body>   
<table style="border:1px solid black; width:100%">  
<?php while ($resultat = mysql_fetch_assoc($resultatt_sql)) 
{ ?> 
<tr> 
<td><a href="description50page.php?<?php echo 'id='.intval($resultat['id']) ?>"><?php echo htmlentities($resultat['titre'])?></a></td> 
</tr> 
<?php } mysql_free_result($resultatt_sql); 

mysql_close($liendb); 
?> 
</table> 
</body> 
</html> 
Modifié en dernier par karenma le 19 janv. 2008, 17:21, modifié 1 fois.

Eléphanteau du PHP | 27 Messages

19 janv. 2008, 00:22

pourquoi tu as 2 fois

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head> <body>
:roll: :!: :?: :?:

Eléphant du PHP | 83 Messages

19 janv. 2008, 15:42

bonjour tu as raison il y en a un de trop
mais même en le supprimant ça ne marche pas et je viens de remarquer qu'au début j'ai trois liens
1 2 3
quand je clique sur le lien de la page 1, il y a à présent 5 liens 1 2 3 4 5
As tu une idée car moi je suis perdue merci d'avance pour ton aide

Eléphanteau du PHP | 16 Messages

29 janv. 2008, 14:55

Il ne faut pas le supprimer complètement mais l'ajouter dans le "head"

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 janv. 2008, 15:09

Il est très difficile de t'aider comme ça... puisque tu as modifié le code reposte le.
Procède par étapes en affichant les variables (de page, lien) et les requêtes.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 83 Messages

31 janv. 2008, 12:48

bonjour merci entretemps j'ai compris le pb il fallait transmettre les variables Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

31 janv. 2008, 13:19

Modération :
karenma, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute