Accueil > Forum > > > > recherche+pagination
recherche+pagination
mardi 5 octobre 2010 à 21:45:40 |
recherche+pagination

squago
|
Bonjour à tous,
C’est un homme au bord de la crise de nerfs qui vous écrit…
Je cherche à adapter un code de recherche et pagination que j’ai récupéré un peu partout, et que j’ai testé avec une petite table comportant 105 lignes, et dans laquelle je fais une recherche simple, je lui demande de m’afficher les entrées comportant un « f » (LIKE '%f%') . Tout marche, il me donne 42 résultats, qu’il m’affiche sur 5 pages, puisque je lui ai demandé 10 lignes par page. Si vous voulez, je vous envoie le code…
Maintenant, j’essaie d’y adapter une requête, avec laquelle je permets à mes visiteurs de lancer une recherche dans mon catalogue, en entrant un ou plusieurs mots. Ce script fonctionne également parfaitement seul, sans la pagination, je l’ai essayé.
J’ai un peu bricolé pour assembler le tout, et adapter la pagination. J’avais, entre autres, le souci de compter le nombre de lignes, avant de mettre le nombre de pages. J’ai testé dans le petit script de pagination, en incluant une requête en parallèle, qui me donne le nombre de lignes, et par le même, le nombre de pages, en éclipsant le « LIMIT ». Tout ceci fonctionne sur le script avec la recherche simple, sans aucun problème.
Mais sur mon bricolage (pardon pour les puristes), la première page, c’est super, deuxième page, tout blanc, pas plus de réponse à la requête que de n° de page. Et quand j’affiche le code, je n’ai que la première ligne, où sont les liens css.
De plus, quand je fais une recherche avec plusieurs mots, sur la première page, il m’indique bien le nombre de résultats, et le nombre de pages qui va avec, mais entre c’est deux lignes, j’ai juste un message d’erreur sur la ligne 63 (while...). Quant aux pages suivantes, elles sont toujours blanches.
Voilà le topo, si quelqu’un avait une idée, je serais volontiers preneur.
Merci d’avance.
Squago
Code PHP : <link rel="stylesheet" href="pagination.css" type="text/css" />
<?php include("fonction_pagination.php"); ?>
<?php
if(isset($_GET['q'])){
if (strlen($q)<=3) {
echo "Vous n'avez pas entré assez de caractères pour une recherche.<hr size='1'>";
} else {
//connection à la base de données
mysql_connect('xxxxxx', 'xxxx', 'xxxx');
mysql_select_db('xxxxxx');
// Numero de page (1 par défaut)
if( isset($_GET['page']) && is_numeric($_GET['page']) )
$page = $_GET['page'];
else
$page = 1;
// Nombre d'info par page
$pagination = 10;
// Numéro du 1er enregistrement à lire
$limit_start = ($page - 1) * $pagination;
// Préparation de la requête
echo "Vous cherchez <b>$q</b>. ";
$q=$_GET['q'];
$s=explode(" ",$q);
$sql="SELECT libelle_produit,marque,poids FROM catalogue";
$i=0;
foreach($s as $mot){
if($i==0){
$sql.=" WHERE ";
}
else{
$sql.=" OR ";
}
$sql.="libelle_produit LIKE '%$mot%'";
$sql.="LIMIT $limit_start, $pagination";
$i++;
$aaa="SELECT libelle_produit,marque,poids FROM catalogue";
$i=0;
foreach($s as $mot){
if($i==0){
$aaa.=" WHERE ";
}
else{
$aaa.=" OR ";
}
$aaa.="libelle_produit LIKE '%$mot%'";
$i++;
}
}
// Requête SQL
$resultat = mysql_query($sql);
$resu = mysql_query($aaa);
$f = mysql_num_rows($resu);
echo "Il y a $f résultat(s) trouvé(s)<hr size='1'>";
// Traitement et affichage des données
while($donnee = mysql_fetch_assoc($resultat)){
echo "<p>{$donnee["libelle_produit"]}</p>";
echo "<p>{$donnee["marque"]}</p>";
echo "<p>{$donnee["poids"]}</p><hr size='3'>";
}
// Pagination
$nb_pages = ceil($f / $pagination);
// Affichage
echo '<p class="pagination">' . pagination($page, $nb_pages) . '</p>';
}
}
?
|
|
mardi 5 octobre 2010 à 21:47:51 |
Re : recherche+pagination

