Un vrai soucis de raisonnement

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un vrai soucis de raisonnement

par whombat » 01 févr. 2009, 00:15

Merci pour tes liens.

J vais en faire mes choux gras...

Cordialement.

par rolusseum » 31 janv. 2009, 22:51

Difficile de t'aider.
Voici 2 liens qui pourront peut-être t'intéresser.
http://www.lephpfacile.com/howto/6-un- ... agination

par whombat » 31 janv. 2009, 04:55

Pour le filtre cela se fait en fonction de la demande. J'ai tout un chemin en oui, non qui aboutit au $sql désiré . En gros :

Code : Tout sélectionner

swithch($_POST["action"]) case 'recherche': $recherche = $_POST["recherche"]; $lieu = $_POST["lieu"]; if($lieu == 'titre') ( $uffixl = " WHERE titre LIKE '$recherche'"; } elseif($lieu =='msg') { $uffixl = " WHERE texte LIKE '$recherche'"; } elseif($lieu == 'les deux') { $uffixl = " WHERE titre LIKE '$recherche' OR texte LIKE 'recherche'"; } ....................................... tous les cases.... } $sql1 ="SELECT * FROM boutik"; $sql = $ql1.$suffix; $reponse = mysql_query($sql, GetMyConnection());
Pour la pagination avec mises en page:

Code : Tout sélectionner

<?php echo " <TABLE width='95%'> <TR> <TD align='right'> <FONT class='font'>Pages : "; $moins_page1 = $page - 1; echo "<A HREF='index.php?page=0&serie=1'><FONT class='font2'> <<<FONT size='2' color='black'>&nbsp;&nbsp;"; echo "<A HREF='index.php?page=$moins_page1'><FONT class='font2'> <<FONT size='2' color='black'>&nbsp;&nbsp;"; // pour n'afficher que 10 pages à la fois (page << < 1 2 3 4 ..... 10 > >>) $p=0; $x=0; $tours = array(); for($i = 0; $i < $max_pg; $i++) { if(($i % 10) == 0) { $p++; $x=0; } $tours[$p][$x] = $i; if ($i == $page) { $p_ref = $p; } $x++; } if(!isset($p_ref)) $p_ref = $p; $mini = $tours[$p_ref][0]; if(!isset($tours[$p_ref][9])) { $maxi = max($tours[$p_ref]); } else { $maxi = $tours[$p_ref][9]; } for($i = 0 ; $i <= $max_pg ; $i++) { if(($i >= $mini) && ($i <= $maxi)) { $u = $i + 1; // on décale l'affichage de 1 puisqu'au départ $page vaut 0... if($i == $page) { $nouv_font = "<FONT class='font2'>"; } else { $nouv_font = "<FONT class='font5'>"; } echo "<A HREF='index.php?page=$i'>$nouv_font $u&nbsp;&nbsp;"; } } if (($max_pg - $maxi) > 0) { $sur_page1 = ($page + 1); echo "<A HREF='index.php?page=$sur_page1'><FONT class='font2'> ><FONT size='2' color='black'>&nbsp;&nbsp;"; echo "<A HREF='index.php?page=$max_pg&serie=1'><FONT class='font2'> >><FONT size='2' color='black'>&nbsp;&nbsp;"; } else { echo "<FONT size='2' color='#C0C0C0'> ><FONT size='2' color='black'>&nbsp;&nbsp;"; echo "<FONT size='2' color='#C0C0C0'> >><FONT size='2' color='black'>&nbsp;&nbsp;"; } echo " </TD> </TR> </TABLE>"; ?>
Voilà...[/code]

par rolusseum » 31 janv. 2009, 01:17

Comment fais-tu le filte d'affichage par page?
Comment fais-tu la navigation des pages produits?

Un vrai soucis de raisonnement

par whombat » 30 janv. 2009, 22:26

Bonjour à tous.

J'ai un problème de raisonnement. Si je comprends la marche à suivre, il est possible que je puisse le traduire en script mais j'arrive pas à trouver la logique du truc.

Voilà, en deux mots. Il s'agit d'une boutique, avec en tête de page la possibilité de trier par catégories ou par sous-catégories ou encore par produits.

Le visiteur choisit une categorie ($categ) et je trie dessus avec un WHERE dans ma requete SQL.

Il peut y avoir 4 ou 5 pages de résultats (sur 30 au total de la base avec 10 résultats par page). La pagination est correcte et fonctionne bien. MAIS...

Lorsque le visiteur trie sur une $categ, la première page lui donne les premiers résultats correspondants à sa demande. mais à la seconde page, le script revient au trie sur la base entière.

Pas moyen de rester sur les données triées durant les 4 ou 5 pages nécessaires.

Et je n'arrive pas à voir, dans mon esprit, comment y parvenir.

Quelqu'un aurait une idée ?

Merci à tous de votre aide.

Cordialement.