Probleme de pagination [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011
-
cs_diarrassouba
Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011
-
bjr a tous,jai un probleme avec la pagination de mon moteur de recherche,lorsque je fai une recherche sur un article il m affiche un message d erreur(mysql_num_rows(): supplied argument is not a valid MySQL result resource).jia sai que mon blem est au niveau de mes LIMIT

<?php
require_once('Connections/connexion.php');

 include("fctaffichimage.php");// FONCTION de redimensionnement "a l affichage"
 
// Les photos et pictos sont stockes dans un dossier deprotege en ecriture
   $chemincourt ='images/';

// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) )
//  {if (isset($_GET['article']))    $id_art = mysql_real_escape_string($_GET['article']);
///else $id_art ="";

  $page = $_GET['page'];
else
    $page = 1;

// Nombre d'info par page
$pagination = 4;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;

// Préparation de la requête
mysql_select_db($database_connexion,$connexion);
//recherche des résultats dans la base de données
 $sql mysql_query('SELECT an. * FROM article ar LEFT JOIN annonce an ON ar.id_art an.id_art WHERE ar.nom_art LIKE \''  . safe( $_GET['q'] ) . '%\' LIMIT $limit_start,$pagination '); 
 
// affichage d'un message "pas de résultats"
if( mysql_num_rows( $sql ) == 0 )
{
?>
   Pas de résultats pour cette recherche

<?php
}
else
{
 
 echo ' <gras>[tb2.php?page='.$i . 'ar.nom_art LIKE \'' . safe( $_GET['q'] ) . '%\'  ['.$i.']]';
}
echo ' ]

';
 
?>

7 réponses

Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011

ca passe mtn avec qlq retouche ca donne ca:

echo '[tb2.php?page='.$i . '&q='.urlencode( $_SESSION['q'] ) . ' ['.$i.']]';

tu avais oublier & avec la session aussi
merci bcp pour ton aide,mille merci de m avoir mis sur la voie.bone soiree a toi
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
Bonjour,

Tu as une erreur dans ta requete, fait ça pour voir l'erreur :

$sql mysql_query('SELECT an. * FROM article ar LEFT JOIN annonce an ON ar.id_art an.id_art WHERE ar.nom_art LIKE \'' . safe( $_GET['q'] ) . '%\' LIMIT $limit_start,$pagination ') or die(mysql_error());


Cordialement,

Maxime
Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011

ca affiche

Erreur de syntaxe pr�s de '$limit_start, $pagination' � la ligne 1
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
$sql = mysql_query('SELECT an. * FROM article ar LEFT JOIN annonce an ON ar.id_art = an.id_art WHERE ar.nom_art LIKE \'' . safe( $_GET['q'] ) . '%\' LIMIT '.$limit_start.','.$pagination) or die(mysql_error());
Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011

oui ca passe,mais jai un souci au niveau de:

echo '[tb2.php?page='.$i . 'ar.nom_art LIKE \'' . safe( $_GET['q'] ) . '%\' ['.$i.']]';


je ne comprend pas b1 cette partie ca met Undefined index: q

je sai que je doit faire un truc avec la seesion pour qu il puisse projeter cela de page en page stp voi ma requette
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
echo '[tb2.php?page='.$i . '?q='.urlencode( $_GET['q'] ) . ' ['.$i.']]';
Messages postés
5
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
19 septembre 2011

ca m affiche ca:


Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 89
1

[ Page : 1
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[2]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[3]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[4]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[5]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[6]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[7]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[8]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[9]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[10]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[11]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[12]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[13]
Notice: Undefined index: q in c:\program files\easyphp1-8\www\babishopping\tb2.php on line 103
[14] ]


regarde d abord si ma reuette de comptage es correcte:

$nb_total mysql_query('SELECT COUNT(*) AS nb_total FROM article ar LEFT JOIN annonce an ON ar.id_art an.id_art WHERE ar.nom_art LIKE \'' . safe( $_GET['q'] ) . '%\' ')or die(mysql_error());