squago
|
Je remets le message, car je trouve qu'il a un drôle de tête. Comment on fait pour mettre les n° des lignes sde codes?
Bonjour à tous,
C’est un homme au bord de la crise de nerfs qui vous écrit…
Je cherche à adapter un code de recherche et pagination que j’ai récupéré un peu partout, et que j’ai testé avec une petite table comportant 105 lignes, et dans laquelle je fais une recherche simple, je lui demande de m’afficher les entrées comportant un « f » (LIKE '%f%') . Tout marche, il me donne 42 résultats, qu’il m’affiche sur 5 pages, puisque je lui ai demandé 10 lignes par page. Si vous voulez, je vous envoie le code…
Maintenant, j’essaie d’y adapter une requête, avec laquelle je permets à mes visiteurs de lancer une recherche dans mon catalogue, en entrant un ou plusieurs mots. Ce script fonctionne également parfaitement seul, sans la pagination, je l’ai essayé.
J’ai un peu bricolé pour assembler le tout, et adapter la pagination. J’avais, entre autres, le souci de compter le nombre de lignes, avant de mettre le nombre de pages. J’ai testé dans le petit script de pagination, en incluant une requête en parallèle, qui me donne le nombre de lignes, et par le même, le nombre de pages, en éclipsant le « LIMIT ». Tout ceci fonctionne sur le script avec la recherche simple, sans aucun problème.
Mais sur mon bricolage (pardon pour les puristes), la première page, c’est super, deuxième page, tout blanc, pas plus de réponse à la requête que de n° de page. Et quand j’affiche le code, je n’ai que la première ligne, où sont les liens css.
De plus, quand je fais une recherche avec plusieurs mots, sur la première page, il m’indique bien le nombre de résultats, et le nombre de pages qui va avec, mais entre c’est deux lignes, j’ai juste un message d’erreur sur la ligne 63. Quant aux pages suivantes, elles sont toujours blanches.
Voilà le topo, si quelqu’un avait une idée, je serais volontiers preneur.
Merci d’avance.
Squago
|
|
Cette discussion est classée dans : nombre, page, recherche, pages, pagination
Répondre à ce message
Sujets en rapport avec ce message
Pagination avec nombre de pages [ par sebalex ]
Salut à tous,Voilà, j'ai une liste résultant d'une recherche. Cette liste se limite à 5 résultats par page. A présent, je souhaite faire comme la plup
Mysql et nombre de pages [ par Supremist ]
Bonjour à tous,J'ai crée un petit code php, mysql sur mon site.La page php affiche donc un titre et un contenu.Seulement j'ai un petit problème, le co
Créer des pages au bout d'un certain nombre [ par DjChat ]
Bonjour a tous, j'ai une page qui affiche des images de photos des membres qui sont cliquable pour arriver sur leurs profils. Sur une page ils y a t
Pagination d'une requête 109 ligne sur pages de 20 lignes [ par ragmo ]
Bonjour,Je voulais savoir comment on pouvait gérer la pagination des nombres de lignes ramenées par une requête (Base MySQL) pour n'afficher que 20 li
Inclure Page dans tous les pages [ par masterofquebec ]
Bonjour, je cherche actuellement comment inclure un script (imidiatement avant la fermeture du tag body) dans tous les pages d'un certain dossier sans
Sécurité formulaire, problème réinitilisation token, cache navigateur [ par nhefti ]
Bonjour,J'utilise pour sécuriser l'envoi de mes formulaires un système de token que je stocke d'une part dans une variable de SESSION de l'autre dans
Creer sur la meme page un formulaire de recherche fixe... et les resultas de la recherche [ par essila ]
bjr j'espere que j'arriverais a me faire comprendre, j'aimerais creer ceci: sur une meme page: en haut le formulaire de recherche qui est fixe et en b
recuperer les valeurs dans un tableau en fonction d'une variable [ par tex73 ]
bonjour a tous.jai un probleme avec ma table. en fait je voudrais pour une entrée donnée recuperer la valeur correspondante. pour ce faire j'ai ecrit
Confidentialité sur des pages [ par Angus034 ]
Bonjour,Je suis en train de faire un système d'ecard qui se compose de 3 pages. 1 pour l'insertion de données dans la base, 1 pour prévisualiser le ré
affichage page par page avec des point (...) [ par slashf ]
salut a tous donc voilà j'ai un scripte qui marche très bien jusque là pas de souci sauf que si j'ai un résultats de 100 pages ça va être trop encombé
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|