begin process at 2012 05 31 00:38:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Généré pages suite à requêtes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Généré pages suite à requêtes

mardi 1 juin 2004 à 17:24:55 | Généré pages suite à requêtes

pyranhaz

Voyons voir,

J,ai une formulaire qui permet de faire une redcherche sur MySQL et afficher le résultat sur mon site...

Je limite chaque affichage à 50 résultats

Parfois les résultats excèdent ma limite, il y a donc plusieurs pages à afficher si on veut voir les autres résultats...

J'ai donc mis quelque chose qui permet page précédente, page actuelle et page suivante...

Mais cela est trop basic comme fonctionnement, n'utilisant qu'une formule +1 ou -1 selon que l'on avance ou recule de page...

Moi, j'aimerais plutôt quelque chose dans le style GOOGLE où il affiche Pages: 1 2 3 4 5 6 7 8 9

Alors je me demande comment réaliser ce coup...

Il faut que la formule génère le nombre de page avec le chiffre (1 2 3 4...) et le lien qui mène à cette page

Ce serait plus beau et + utile qu'un simple affichage de type Page précédente, page actuelle, page suivante comme c'est actuellement sur mon site...

On aurait l'opportunité d'aller directement à la page que l'on veut sans devoir cliquer page suivante ou précédente jusqu'à ce qu'on y arrive finalement...

Quelque chose dans le style de phyMyAdmin qui permet d'aller directement à une page et affiche toutes les pages disponibles en lien direct... (la version que j'ai le présente dans un menu déroulant)

Est-ce qu'une âme charitable pourrait me donner un petit coup de pouce pour réaliser ce pahantasme ???

lolll


Merci !!!
mardi 1 juin 2004 à 19:33:18 | Re : Généré pages suite à requêtes

coockiesch

Salut!
On a une variable $start passée par l'url...


$nb_pages = ceil($nb_results / $nb_results_p_page);
$courant = ceil($start / $nb_results_p_page);

if($courant > 1)
echo '<a href="page.php?start=' . (($courant - 2) * $nb_results_p_page + 1)) . '">Page précédente</a>';

for($i = 1; $i <= $nb_pages; $i++)
{
if($i == $courant)
echo '<span style="color: FF0000">' . $i . '</span>';
else
echo echo '<a href="page.php?start=' . (($i - 1) * $nb_results_p_page + 1)) . '">' $i . '</a>';

if($i < $nb_pages)
echo ' <span style="color: 000000">|</span> ';
}

if($courant < $nb_pages)
echo ' <span style="color: 000000">|</span> <a href="page.php?start=' . ($courant * $nb_results_p_page + 1)) . '" class="gensmall">Page suivante</a>';


Voila j'éspère pas voir fait de fautes de code stupides...

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mardi 1 juin 2004 à 19:40:11 | Re : Généré pages suite à requêtes

pyranhaz

Cela semble à première vue + simple que ce que j'ai pu faire jusqu'ici...

Je vais maintenant tenté de tester cela dans mon environnement (mon site)

je te reviens pour dire ce que ca donne...

pe est-ce un phantasme réalisée ???

lollllll

qui sait, rien n'est impossible...
mardi 1 juin 2004 à 20:04:44 | Re : Généré pages suite à requêtes

coockiesch

Oki doki!
D'ailleurs, mon calcul pour trouver le $start en fonction du $i doit pouvoir être simplifié...

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mardi 1 juin 2004 à 20:08:27 | Re : Généré pages suite à requêtes

pyranhaz

Jusqu'à maintenant c'est ÉCHEC

J'ai une page blanche quand je mets le code dans ma source...

je cherche le problème...
mardi 1 juin 2004 à 20:12:52 | Re : Généré pages suite à requêtes

coockiesch

Tu as mis quoi comme valeurs pour:
$nb_results_p_page
$nb_results
$start

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mardi 1 juin 2004 à 20:20:30 | Re : Généré pages suite à requêtes

