[résolu] Afficher les enregistrements par groupes

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par SuperCureuil, 9 Mars 2007.

  1. SuperCureuil
    SuperCureuil WRInaute impliqué
    Inscrit:
    9 Mars 2007
    Messages:
    567
    J'aime reçus:
    0
    Bonjour,


    Je débute en php et m'excuse déjà si ma question est c... , mais bon, là, j'ai beau essayer, je sèche lamentablement !

    Voilà, n'étant pas capable de faire ce que je veux tout seul, j'ai récupéré un bout de script que j'essaye d'adapter à mon cas ... mais malgré tt, ça coince encore !

    Je voudrais récupérer les enregistrements d'une table en les classant par catégorie, par groupes de 10. Jusque là tt va bien, du moins pour les 10 premiers enregistrements. En effet, le problème survient lorsqu'on clique sur le lien permettant d'afficher les 10 enregistrements suivants : malgré une valeur différente attribuée à $start, j'obtiens toujours les 10 mêmes résultats !

    Voilà le code :
    Code:
    if (!isset($start)) {
    	$start=0;
    	} else {
    	$start=$_GET['start'];
    	}
    	$req = mysql_query("SELECT * FROM annuaire WHERE categorie LIKE '$categorie' ORDER BY '$categorie' LIMIT ".$start.",".$nb);
    	$compte = mysql_query("SELECT COUNT(*) from annuaire WHERE categorie='".$categorie."'");
    
    if (mysql_result($compte,0) == 0) {  // S'il n'y a pas encore de site ds la catégorie
    	echo "<p>Il n'y a pas encore de site dans cette catégorie. Profitez-en donc pour y ajouter le vôtre s'il y correspond !</p>";
    }
    else {
    	 while($row=mysql_fetch_assoc($req))
    	 {
    	 ?>
    <--------- code html/php pour l'affichage ------------------------------>
    
    <?php
    $result=mysql_query("SELECT COUNT(*) from annuaire WHERE categorie='".$categorie."'");
    $row = mysql_fetch_row($result);
    if (!isset($_GET['start'])) {
    	$start == "0";
    }
    else $start = $_GET['start'];
    if ($start == "0") {
    	echo"<b><font size=\"1\" face=\"Verdana\">[1]</font></b>";
    }   else {
    		 echo"<a href=\"sites.php?categorie=$categorie&start=0\">[1]</a>";
    	}
    for($index=1;($index*$nb)<$row[0];$index++) {
    	$pg = $index+1;
    	if(($index*$nb)!=$start) {
    		print("&nbsp;<a href=\"sites.php?categorie=$categorie&start=".($index*$nb)."\">");
    		echo"[".$pg."]";
    		print("</a>");
    	}
    	else {
    		 echo" <b><font size=\"1\" face=\"Verdana\">[".$pg."]</font></b>";
    	} }
    ?> 
    Il y a des redondances et le code n'est pas optimisé mais vu que je suis en train de me battre avec, je balance un peu la sauce à tout vent, je réglerai ça après.

    Voilà, si qq pouvait m'aider à y voir plus clair, ça m'ferait plaisir !

    Par ailleurs, si vous aves des suggestions quant à la syntaxe que j'utilise ou l'optimisation du code, je suis preneur également.

    Merci d'avance à ceux qui pourront m'aider à me sortir de cette impasse

    SuperCureuil
     
  2. xTrade
    xTrade WRInaute passionné
    Inscrit:
    11 Décembre 2006
    Messages:
    1 473
    J'aime reçus:
    0
  3. SuperCureuil
    SuperCureuil WRInaute impliqué
    Inscrit:
    9 Mars 2007
    Messages:
    567
    J'aime reçus:
    0
    Merci pour le tuyau, il y a en effet une corrélation avec mon problème mais la deuxième solution que tu as trouvée ne s'applique pas à mon cas, et je ne ne parviens pas à extrapoler car je ne veux pas afficher les résulats entre tel et tel id ou autre champ mais bien à partir d'un nombre de résultats (pffffff vous suivez car j'ai l'impression que c'est vraiment pas clair ? :wink: )

    Merci quand même xtrade, je continue à chercher en ce sens en tentant d'appliquer le limit différemment ...

    EDIT : En fait, je crois que plutôt que d'un limit, j'aurais besoin d'une instruction signifiant "à partir de". Doit y'avoir ça en stock, je :arrow: faire des recherches :lol:

    Re-EDIT : ben non apparemment le limit tel qu'il est exprimé devrait fonctionner ... je n'y comprends rien et je ne vois pas du tout où se situe le problème !
     
  4. SuperCureuil
    SuperCureuil WRInaute impliqué
    Inscrit:
    9 Mars 2007
    Messages:
    567
    J'aime reçus:
    0
    Je progresse :wink: : le problème vient en fait du bout de code suivant :

    i
    Code:
    f (!isset($start)) {
       $start=0;
       } else {
       $start=$_GET['start'];
       } 
    En fait la variable start est censée être passée en paramètre dans l'url mais ce n'est pas le cas et donc le sinon n'est jamais executé ...
    Est-ce que cela provient de la structure de l'url ->
    Code:
    .../index.php?categorie='$categorie'&start='...
    Comment puis-je faire passer ce paramètre ? L'erreur est-elle causée par la présence de deux paramètres ?

    Merci pour vos lumières
     
  5. SuperCureuil
    SuperCureuil WRInaute impliqué
    Inscrit:
    9 Mars 2007
    Messages:
    567
    J'aime reçus:
    0
    j'ai remplacé

    Code:
    if (!isset($start))
    par

    Code:
    if (!isset($_GET['start']))
    Et ça roule (forcément) !

    C'était pas très fut' fut ':oops:

    Bonne continuation à tous
     
  6. xTrade
    xTrade WRInaute passionné
    Inscrit:
    11 Décembre 2006
    Messages:
    1 473
    J'aime reçus:
    0
    Ah oui, pas vu :oops:

    De programmer majoritairement dans des langages du type c++ fait que je n'ai pas l'habitude de voir ce genre d'erreur. Ca plante tout de suite à la compilation, c'est pratique!
     
Chargement...
Similar Threads - [résolu] Afficher enregistrements Forum Date
[Résolu] afficher image provenant de flux xml Développement d'un site Web ou d'une appli mobile 20 Février 2010
Comment faire pour afficher un grand prix 3 chiffre par 3 [RESOLU] Développement d'un site Web ou d'une appli mobile 10 Février 2010
[résolu]Afficher le champ d'une table mysql sur plusieurs pages ? Développement d'un site Web ou d'une appli mobile 5 Juillet 2009
[Résolu] Afficher des caractères slovaques... Développement d'un site Web ou d'une appli mobile 20 Mai 2008
[Résolu] N'afficher une requete que si le champ de la BDD... Développement d'un site Web ou d'une appli mobile 22 Février 2008
[Résolu] Afficher les resultats d'une requeste SQL sur deux Développement d'un site Web ou d'une appli mobile 14 Janvier 2008
[Resolu] bouton droit "afficher l'image"->bug? Développement d'un site Web ou d'une appli mobile 29 Octobre 2007
[Résolu] Afficher du javascript en php sous condition Développement d'un site Web ou d'une appli mobile 21 Juillet 2007
[Résolu] Magpie afficher la partie "content:encoded&quo Développement d'un site Web ou d'une appli mobile 23 Octobre 2005
[Résolu]afficher 1 image d'un rep en dehors d'apache Administration d'un site Web 23 Mai 2005
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
[Résolu] Redirection 301 FR vers EN sur Prestashop uniquement sur outils Google ? Problèmes de référencement spécifiques à vos sites 11 Septembre 2017
[résolu] Passage à HTTPS, comment tester une page ? Développement d'un site Web ou d'une appli mobile 7 Septembre 2017
[Résolu] Redirection d'une famille d'URL URL Rewriting et .htaccess 9 Mars 2017
[Résolu] Diaporama et SEO Débuter en référencement 17 Janvier 2017
[résolu]Redirection monsite.fr/index.html sur monsite.fr et seo URL Rewriting et .htaccess 16 Janvier 2017
[resolu]Publicité facebook lié au compte instagram Facebook 12 Décembre 2016
[résolu] Récupérer des valeurs issues de javascript pour les mettre en base MySQL Développement d'un site Web ou d'une appli mobile 18 Juillet 2016
[résolu] Faire une redirection sauf pour mon adresse IP URL Rewriting et .htaccess 15 Juin 2016
[Résolu] 2 descriptions pour une même url selon requête Crawl et indexation Google, sitemaps 1 Juin 2016