[résolu] Afficher les enregistrements par groupes
6 messages
• Page 1 sur 1
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
[résolu] Afficher les enregistrements par groupes
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 :
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
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: Tout sélectionner
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(" <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
Dernière édition par SuperCureuil le Ven Mar 09, 2007 12:18, édité 1 fois.
-

xTrade - WRInaute passionné

- Messages: 2289
- Inscription: 11 Déc 2006
Regarde la réponse de Tilt à ma question : http://www.webrankinfo.com/forums/viewtopic_69068.htm
J'ai l'impression que tu as le même problème que celui que j'avais exposé.
J'ai l'impression que tu as le même problème que celui que j'avais exposé.
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
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 ?
)
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
faire des recherches
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 !
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
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 !
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
Je progresse
: le problème vient en fait du bout de code suivant :
i
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 ->
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
i
- Code: Tout sélectionner
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: Tout sélectionner
.../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
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
j'ai remplacé
par
Et ça roule (forcément) !
C'était pas très fut' fut ':oops:
Bonne continuation à tous
- Code: Tout sélectionner
if (!isset($start))
par
- Code: Tout sélectionner
if (!isset($_GET['start']))
Et ça roule (forcément) !
C'était pas très fut' fut ':oops:
Bonne continuation à tous
-

xTrade - WRInaute passionné

- Messages: 2289
- Inscription: 11 Déc 2006
SuperCureuil a écrit:j'ai remplacé
- Code: Tout sélectionner
if (!isset($start))
par
- Code: Tout sélectionner
if (!isset($_GET['start']))
Et ça roule (forcément) !
C'était pas très fut' fut ':oops:
Bonne continuation à tous
Ah oui, pas vu
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!
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [RESOLU] affiche 20 enregistrements aléatoire en php
- résolu - cache_lite et groupes
- [résolu] [mysql] passer un champ à une valeur donnée pour tous les enregistrements
- [Résolu] Afficher des caractères slovaques...
- [Résolu] afficher image provenant de flux xml
- [Résolu] Afficher du javascript en php sous condition
- [Résolu]afficher 1 image d'un rep en dehors d'apache
- [Blogger] Afficher/Masquer une partie d'un message [résolu]
- [Résolu] Magpie afficher la partie "content:encoded&quo
- Comment faire pour afficher un grand prix 3 chiffre par 3 [RESOLU]
Consultez la description détaillée des produits ou services de Google suivants : Google Groups
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
