[PHP/MYSQL] LIMIT devient fou !?
Résolu
elsadelatoundra
Messages postés
126
Date d'inscription
Statut
Membre
Dernière intervention
-
oberion Messages postés 1253 Date d'inscription Statut Membre Dernière intervention -
oberion Messages postés 1253 Date d'inscription Statut Membre Dernière intervention -
LIMIT devient fou ... et moi aussi !!
Bonjour !
Encore besoin d'aide ... ça faisait au moins 2 jours que je m'en sortais comme une grande ! ;-)
Bon, là je comprends plus rien !
Dans un form, j'essaye d'exécuter une requête pour consulter des instances contenues dans ma base de données MySQL. J'ai aussi créé un bouton de type SUBMIT qui permet de demander les 10 enregistrements suivants ... et ainsi de suite, on pourra consulter toute la table au final !!
Voilà mon code ... en plus je fais des affichages pour être sûre de ce que je demande !!
Ce qui s'affiche quand je lance mon php :
from = 0
Nombre de lignes que je veux afficher : 10
La requête que j'essaye d'exécuter : SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT 0,10
Nombre lignes obtenues suite à la requête = 10
Hey, c'est que ça marche ... je sais me servir de echo !! Jusque là, tout va bien !! En plus en dessous, les 10 dernières instances s'affichent ...
Quand je clique sur mon bouton, je réexécute le même script et obtiens :
from = 10
Nombre de lignes que je veux afficher : 10
La requête que j'essaye d'exécuter : SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT 10,10
Nombre lignes obtenues suite à la requête = 10
Là, ça va toujours ... hé ben non !! Mon tableau ne se remplit pas !! C'est fou quand même ... je ne savais pas vraiment me servir de LIMIT, je suis allée sur phpMyAdmin et là j'ai exécuté la même requête ... Elle marche pas dans mon php mais dans phpMyAdmin tout marche !!
C'est à n'y rien comprendre !! Enfin, moi je suis perdue ... Aidez moi s'il vous plaît !!
Merci d'avance :-)
Bonjour !
Encore besoin d'aide ... ça faisait au moins 2 jours que je m'en sortais comme une grande ! ;-)
Bon, là je comprends plus rien !
Dans un form, j'essaye d'exécuter une requête pour consulter des instances contenues dans ma base de données MySQL. J'ai aussi créé un bouton de type SUBMIT qui permet de demander les 10 enregistrements suivants ... et ainsi de suite, on pourra consulter toute la table au final !!
Voilà mon code ... en plus je fais des affichages pour être sûre de ce que je demande !!
$from=0; $to=$from+10; echo"from = ".$from."<br>"; $nb=$to-$from; echo"Nombre de lignes que je veux afficher : ".$nb; $requeteRSSI="SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT ".$from.",".$nb; echo"La requête que j'essaye d'exécuter : ".$requeteRSSI."<br>"; echo"Nombre lignes obtenues suite à la requête : ".mysql_num_rows($resultatRSSI)."<br>";
Ce qui s'affiche quand je lance mon php :
from = 0
Nombre de lignes que je veux afficher : 10
La requête que j'essaye d'exécuter : SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT 0,10
Nombre lignes obtenues suite à la requête = 10
Hey, c'est que ça marche ... je sais me servir de echo !! Jusque là, tout va bien !! En plus en dessous, les 10 dernières instances s'affichent ...
Quand je clique sur mon bouton, je réexécute le même script et obtiens :
from = 10
Nombre de lignes que je veux afficher : 10
La requête que j'essaye d'exécuter : SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT 10,10
Nombre lignes obtenues suite à la requête = 10
Là, ça va toujours ... hé ben non !! Mon tableau ne se remplit pas !! C'est fou quand même ... je ne savais pas vraiment me servir de LIMIT, je suis allée sur phpMyAdmin et là j'ai exécuté la même requête ... Elle marche pas dans mon php mais dans phpMyAdmin tout marche !!
C'est à n'y rien comprendre !! Enfin, moi je suis perdue ... Aidez moi s'il vous plaît !!
Merci d'avance :-)
A voir également:
- [PHP/MYSQL] LIMIT devient fou !?
- Easy php - Télécharger - Divers Web & Internet
- 552 size limit exceeded ✓ - Forum Réseaux sociaux
- Mysql community server - Télécharger - Bases de données
- Sapraz.com devient ✓ - Forum Matériel & Système
- Mon fond d'écran devient noir ✓ - Forum Windows 7
6 réponses
Bonjour Elsa,
Cela faisait effectivement deux jours, ca me manquait. :)
Peut on voir le code de remplissage du tableau, stp ?
Cela faisait effectivement deux jours, ca me manquait. :)
Peut on voir le code de remplissage du tableau, stp ?
Coucou oberion,
Mes débuts difficiles font rire ... j'espère pouvoir en rire un jour aussi ;-)
Bon, j'envoie le remplissage de mon tableau ... Le code n'est pas optimisé, sûrement mal écrit, mal pensé ... J'espère que cette lecture barbare ne sera pas trop dure !! Je souhaite donc bon courage à tous ceux et toutes celles qui me liront et m'aideront !!
1000 mercis !
aaaahhh !! je viens de cliquer sur "Prévisualiser" avant de poster ... j'ai un peu honte de vous infliger cette lecture !!
Mes débuts difficiles font rire ... j'espère pouvoir en rire un jour aussi ;-)
Bon, j'envoie le remplissage de mon tableau ... Le code n'est pas optimisé, sûrement mal écrit, mal pensé ... J'espère que cette lecture barbare ne sera pas trop dure !! Je souhaite donc bon courage à tous ceux et toutes celles qui me liront et m'aideront !!
<?php require'../require/en_tete.php'; // connection bdd + variable require'../require/connexionBD.php'; // compteur des affichages : on affichera les enregistrements 10 par 10 if((isset($_POST['FROM_HIDDEN'])) && (isset($_POST['TO_HIDDEN']))){ $from=$_POST['FROM_HIDDEN']; $to=$_POST['TO_HIDDEN']; } else{ $from=0; $to=$from+10; } $newFrom=$from+10; $newTo=$to+10; echo"<form action='consulterRSSI.php' method='post'>"; echo"<input type='hidden' value='".$newFrom."' name='FROM_HIDDEN'>"; echo"<input type='hidden' value='".$newTo."' name='TO_HIDDEN'>"; echo"<button type='submit' action='consulterRSSI.php' style='background:lavender'; cursor:hand; border:solid 1px lavender; name='enregistrementsSuivants'>"; echo"<img src='../images/next.gif'>"; echo"</button>"; echo"</form>"; ?> <TABLE align='center' cellspacing='1' border='1'> <TR> <td> </td> <td> </td> <td> </td> <td> </td> <td div align="center" class="form_field" colspan="3">Dates</td> <td> </td> <td div align="center" class="form_field" colspan="3">Charges</td> <td> </td> </TR> <TR> <td class="form_field">N°</td> <td class="form_field">Activité</td> <td class="form_field">Sous activité</td> <td class="form_field">Création</td> <td class="form_field">Début</td> <td class="form_field">Fin</td> <td class="form_field">Echéance</td> <td class="form_field">Etat</td> <td class="form_field">Prévisionnelles</td> <td class="form_field">Consommées</td> <td class="form_field">Restantes</td> <td> </td> </TR> <?php echo"from = ".$from."<br>"; $nb=$to-$from; echo"Nombre de lignes que je veux afficher : ".$nb."<br>"; $requeteRSSI="SELECT * FROM RSSI ORDER BY RSSI_ID DESC LIMIT ".$from.",".$nb; echo"La requête que j'essaye d'exécuter : ".$requeteRSSI."<br>"; $resultatRSSI=mysql_query($requeteRSSI) or die ("Exécution de la requête impossible".$requeteRSSI."<br />".mysql_error()); $enregistrements=mysql_fetch_row($resultatRSSI); echo"Nombre lignes obtenues suite à la requête = ".mysql_num_rows($resultatRSSI)."<br>"; for ($i = $from; $i < mysql_num_rows($resultatRSSI)-1; $i++) { if ($i%2==0){ $color='B0C4DE'; } else{ $color='F5F5F5'; } echo("<TR BGCOLOR=".$color.">"); echo"<form name='form".$i."' action='modifierRSSI.php' method='post'>"; $row_array = mysql_fetch_row($resultatRSSI); for ($j = 0; $j < mysql_num_fields($resultatRSSI); $j++) { switch($j){ case 0: echo"<input type='hidden' value='".$row_array[$j]."' name='ID_HIDDEN'>"; echo"<td class='form_text'>".$row_array[$j]."</td>"; break; case 1: // Activité $requeteActivite="SELECT a.NOM_ACTIVITE FROM ACTIVITE_RSSI a WHERE a.ACTIVITE_ID='$row_array[$j]'"; $resultatActivite=mysql_query($requeteActivite) or die ("Exécution de la requête impossible".$requeteActivite."<br />".mysql_error()); $nomActivite=mysql_fetch_array($resultatActivite); $reponse=$nomActivite[0]; echo("<td class='form_text'>" . $reponse . "</td>"); break; case 2: // Sous-activité $requeteSousActivite="SELECT s.NOM_SOUS_ACTIVITE FROM SOUS_ACTIVITE_RSSI s, ACTIVITE_RSSI a WHERE s.SOUS_ACTIVITE_ID='$row_array[$j]'"; $resultatSousActivite=mysql_query($requeteSousActivite) or die ("Exécution de la requête impossible".$requeteSousActivite."<br />".mysql_error()); $nomSousActivite=mysql_fetch_array($resultatSousActivite); $reponse=$nomSousActivite[0]; echo("<td class='form_text'>" . $reponse . "</td>"); break; case 3: // Date de création $dateCreation=$row_array[$j]; $anneeCreation=substr($dateCreation, 0, 4); $moisCreation=substr($dateCreation, 5, 2); $jourCreation=substr($dateCreation, 8, 2); if ($jourCreation<>0 && $moisCreation<>0 && $anneeCreation<>0){ echo("<td class='form_text'>Le ".$jourCreation."/".$moisCreation."/".$anneeCreation); } else{ echo"<td> </td>"; } break; case 4: // Heure de création if ($row_array[$j]<>0){ echo(" à ".$row_array[$j]."</td>"); } break; case 5: // Début $dateDebut=$row_array[$j]; //$dateFin=$row_array[$j];echo$row_array[$i];echo" ";echo$dateDebut;echo" "; $anneeInstance=substr($dateDebut, 0, 4); $moisInstance=substr($dateDebut, 5, 2); $jourInstance=substr($dateDebut, 8, 2); if ($jourInstance<>0 && $moisInstance<>0 && $anneeInstance<>0){ $debutHIDDEN=1; echo("<td class='form_text'>Le ".$jourInstance."/".$moisInstance."/".$anneeInstance."</td>"); } else{ $debutHIDDEN=0; echo"<td> </td>"; } echo "<input type='hidden' value='".$debutHIDDEN."' name='DATE_DEBUT_HIDDEN'>"; break; case 6: // Fin $dateFin=$row_array[$j]; $anneeInstance=substr($dateFin, 0, 4); $moisInstance=substr($dateFin, 5, 2); $jourInstance=substr($dateFin, 8, 2); if ($jourInstance<>"0" && $moisInstance<>"0" && $anneeInstance<>"0"){ $finHIDDEN=1; echo("<td class='form_text'>Le ".$jourInstance."/".$moisInstance."/".$anneeInstance."</td>"); } else{ $finHIDDEN=0; echo"<td> </td>"; } echo "<input type='hidden' value='".$finHIDDEN."' name='DATE_FIN_HIDDEN'>"; break; case 7: // Echéance $dateEcheance=$row_array[$j]; $anneeInstance=substr($dateEcheance, 0, 4); $moisInstance=substr($dateEcheance, 5, 2); $jourInstance=substr($dateEcheance, 8, 2); if ($jourInstance<>0 && $moisInstance<>0 && $anneeInstance<>0){ $echeanceHIDDEN=1; echo("<td class='form_text'>Le ".$jourInstance."/".$moisInstance."/".$anneeInstance."</td>"); } else{ $echeanceHIDDEN=0; echo"<td> </td>"; } echo "<input type='hidden' value='".$echeanceHIDDEN."' name='DATE_ECHEANCE_HIDDEN'>"; break; case 8: // Etat //echo$row_array[$j]; $requeteEtat="SELECT ETAT_LIBELLE FROM ETAT WHERE ETAT_ID='$row_array[$j]'"; $resultatEtat=mysql_query($requeteEtat) or die ("Exécution de la requête impossible".$requeteEtat."<br />".mysql_error()); $etat=mysql_fetch_array($resultatEtat); $reponse=$etat[0]; if (isset ($reponse)){ echo("<td class='form_text'>" . $reponse . "</td>"); } else { echo"<td> </td>"; } break; case 9: // Charges prévisionnelles $cph=intval(abs($row_array[$j]/60)); $cpm=$row_array[$j]%60; echo"<td class='form_text'>"; if ($cph<10){ echo("0".$cph.":"); } else{ echo("".$cph.":"); } if ($cpm<10){ echo("0".$cpm); } else{ echo$cpm; } echo"</td>"; if($cph==0 && $cpm==0){ echo "<input type='hidden' value='0' name='CHARGES_PREVISIONNELLES_HIDDEN'>"; } else{ echo "<input type='hidden' value='1' name='CHARGES_PREVISIONNELLES_HIDDEN'>"; } break; case 10: // Charges consommées $cch=intval(abs($row_array[$j]/60)); $ccm=$row_array[$j]%60; echo"<td class='form_text'>"; if ($cch<10){ echo("0".$cch.":"); } else{ echo("".$cch.":"); } if ($ccm<10){ echo("0".$ccm); } else{ echo$ccm; } echo"</td>"; if ($cch==0 && $ccm==0){ echo "<input type='hidden' value='1' name='CHARGES_CONSOMMEES_HIDDEN'>"; } else{ // on instancie toujours CHARGES_CONSOMMEES_HIDDEN à 0 parce qu'on ne veut pas que ce champ soit modifiable echo "<input type='hidden' value='1' name='CHARGES_CONSOMMEES_HIDDEN'>"; } break; case 11: // Charges restantes $crh=intval(abs($row_array[$j]/60)); $crm=$row_array[$j]%60; echo"<td class='form_text'>"; if ($crh<10){ echo("0".$crh.":"); } else{ echo("".$crh.":"); } if ($crm<10){ echo("0".$crm); } else{ echo$crm; } echo"</td>"; if ($crh==0 && $crm==0){ echo "<input type='hidden' value='0' name='CHARGES_RESTANTES_HIDDEN'>"; } else{ echo "<input type='hidden' value='1' name='CHARGES_RESTANTES_HIDDEN'>"; } break; default: echo("<td class='form_text'>" . $row_array[$j] . "</td>"); } } // bouton de modification (1 par ligne) echo("<TD align='right'>"); echo"<button type='submit' action='modifierRSSI.php' style='background:".$color."; cursor:hand; border:solid 1px ".$color."; name=bouton".$i." value=".$row_array[$i]."'>"; echo"<img src='../images/modifier.png'>"; echo"</button>"; echo("</form>"); echo("</TD>"); echo("</tr>"); } ?> </table> <TR> </TABLE>
1000 mercis !
aaaahhh !! je viens de cliquer sur "Prévisualiser" avant de poster ... j'ai un peu honte de vous infliger cette lecture !!
Bon, ya des trucs bourrins.
Plutot que de faire un "select * " fais un select des champs qui t'interressent, plutot que de faire une boucle for et un switch. Tu gagneras en performance et en lisibilité. :)
Ton problème vient surement de la. Revois ton code proprement, ca va fonctionner. :)
Plutot que de faire un "select * " fais un select des champs qui t'interressent, plutot que de faire une boucle for et un switch. Tu gagneras en performance et en lisibilité. :)
Ton problème vient surement de la. Revois ton code proprement, ca va fonctionner. :)
Bonjour oberion,
Merci de m'avoir répondu !!
Je n'ai toujours pas pu effectuer les changements nécessaires au bon fonctionnement de mon programme parce que jusqu'à aujourd'hui, j'étais en maladie ...
Je m'y mets dès que je peux ... le plus tôt serait le mieux !!
Merci de m'avoir répondu !!
Je n'ai toujours pas pu effectuer les changements nécessaires au bon fonctionnement de mon programme parce que jusqu'à aujourd'hui, j'étais en maladie ...
Je m'y mets dès que je peux ... le plus tôt serait le mieux !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question