Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP] Affiché resultat sur plusieurs pages

  kilian67, le mercredi 15 août 2007 à 17:21:16
Bonjour a tous,

Depuis quelque jours je cherche comment faire pour que le résultat de mes requetes s'affiche sur plusieurs pages.

J'ai bien essayer plusieurs code récuperer un peu pârtout sur la toile mais tous ce que j'arrive a faire c'est limiter le nombre de résultats sans pouvoir affiché le reste sur differentes pages.

Je connai déjà le nombre de résultats retourné en total avec "$nb".

Voila si quelqu'un peut m'aider.

Voici le script en question :

<?php
$Q = $_POST['recherche'];
$_POST['recherche'] = $Q ;

// on donne le lien de la page necessaire  pour les paramètres de connexion
require("parametres.php");

// on se connecte au serveur (modif dans les parametres)
$Connexion = mysql_connect($Host, $Login, $Pass) or  die ("<br><br><p><center><table width=\"70%\" bgcolor=\"#990000\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td><center><h1>Connexion au serveur <big><u>\"$Host\"</u></big> impossible<br>Veuillez contactez le webmaster pour lui signaler le problème</h1>
											</td></tr></table><p></p><p> </p></center></td></tr>");
mysql_select_db("$Database",$Connexion);

// on verifie si le champs de recherche contient un ou plusieurs mots (sauf les mots de moins de 3 lettres)
if(!empty($_POST['recherche'])){

// si le champs est bien rempli on execute le reste du script
// on passe les mots recherchés en minuscules
$Q = strtolower($Q);
 
// on supprime le superflux, et tout ce qui n'est pas un "mot" de plus de trois lettres
$tab = preg_split('~[\s[:punct:]]~', preg_replace('~\b\S{1,3}\b~', ' ', $Q), -1, PREG_SPLIT_NO_EMPTY);
 
// on compte le nbr d'élément du tableau.
$nb = count($tab);

//Onverifie si les mots tapez sont valide si ce n'est pas le cas on donne un message d'erreur
if (!$nb) {
    echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
</u></b></font></span><br><p>";
// formulaire pour une seconde recherche
echo
"<center>
    <p> </p>
  <form method=\"post\" action='$PageResultats'>
  <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
<input type=\"submit\" name=\"value\" value=\"go !\">
</form>
</center>";
} else {

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//				AFFICHAGE DU NOMBRE DE RESULTATS EN FAIT C'EST UNE PREMIERE BOUCLE SANS AFFICHAGE DES REPONSES
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//on prépare la première requête SQL pour la boucle des résultats (modif dans les parametres)
$sql = "SELECT $Champs FROM $Table WHERE $Cles LIKE '%$tab[0]%'"or die(mysql_error()) ;

// on boucle pour integrer tous les mots dans la requête (modif dans les parametres)
for($i = 1; $i < $nb; $i++){
$sql .= "$EtOu $Cles LIKE '%$tab[$i]%'";
}

// on donne l'ordre d'affichage (modif dans les parametres)
$sql .= "ORDER BY $Ordre ASC";

// Si un seul enregistrement est trouvé, on affiche un message au singulier
if ($nb == "1") {
echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant le mot <b><u>\"$Q\"</u></b></font></span><br><p>";
}

// Dans le cas contraire le message est au pluriel...	
else {
echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant les mots <b><u>\"$Q\"</u></b></font></span><br><p>";
}

$Res = mysql_db_query($Database, $sql);
$Result = 1;
while($data = mysql_fetch_array($Res)){
$Result++;
}
// On creer une variable en elevant 1 pour avoir un résultat corect
$Resultat = $Result - 1 ;


// Si un seul enregistrement est trouvé, on affiche un message au singulier
if ($Resultat == 0) {
echo "<p><br><br><br><span style=\"font-size:16pt;\"><font color=\"#FF0000\">Aucun résultats pour <b>\"".$_POST['recherche']."\"</font></span></p>";
}else
// Si un seul enregistrement est trouvé, on affiche un message au singulier
if ($Resultat == 1) {
echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat: Une réponse</u></b></font></span><p>";
}
else {
// Dans le cas contraire le message est au pluriel...	
echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultats: $Resultat réponses</u></b></font></span><p>";
mysql_free_result($Res);
}

// formulaire pour une seconde recherche
echo
"<center>
    <p> </p>
  <form method=\"post\" action='$PageResultats'>
  <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
<input type=\"submit\" name=\"value\" value=\"go !\">
</form>
</center>";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//											AFFICHAGE DES RESULTATS
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


// on execute la requête SQL cette fois c'est pour l'affichage des résultats de la requete
$Res = mysql_db_query($Database, $sql);

//boucle de recherche et affichage des résultats de la requete
$Result = 1;
while($data = mysql_fetch_array($Res)){
?>
<p> </p>
     <table width="70%" border="0" cellpadding="0" cellspacing="0">
	      <tr>
<?php

// Ci dessous on attribu en premiere ligne l'image de MPI 
// en deuxième ligne c'esst le nombre que retourne la boucle des résultats
// en troisième c'est le titre de la page trouvé incluant le lien URL
echo '<td width="70%"><img src="mpi\images\mpi.jpg" width="30" height="30" border="0">
<font face="Bodoni MT Condensed" size="6" color="#FFFFFF"><b>    '.$Result.'.    </font>
<a href="'.htmlentities($data["$Entree3"]).'" target="_blank"><font face="Bodoni MT Condensed" size="5" color="#00CC66">'.htmlentities($data["$Entree1"]).'</b></font></a></td>';
?>
          </tr>
          <tr>
<?php
// Ci dessous correspond a l'affichage de la description de la réponse	    
echo '<td><font face="garamond" color="#666666" size="5">'.htmlentities($data["$Entree2"]).'</font></td>';
?>		  
		  </tr> 
	 </table>
	 
<?php
$Result++;
}
}
// on ferme la connexion
mysql_close($Connexion);

// s'il n'y a pas de mot on donne un message d'erreur avec demande de renouvelement avec d'autre mots clés
}else{
    echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
</u></b></font></span><br><p>";
// formulaire pour une seconde recherche
echo
"<center>
    <p> </p>
  <form method=\"post\" action='$PageResultats'>
  <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
<input type=\"submit\" name=\"value\" value=\"go !\">
</form>
</center>";
}
?>
Configuration: Windows XP
Internet Explorer 7.0
Répondre à kilian67  Signaler ce message aux modérateurs
[IE] Impossible d'afficher la pageSi Internet Explorer affiche une page blanche avec un message d'erreur indiquant :Impossible d'afficher la pageSi certains sites sont accessibles, il s'agit vraisemblablement d'un problème lié à un site ou à l'ensemble des sites d'un même hébergeur.... www.commentcamarche.net/faq/sujet-3821-ie-impossible-d-afficher-la-page
IE7 ne peut pas afficher cette page web (Résolu)Bonsoir à tous - Depuis plusieurs jours IE7 ne peut plus m'afficher aucune page web. - Pourtant avec MSN Explorer et FF pas de problème, la Mule tourne et je reçois mes mails via Outlook Express. - IE7 me propose un diagnostic réseau dont voici... www.commentcamarche.net/forum/affich-3042536-ie7-ne-peut-pas-afficher-cette-page-web
AFFICHAGE des pages TRES,TRES,TRES,LENT (Résolu)Bonjour tout le monde, Depuis un sacré moment,je mets un temps INFINI lors de l'ouverture et la fermeture de mon ordinateur,mais surtout,l'affichage des pages se fait SUPER LENTEMENT. Quelqu'un peut il me venir en aide en... www.commentcamarche.net/forum/affich-4668513-affichage-des-pages-tres-tres-tres-lent
[Webmaster] Afficher facilement le code php/xhtml de vos pagesSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La... www.commentcamarche.net/faq/sujet-4469-webmaster-afficher-facilement-le-code-php-xhtml-de-vos-pages
On peut cacher le code source d'une page HTMLMythe: On peut cacher le code source d'une page HTML. Réalité: FAUX. Explications: Pour pouvoir afficher une page web (HTML), le navigateur doit - à un moment où un autre - avoir le code HTML en clair. Il y a donc toujours moyen de le... www.commentcamarche.net/faq/sujet-5712-on-peut-cacher-le-code-source-d-une-page-html
Arrêter les images animées dans les pages WebLes images animées vous agacent et ralentissent l'affichage des pages Web que vous visitez ? Pas de panique, vous pouvez les arrêter. Internet Explorer Sous Internet Explorer, il vous suffit d'appuyer sur la touche Esc pour que toutes les animations... www.commentcamarche.net/faq/sujet-10011-arreter-les-images-animees-dans-les-pages-web
Afficher une page web - C++ (Résolu)Bonjour, jaimerai savoir comment faire pour afficher une page web dan une fenetre en c++ créer grace a qt ou a sdl. (je ne sai que créer une fenetre vide. merci davance pour vos réponses www.commentcamarche.net/forum/affich-7979524-afficher-une-page-web-c
[afficher une page web qui est en pdf] (Résolu)Bonsoir à tous , Lors de recherches sur Google, il est devenu rare que je puisse "afficher un article existant en format pdf". J'obtiens le message suivant :« Impossible d'afficher la page» Pour l'enregistrer sous, il n'y a pas de... www.commentcamarche.net/forum/affich-2035673-afficher-une-page-web-qui-est-en-pdf
Internet Explorer ne peut afficher cette page (Résolu)Bonjour, Lorsque j' effectue une recherche sur google, puis que je clic sur le lien, une fenêtre s'ouvre mais il est écrit "Internet Explorer ne peut afficher cette page web" !! alors que si je clic via l'historique, les page... www.commentcamarche.net/forum/affich-3667544-internet-explorer-ne-peut-afficher-cette-page
Toutes les réponses pour « [PHP] Affiché resultat sur plusieurs pages »