Accueil | Aide en ligne | Annuaire | Sécurité | Articles | Astuces | Téléchargements | Association 


Mon compte SOS Ordi

Vous n'êtes pas identifié
[-> S'inscrire à SOS Ordi
[-> Mot de passe perdu ?
S'identifier


Rechercher sur SOS Ordi

Ok

Dans





 Catégories de l'aide en ligne

 Aide en ligne


 Saviez vous que ...

SOS Ordi existe depuis 1998


 Partenaires

  SOS Ordi > Aide en ligne > Logiciel > Développement > Langages > ASP / PHP / JSP > Résultat d’une requête SQL réparti sur plusieurs pages web !

Résultat d’une requête SQL réparti sur plusieurs pages web !

12 réponse(s)
dont 2 ont aidé MTD'O à résoudre son problème

  Problème résolu posté le 12/07/2007 à 23:18
Profil Configuration PC
MTD'O


calimetux_mybob_tux
État : Absent
Bonjour,

Je pense que le titre résume clairement le problème.
Exemple : ma requête renvoi 30 résultats et je voudrais en faire apparaitre que 10 par page ! (je peu rajouter ou supprimer des données dans ma BDD le résultat de la requête peut donc changer et ainsi avoir un nombre de page varient !)

Merci d’avance de vos réponses.

   

Bas de page 


Information

Pour participer vous devez d'abord être membre ou identifié :
[-> M'identifier
[-> Je ne suis pas membre SOS Ordi, je souhaite m'inscrire
[-> J'ai perdu mon mot de passe


  Réponse postée le 12/07/2007 à 23:46
Profil du membre Configuration PC
Lapinkiller



État : Absent
bonjour

la seule solution que je connais est par le php...

Lapinkiller

  Réponse postée le 12/07/2007 à 23:56
Profil du membre Configuration PC
MTD'O



État : Absent
Autant pour moi !
J’ai oublié de préciser que c’est le langage que je compte utiliser.
Mais le je ne sais pas comment faire !

  Réponse postée le 12/07/2007 à 23:57
Profil du membre Configuration PC
Lapinkiller



État : Absent
as tu un minimum de connaissances en php ?

Lapinkiller

  Réponse postée le 13/07/2007 à 00:00
Profil du membre Configuration PC
MTD'O



État : Absent
Oui bien sur !

Edité par MTD'O le 13/07/2007 à 00:25


  Réponse postée le 13/07/2007 à 00:35
Profil du membre Configuration PC
Lapinkiller



État : Absent
tu fait donc logiquement une boucle pour afficher les uns apres les autres les resultats ?


(euh j'ai reussi à le faire mais comment l'expliquer c'est autre chose)

voila mon code ... si ca peut t'aider

Code :

$query=mysql_query("SELECT * FROM Livredor") ; //requete sql pour connaitre le nombre de résultats
$NbMessages = mysql_num_rows($query) ; //nombre de résultats
if(empty($_GET['id'])) //si on a pas préciser l'id (il sert a avoir plusieurs pages)
{
$id = 1 ;
}
else
{
$id = $_GET['id'] ; //si on a precise l'id dans le lien on le recupere
}
$i = 1 ;
echo "<center><table><td>" ; // ca c'es pour ma mise en page
while(($i<=10)&($id<=$NbMessages+1))
{
$donnees = mysql_fetch_array(mysql_query("SELECT * FROM Livredor WHERE ID='$id' ORDER BY date DESC")) ;
$id++ ;
if($donnees)
{
$i++ ;
$date = $donnees['date'] ;
$pseudo = $donnees['pseudo'] ;
$message = $donnees['message'] ;
$message = stripslashes($message) ;
$Date = substr($date,8,2) . "/" . substr($date,5,2) . "/" . substr($date,0,4); //remise en forme de la date

echo "<tr><span class='livredor'>Le <span class='livredor-date'>".$Date."</span><br>Par <span class='livredor-pseudo'> ".$pseudo."<br></span></span></tr><br><tr><div class='livredor-message'>".$message ."</div><center><br><img src=' http://www.indochine.123.fr/images/barre separatrice.PNG' alt='-----------'></center><br></tr></div>" ;
}
}

echo "</td></table></center>" ;

if($NbMessages >8)
{
echo "<div class='livredor-page'>" ;
$query=mysql_query("SELECT * FROM Livredor") ;
$i = 0 ;
$Page = 0 ;
while($donnees = mysql_fetch_array($query))
{
$i++ ;
if($i==10)
{
$i = 0 ;
}
if($i==1)
{
$Page++ ;
$id = $donnees['ID'] ;
if($Page > 1)
{
echo " ¤ " ;
}

echo "<a href='livredor.php?id=$id'> Page $Page </a>" ;
}
}

echo "</div>" ;
}

Edité par Lapinkiller le 13/07/2007 à 00:48



Lapinkiller

  Réponse postée le 13/07/2007 à 00:39
Profil du membre Configuration PC
MTD'O



État : Absent
Oui avec une boucle for ($i=1;$i<=10;$i++) mais le problème c’est que je ne sait pas comment faire pour (en cliquant sur un bouton) on obtiens la suite des résultats de la requête !

  Réponse postée le 13/07/2007 à 00:44
Profil du membre Configuration PC
Lapinkiller



État : Absent
c'est pour ca que j'utilise la variable $id dnas ma requete SELECT...
ca me permet de reprendre l'affichage a partir d'un id

=> premiere page le dernier id est 10 donc l'id de la deuxieme page est 11 donc moi dns mon code je passe ce id=11 dnas le lien et donc lorsque qu'on clqiue sur page 2 ca affiche 10 message a partir du id fourni dans le lien c'est à dire ici 11

c'est assez clair ?

Lapinkiller

  Réponse postée le 13/07/2007 à 00:48
Profil du membre Configuration PC
MTD'O



État : Absent
un peu compliquer mais je pense pouvoir finir par comprendre !!

  Réponse postée le 13/07/2007 à 00:51
Profil du membre Configuration PC
Lapinkiller



État : Absent
mon code peut être optimiser

il a l'air compliquer parceque j'ai mi une sécurité : si jamais tu supprime une entrée (ou plusieurs) ca ne fera pas de bugs, si un id manque ca passe à celui d'apres (c'est ce qui m'a donner le plus de mal)

s'il y a des trucs que tu comprend pas dasn mon code demande moi

Edité par Lapinkiller le 13/07/2007 à 00:51



Lapinkiller

  Réponse postée le 13/07/2007 à 00:57
Profil du membre Configuration PC
MTD'O



État : Absent
"while(($i<=10)&($id<=$NbMessages+1))"

je comprend pas trop le but de la variable $NbMessages.

  Réponse postée le 13/07/2007 à 01:19
Profil du membre Configuration PC
MTD'O



État : Absent
D.gif Après un peu de travail j’ai fini par comprendre l’utilité de la variable $NbMessages ! (il faut bien que la boucle sarrète quand la requête ne renvoi plu de données)

Ma page de test marche donc très bien ! Merci beaucoup de ton aide qui ma été précieuse !

Bien maintenant j’ai encor beaucoup de travail mais il attendra demain !

Encor merci.

  Réponse postée le 13/07/2007 à 01:20
Profil du membre Configuration PC
Robot SOSORDI



État : Absent
Réponse automatique :

Cette question est résolue



Haut de page 

 

Version 5.6 | Infos / Contacts | Partenariat | Publicité