begin process at 2012 05 30 18:17:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

pb requète sql sur plusieurs pages


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

pb requète sql sur plusieurs pages

mercredi 18 juillet 2007 à 11:05:46 | pb requète sql sur plusieurs pages

bedoc

hello à tous

je sais que ce problème doit revenir assez régulièrement, mais j'ai un petit soucis avec un code trouvé sur ce site, ici

je l'ai intégré dans ma page, il m'affiche bien le nombre de pages  (j'ai choisi 30 lignes par pages), j'ai 50 entrées dans ma base et il m'affiche 2 pages, donc jusque là ça va. mais par contre impossible d'afficher les résultats en question ! et j'ai beau regarder le code, je ne trouve pas ce qui cloche.

----------------------------
<!-- Nous allons afficher les résultats dans les cellules suivantes -->
<?

// on initialise les variables
$msg_page=30; // donne le nombre de ligne a lister avant de passer a la page suivante
$page=1;
$ref=0;

// on compte le nombre d'enregistrement dans la table
$reponsesql=mysql_query("SELECT * FROM audio WHERE nav='$navaudio'");
$nbmsg = mysql_num_rows($reponsesql);

// on cherche a obtenir le nombre de page que l'on va devoir afficher
$nbpage=$nbmsg/$msg_page;
$nbpage=ceil($nbpage);

//on demarre la variable qui va contenir la chaine complete des liens vers les pages
$aff_gestion_page = "<font color=\"#FFFFFF\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Page : ";

// on cree les liens pour chaque pages
while ($page<=$nbpage)
{
// si la page pour laquel on cree le lien est la page sur laquel on est, alors on ne cree pas de lien pour cette page
if($page==($_GET[idpage]/$msg_page)+1) $aff_gestion_page .= " <font color=\"#999999\"><b>$page</b></font>";
else $aff_gestion_page .= " <a class=\"link\" href=sms.php?selby=$_GET[selby]&selorder=$_GET[selorder]&id=seemsg&idpage=".$ref.">".$page."</a>";
$ref+=$msg_page;
$page++;
}

//on termine la chaine
$aff_gestion_page .= "</font>";

// cette variable contient la chaine complete de tous les liens des pages generé,
// ce principe permet d'afficher les liens vers les page nimporte ou dans la page html, pas forcement en fin de page.
echo $aff_gestion_page; ?>

<?

// on cree ainsi la requete que l'on souhaite utiliser selon la page sur laquel on est
// LIMIT $_GET[idpage],$msg_page
$query="SELECT * FROM audio WHERE nav='$navaudio' ORDER BY date LIMIT $_GET[idpage],$msg_page";
$reponse=mysql_query($query) or die("<br> Problème de sélection"); ?>


<?
// J'affiche ensuite la liste des concerts pour le groupe demandé

$i = 0;
while ($ligne = mysql_fetch_array($reponse)) {
echo '<tr align="center" class="ligne', $i , '">' ?>
<td width="10%"><a href="fiche_bootleg.php?id=<? echo $ligne['id']; ?>"><? echo $ligne["date"];?></a></td>
<td width="12%"><? echo stripslashes($ligne["ville"]); ?></td>
<td width="5%"><? echo $ligne["source"]; ?></td>
<td width="5%"><? echo $ligne["son"]; ?></td>
<td width="5%"><? echo $ligne["support"]; ?></td>
<td width="26%" align="left"><? echo $ligne["genealogie"]; ?></td>
<td width="37%" align="left" class="texte"><? if ($ligne["matos"] != "") {
?> <span class=""><? echo nl2br (stripslashes($ligne["matos"])); ?> </span>
<? }

else {
?> <span class="textegras"> <? echo (stripslashes($ligne["titre"])); ?></span>
<? }
?>
</td>
<?php echo'</tr>';
$i=1-$i;
}
?> 

-----------------------------------

il m'indique le message "Problème de sélection" (j'ai mis en gras) et ne me retourne pas les résultats... je sais pas si ça a un rapport avec le code pour l'alternance des couleurs des lignes de mon tableau, mais si jamais vous voyez ce qui cloche, ça m'aiderai fortement.

merci d'avance pour votre aide
mercredi 18 juillet 2007 à 11:30:30 | Re : pb requète sql sur plusieurs pages

eplanet

Ca semble être un problème au niveau de ta requête SQL... je ne sais plus si c'est possible de passer la valeur d'un tableau comme tu le fais dans une chaine de caractères...

Essaie ca :

$query="SELECT * FROM audio WHERE nav='$navaudio' ORDER BY date LIMIT ".$_GET[idpage].",$msg_page";

Si ca ne marche toujours pas, vérifie que toutes tes variables dans la requête sont correctes ainsi que le nom de la table et des champs.

Vince
mercredi 18 juillet 2007 à 11:33:05 | Re : pb requète sql sur plusieurs pages

eplanet

D'ailleurs c'est $_GET['idpage'] ou $_GET[$idpage] non ?...

Vince
mercredi 18 juillet 2007 à 11:47:14 | Re : pb requète sql sur plusieurs pages

bedoc

merci pour la réponse mais malheureusement, ça ne change rien
j'ai tout vérifié au niveau de mes variables et de ma table et il n'y a pas d'erreur

