Nombre de résultats par page
Résolu
Eternity
-
arthezius Messages postés 3538 Date d'inscription Statut Membre Dernière intervention -
arthezius Messages postés 3538 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voila: J'ai fait un beau script de recherche <3 mais le problème c'est qu'il risque d'avoir trop de résultat par page apres une recherche. J'ai cherché un peu partout mais je n'ai pas très bien compris >< ou je n'arrivais pas à l'adapter pour mon code.
Voici mon script: ($global nuked => pour se connecter).
Le site que je fait est un site de vente d'objet virtuel en ligne (objets du jeux acheté avec de l'argent virtuel du dit jeu.)
Et si aussi vous arriviez a comprendre pourquoi quand je clique sur entré quand je suis dans mon formulaire, la page s'actualise, sa m'aiderai beaucoup :p !
Voila le code:
Alors voila: J'ai fait un beau script de recherche <3 mais le problème c'est qu'il risque d'avoir trop de résultat par page apres une recherche. J'ai cherché un peu partout mais je n'ai pas très bien compris >< ou je n'arrivais pas à l'adapter pour mon code.
Voici mon script: ($global nuked => pour se connecter).
Le site que je fait est un site de vente d'objet virtuel en ligne (objets du jeux acheté avec de l'argent virtuel du dit jeu.)
Et si aussi vous arriviez a comprendre pourquoi quand je clique sur entré quand je suis dans mon formulaire, la page s'actualise, sa m'aiderai beaucoup :p !
Voila le code:
<html> <body> <center> <table border=1> <tr><td colspan=2 align=center> .: Recherche :.</td></tr> <tr><td> <form method="post" action="index.php?file=Page&name=Liste_ventes"> Objet recherché : </td> <td> <input type="text" name="recherche" /> </td> <tr> <td> Mode de recherche : </td> <td> <select name="mode"> <option value="">Type de recherche</option> <option value="un_mot">Au moins un mot</option> <option value="expression_exacte">Expression exacte</option> <option value="tous_les_mots">Tous les mots</option> </select> </td> <tr > <td height="20" colspan=2 align=center > <input type="submit" value="Rechercher" name="rechercher" /> </td> </form> </tr> </table> </center> <?php global $nuked; if (isset($_POST['rechercher'])) { $recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); $mode = mysql_real_escape_string(htmlspecialchars($_POST['mode'])); if ($mode == "tous_les_mots") { $and_ou_or = 'AND'; } else { $and_ou_or = 'OR'; } if ($mode == "expression_exacte") { $selection_recherche = mysql_query("SELECT * FROM nuked_vente WHERE classe LIKE '%$recherche%' ORDER BY nom"); } else { $mots = explode(" ", $recherche); $nombre_mots = count ($mots); $valeur_requete = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) { $valeur_requete .= '' . $and_ou_or . ' classe LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; } $valeur_requete = ltrim($valeur_requete,$and_ou_or); $selection_recherche = mysql_query("SELECT * FROM nuked_vente WHERE $valeur_requete ORDER BY nom"); } $nombre_resultats = mysql_num_rows($selection_recherche); if ($nombre_resultats == 0) { echo '<br /><center>Aucun résultats.<br /> <br /><a href="index.php?file=Page&name=Liste_ventes">Recommencer</a></center>'; } else { echo '<br><u>Nombre d\'objet(s) correspondant(s) à votre recherche : ' . $nombre_resultats . '</u><br /><br />'; echo ' <table width="75%" style="text-align:center; float: left;" > <tr> <td background="themes/df_counterview/images/menu_hoover.png">Objet</td> <td background="themes/df_counterview/images/menu_hoover.png">Prix</td> <td background="themes/df_counterview/images/menu_hoover.png">Type de vente</td> <td background="themes/df_counterview/images/menu_hoover.png">Durée</td> </tr>'; while($resultats = mysql_fetch_array($selection_recherche) ) { ?> <tr> <td background="themes/df_counterview/images/menu.png"> <a href="#" style="TEXT-DECORATION:none;" title="<?php echo $resultats['commentaire']; ?>"> <?php echo stripslashes($resultats['nom']); ?></a><br /> </td> <td background="themes/df_counterview/images/menu.png"><?php echo $resultats['prix']; ?> PO</td> <td background="themes/df_counterview/images/menu.png"><?php echo $resultats['typevente']; ?></td> <td background="themes/df_counterview/images/menu.png"><?php echo $resultats['duree']; ?></td> </tr> <?php } echo ' </table> '; } } ?>
A voir également:
- Nombre de résultats par page
- Impossible de supprimer une page word - Guide
- Resultats foot - Télécharger - Vie quotidienne
- Nombre de jours entre deux dates excel - Guide
- Nombre de page - Guide
- Imprimer tableau excel sur une page - Guide
13 réponses
Pour un affichage page par page: http://www.lephpfacile.com/howto/...
Pour ce qui est de la touche entré, la page n'est pas "réactualisé". Enfin en un sens si.
Quand tu es dans un champ input, la touche entré envoi le formulaire, comme si tu cliquais sur le bouton submit. Dans un textarea, elle permet de passer à la ligne.
Pour ce qui est de la touche entré, la page n'est pas "réactualisé". Enfin en un sens si.
Quand tu es dans un champ input, la touche entré envoi le formulaire, comme si tu cliquais sur le bouton submit. Dans un textarea, elle permet de passer à la ligne.
Ou est le rapport? J'écris dans mon imput et quand j'ai fini d'écrire et que j'appuie sur la touche entrée, sa devrait envoyer le formulaire? non? tandis que la, la page se réactualise (enfin d'après ce que je vois...)
Si ta page de traitement est la même sur celle du formulaire, il peux y avoir une erreur dans le script de traitement qui au final ne l'execute pas.
Exemple:
si tu envoi ce formulaire, le formulaire disparait et le texte "Formulaire envoyé" s'affiche.
C'est pourtant le même fichier.
Maintenant, glissons une erreur.
Dans ce deuxième cas, tu retournes au formulaire...
Je te laisse chercher l'erreur.
Vérifie donc sérieusement ton code.
Exemple:
<?php if(isset($_POST['envoi'])) { echo 'Formulaire envoyé'; } else { echo'<form method="post" action="form.php"> <p>Test: <input name="message" /></p> <p><input type="submit" name="envoi" value="Envoyer" /></p> </form>'; }
si tu envoi ce formulaire, le formulaire disparait et le texte "Formulaire envoyé" s'affiche.
C'est pourtant le même fichier.
Maintenant, glissons une erreur.
<?php if(isset($_POST['envoi']) && $_POST['envoi']=='Envoyé') { echo 'Formulaire envoyé'; } else { echo'<form method="post" action="form.php"> <p>Test: <input name="message" /></p> <p><input type="submit" name="envoi" value="Envoyer" /></p> </form>'; }
Dans ce deuxième cas, tu retournes au formulaire...
Je te laisse chercher l'erreur.
Vérifie donc sérieusement ton code.
Je vois bien l'erreur dans ton exemple, mais j'ai du mal avec le mien >< sinon merci pour ton premier lien.
Mon formulaire est relativement clair et propre, je trouve pas l'erreur ...
<center> <table border=1> <tr><td colspan=2 align=center> .: Recherche :.</td></tr> <tr><td> <form method="post" action="index.php?file=Page&name=Liste_ventes"> Objet recherché : </td> <td> <input type="text" name="recherche" /> </td> <tr> <td> Mode de recherche : </td> <td> <select name="mode"> <option value="">Type de recherche</option> <option value="un_mot">Au moins un mot</option> <option value="expression_exacte">Expression exacte</option> <option value="tous_les_mots">Tous les mots</option> </select> </td> <tr > <td height="20" colspan=2 align=center > <input type="submit" value="Rechercher" name="rechercher" /> </td> </form> </tr> </table> </center>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vérifie tes conditions une par une.
Voici comment je procède personnellement.
Exemple:
La ligne en gras est celle que je rajoute volontaire lors de mes tests pour tester qu'une condition passe bien. Ensuite je l'enlève et je passe à la condition suivante.
Tu pourra ainsi cibler l'erreur plus facilement.
Voici comment je procède personnellement.
Exemple:
if(isset($var)) { echo'yes'; [...] }
La ligne en gras est celle que je rajoute volontaire lors de mes tests pour tester qu'une condition passe bien. Ensuite je l'enlève et je passe à la condition suivante.
Tu pourra ainsi cibler l'erreur plus facilement.
J'ai trouvé >< c'est le mode de recherche...
Il prend pas la premiere valeur qui est par defaut mot clef ><
Il faut obligatoirement que l'utilisteur en selectionne une ><
Il y a pas un moyen pour faire passer une valeur par défaut?
Il prend pas la premiere valeur qui est par defaut mot clef ><
Il faut obligatoirement que l'utilisteur en selectionne une ><
Il y a pas un moyen pour faire passer une valeur par défaut?
Avec quelques de ce genre:
A réadapter suivant ton cas bien entendu.
if(isset($var)) //Tu vérifie que la variable est déclaré { if($var=='valeur1') //Tu test la valeur de la variable { [...] } elseif($var=='valeur2') //Tu test la valeur de la variable { [...] } elseif($var=='valeur3') //Tu test la valeur de la variable { [...] } else { $var='valeur_par_defaut'; //Tu appliques une valeur par défaut. } }
A réadapter suivant ton cas bien entendu.