pyranhaz

wow il faut mettre des valeur à ces endroit là ???

je ne suis qu'un tout petit codeur sur le tas...
je n'avais pas compris que je devais mettre des valeurs qq part...

comment je dois inscrire ces valeurs et où exactement ???

sachant que je veux 50 résultats par pages
et
un nombre de pages illimitées (autant que les résultats en exigeront)


Tu vois c'est pour cela que je gossais...
mardi 1 juin 2004 à 20:22:41 | Re : Généré pages suite à requêtes

pyranhaz

Ce que j'ai fais ressemble à ceci
es-til possible d'y intégrer ton code là-dedans ???



//requête de recherche
$req = mysql_query("SELECT * from query_pc where Titre LIKE '%$_GET[query]%' Order by Titre Asc ") or die ("Maintenance en cours... ... ... <br>Veuillez réessayer ultérieurement");

//on compte les résultats
$res = mysql_numrows($req);
$total_num_page = ceil($res/50);


//----------------------------------------------------------------------
//on ressort les infos par ordres alphabétiques

if (($query != "") AND ($query != " ") AND ($query != "_"))
{

//recherche erronée cpuidle
if ($query == "cpuldle")
{
print "<b><font face=\"Verdana\" size=\"2\">L'ortographe que vous avez inscrit est erronée:</i> <font color=\"#FF0000\" size=\"2\">$query</font></b><br><br>Essayez avec l'ortographe suivant: <b><a href=\"List.php?query=cpuidle\">cpuidle</a></b></font>";
}
else

//on affiche le nombre de résultats trouvés
if ($res == 0)
{
print "<b><font face=\"Verdana\" size=\"2\">Aucun logiciel correspondant à:</i> <font color=\"#FF0000\" size=\"2\">$query</font></b><br><br>Essayez avec un mot clef plus descriptif <br><br><b><u>Astuce:</b></u><br>au lieu d'inscrire <b>logiciel untel version 1.2.3</b>, inscrivez simplement le mot <b>untel</b></font>";
}
else
{
print '<center><u><font face="Verdana" size="2" color="#FF0000"><b>'.$query.'</b></font><font color="#800000" size="2"> >> <b>'.$res.'</b> logiciel(s) disponible(s) sur <b>'.$total_num_page.'</b> page(s)</center></font></u><br>';
}

//On affiche les pages supérieurs au maximum permis
if ($cur_page == "") {$cur_page = 0;}
$page_num = $cur_page + 1;
$page_prec = $cur_page - 1;
$total_num_page = ceil($res/50);
if ($cur_page != "0")
if ($cur_page != "1")
{
$last = $cur_page;
$next = $cur_page + 2;
}
if ($cur_page == "0")
{
$last = '';
$next = $cur_page + 2;
}
if ($cur_page == "1")
{
$last = '1';
$next = $cur_page + 2;
}
if ($cur_page == "2")
{
$last = '2';
$next = $cur_page + 2;
}

$pres = $cur_page +1;

print "<Center>";

if ($total_num_page != 0)
{
print"<font face=\"Verdana\" size=\"2\">";
print"<hr width=\"30%\" color=\"#AA0000\">";
$prevpage = $cur_page-1;
$nextpage = $cur_page+1;
if ($page_num != 1){print "<a href=\"./List.php?query=$query&cur_page=$prevpage\"> << Page <b> $last</b></a>   ";}
if ($total_num_page != 1){print "  Page $pres   ";}
if ($page_num != $total_num_page){print " <a href=\"./List.php?query=$query&cur_page=$nextpage\"> Page <b>$next</b> >></a>";}
print"</font><hr width=\"30%\" color=\"#AA0000\"><br>";
}

$limit_str = "LIMIT ". $cur_page * 50 .",50";

//requête de recherche
$req = mysql_query("SELECT * from query_pc where Titre LIKE '%$_GET[query]%' Order by Titre Asc $limit_str");

print'<table width="70%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td>';

while( $sortie = mysql_fetch_array($req))
{

print'<font face="Verdana" size="2" color="#800000"><li><a href="Form.php?name='.$sortie[Titre].'&Amount='.$sortie[Amount].'">'.$sortie[Titre].'</a> [$'.$sortie[Amount].' USD]</li></font>';

}//fin de boucle
print"</td></tr></table><br>";

}