d'ailleurs, lorsque j'enlève  LIMIT '.$_GET[idpage].',$msg_page dans ma requète, il m'affiche bien toutes mes lignes...
mercredi 18 juillet 2007 à 11:52:28 | Re : pb requète sql sur plusieurs pages

eplanet

Tiens, j'avais pas fait gaffe mais pourquoi tu as deux arguments après LIMIT ?... (peut-être que c'est une possibilité que je ne connaissais pas...)

Vince
mercredi 18 juillet 2007 à 12:01:29 | Re : pb requète sql sur plusieurs pages

bedoc

euh ben c'est une bonne question !

c'est un code que j'ai repris sur ce site (j'ai mis le lien plus haut) donc je t'avoue que je ne sais pas si c'est par là que ça cloche. mais d'après les commentaires qu'il y avait, ça marchait normalement
mercredi 18 juillet 2007 à 12:04:06 | Re : pb requète sql sur plusieurs pages

eplanet

Essaie

$query="SELECT * FROM audio WHERE nav='$navaudio' ORDER BY date LIMIT ".$_GET['idpage'].",$msg_page";

au lieu de


$query="SELECT * FROM audio WHERE nav='$navaudio' ORDER BY date LIMIT '.$_GET[idpage].',$msg_page";


Vince
mercredi 18 juillet 2007 à 13:40:32 | Re : pb requète sql sur plusieurs pages

bedoc

ça ne fonctionne pas mieux...

j'ai réussi à trouver un autre code qui fonctionne, sauf que j'ai un problème pour les liens des paginations
j'aimerai qu'il me récupère une variable dans le lien, mais je n'arrive à l'insérer sans avoir un message d'erreur

<? }

/* Nb d'enregistrement total */
$nb_total = mysql_query("SELECT COUNT(*) AS nb_total FROM audio WHERE nav='$navaudio'");
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];

/* Pagination */
$nb_pages = ceil($nb_total / $pagination);
echo '<p>[ Page :';

/* Boucle sur les pages */
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page )
echo " $i";
else
echo "<a href=\"liste_artisteen2.php?nav=$ligne['nav']&page=$i\">$i</a> ";

}
echo ' ]</p>'; ?>

 
mercredi 18 juillet 2007 à 14:22:07 | Re : pb requète sql sur plusieurs pages

TestOunet_0

"j'ai réussi à trouver un autre code qui fonctionne mais ..."

Pour moi c'est reculer pour mieux sauter, et par expérience, je pense pouvoir te dire que passer sur un autre code ne règle pas toujours le problème (même des fois pas du tout :o)
Si tu ne comprends pas tout dans un code,tu retrouvera d'autres problèmes dans un autre, chacun ayant "SA" syntaxe propre.
Le mieux est de se baser sur un seul, et de le bosser à fond, et comme tu le fait poster sur les forums pour demander de l'aide !
(le cas présent je ne peux t'aider faute de temps)
mercredi 18 juillet 2007 à 15:07:25 | Re : pb requète sql sur plusieurs pages

eplanet

Réponse acceptée !
Pareil que précedemment, moi je mettrais :

echo "<a href=\"liste_artisteen2.php?nav=".$ligne['nav']."&page=$i\">$i</a> ";

Vince

1 2

Cette discussion est classée dans : page, pages, gestion, msg, aff


Répondre à ce message

Sujets en rapport avec ce message

pb gestion des erreures [ par tich69 ] salut j'ai un pb !!! lol c pour ca que je suis ici !dans ma page php g mis ------------ or die("") pour eviter les erreurs mais ceci arrete totalemen gestion dynamique du site [ par najat ] je voudrais bien me donner une idée sur la gestion dynamique des sites par PHP tel que l'ajout de page au site en utilisant une base de donnée pour st script à modifier [ par pyranhaz ] Bonjour,J'ai un script d'auto-expiration de page (rien à voir avec la fonction "meta expire") en javascript...Jaimerais avoir ce script en php autant communication entre 2 pages.... [ par fullmounthy ] j comprends rien...j ai une page ou j ai:.......bref un bete form visant a l upload d un fichiersur une autre page (la Gestion sessions [ par elanspeech ] Salut,J'ai des difficultes a resoudre la gestion de session.quand un utilisateur se logue, je met ma base a jour, s'il se deconnecte, je fais de meme. Une petite question sur les pages php [ par ian ] Faut-il toujours insérer le code php dans le body d'une page html qui a une extension .php, ou y-a-t-il un moyen de faire fonctionner une page de cod Fonction Include sur les pages d'un autre nom de domaine [ par Sylvainlefou ] Est-il possible d'utiliser la fonction include avec une page d'un site externe ? Et y a-t-il des hebergeurs qui bloquent cette fonction ?Exemple :incl passage de variables de pages en pages [ par chouchou1 ] Bonjour, J ai un petit souci: j ai une premiere page dans laquelle je rempli un formulaire. Et ensuite un traitement des données dans d autres pages.J appeler ou retourner sur une pages, sans erreur ... [ par Orcus ] Bonjour,Sur ma page index.php, g un formulaire que l'utilisateur remplie. La validité des données est testée sur une autre page php (connexion à une b Gestion formulaire history.go(-1) avec conservation de variables [ par apz ] ----------------------------------------------------------------------Salut,config.php :define('ERRT','<Table Border=1 CellSpacing=0 CellPadding=4 bor


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,686 sec (3)

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