//on ferme la connexion
mysql_close();
mardi 1 juin 2004 à 20:22:52 | Re : Généré pages suite à requêtes

coockiesch

Salut!!!
$start tu la pase par l'url, c le début (LIMIT $start, 50 ds ta requete)

$nb_results c le nombre de résultat de ta requete, tu pourra aussi le passer dans l'url, là tu lui donne une valeur artificielle juste pour rire ;-) ( > 50)

$nb_results_p_page = 50

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mardi 1 juin 2004 à 20:27:31 | Re : Généré pages suite à requêtes

coockiesch

Alors...


$req = mysql_query("SELECT * from query_pc where Titre LIKE '%$_GET[query]%' Order by Titre Asc ")

-->

$req = mysql_query("SELECT * from query_pc where Titre LIKE '%$_GET[query]%' Order by Titre Asc LIMIT $start, $nb_results_p_page")


Pour compter le nombre de result (tu peux le passer de page en page ensuite, si tu veux pas faire cette requête chaque fois)

$req = mysql_query("SELECT count(*) from query_pc where Titre LIKE '%$_GET[query]%' Order by Titre Asc");

if($req)
{
$retour = mysql_fetch_array($req);
$nb_results = $retour[0];
}


Tu oublie pas de définir $nb_results_p_page à 50.

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

1 2

Cette discussion est classée dans : résultats, page, pages, chose, permet


Répondre à ce message

Sujets en rapport avec ce message

Page multiples dans résultats MySQL [ par pyranhaz ] Bonjour,Existe-il une astuce simple pour que lorsque je fais une requête MySQL sur mon site on m'affiche les pages contenant au maximum 25 résultats p Problème affichage de résultats sur plusieurs pages [ par Audreypf ] Bonjour à tous, j'ai cherché une solution sur le net mais je ne trouve pas la solution. Voici mon problème. D'abord, je précise que je suis débutante Comment ajouter page a indexer dans phpdig 1.8.9-RC1 [ par astuces_jeux ] Bonjour,j'ai un gros pb avec phpdigJe sais démmarer phpdig mais pas ajouter des pages !!!Je démmare la partie admin, puis j'ajoute des pages dans l'es Transmettre des variables PHP à travers un formulaire [ par lolo038 ] Bonjour,Je vous explique mon problème : je possède à un certain moment sur ma page un certains nombres de variables PHPs, ainsi qu'un formulaire en ba page 404, 500 etc... [ par eva4 ] bonjour, Pour finalisé mon site j'ai crée des pages d'erreurs. une page que j'ai appelé 404.php, 500.php, 503.php etc.... voici le contenu de mon fi creer un bloc fixe dans toute les pages [ par itachi2255 ] bonjour, je suis debutant et je voulais creer un petit site internet dans lequel ya plusieurs page. et je voudrais que la partie supperieure qui conti Formulaire sur plusieurs pages [ par VEIIZ0N ] Bonsoir a tous ! Je suis débutant en php , enfin j'ai quand même reussi a créé mon site en cherchant sur internet etc mais je ne réussi pas ou plutô Je n'arrive pas à récupérer une variable d'une page à l'autre [ par boubeuch1 ] Bonjour, Sur l'une de mes pages php j'ai mis un input qui affiche le nom de la musique que je viens de télécharger. Musique : " > Sur la seconde pa recherche+pagination [ par 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é URL Rewriting [ par jmp kjm ] Bonjour, Comment faire la chose suivante : Se rendre sur la page http://www.abc.com/ouilo/ssss/index.php donne la même chose que se rendre sur la pa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales