PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 10-03-2010 21:33:32

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

[Résolu] Mysql LIMIT dans un tableau html

Bonjour,

Dans mon  tableau html j'ai besoin d'afficher les donnèes  toutes les 16 lignes espacè d'une ligne vide, donc pour cela j'ai fait ceci :

Requête

$requete_1 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id` ASC LIMIT 1 , 16"); // Requête SQL
$requete_2 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id` ASC LIMIT 17 , 32"); // Requête SQL
$requete_3 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id` ASC LIMIT 33 , 47"); // Requête SQL

Array1

</tr>
<?php
while ($donnees_1 = mysql_fetch_array($requete_1) ) // boucle pour lister tout ce que contient la table : modules_x10
{
?>
  <tr>
    <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees_1["nom_module"]; ?></th>
    <td bgcolor="#CCCCCC"><?php echo $donnees_1["code_maison_unité"]; ?></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_1["name-on"]; ?>"><input name="<?php echo $donnees_1["input_name_on"]; ?>" value="<?php echo $donnees_1["nom_commande_On"]; ?>" type="submit"></form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_1["name-off"]; ?>"><input name="<?php echo $donnees_1["input_name_off"]; ?>" value="<?php echo $donnees_1["nom_commande_Off"]; ?>" type="submit"></form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur+">
      <input name="A1-variateur+" value="<?php echo $donnees_1["variateur+"]; ?>" type="submit" />
    </form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur-">
      <input name="A1-variateur-" value="<?php echo $donnees_1["variateur-"]; ?>" type="submit" />
    </form></td>
  </tr>
    <?php } //toute la ligne est comprise dans la boucle while ?>
  <tr>

Array1

 </tr>
  <?php while ($donnees_2 = mysql_fetch_array($requete_2) ) // boucle pour lister tout ce que contient la table : modules_x10
{ ?>
  <tr>
    <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees_2["nom_module"]; ?></th>
    <td bgcolor="#CCCCCC"><?php echo $donnees_2["code_maison_unité"]; ?></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_2["name-on"]; ?>">
      <input name="<?php echo $donnees_2["input_name_on"]; ?>" value="<?php echo $donnees_2["nom_commande_On"]; ?>" type="submit" />
    </form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_2["name-off"]; ?>"><input name="<?php echo $donnees_2["input_name_off"]; ?>" value="<?php echo $donnees_2["nom_commande_Off"]; ?>" type="submit"></form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur+">
      <input name="A1-variateur+" value="<?php echo $donnees_2["variateur+"]; ?>" type="submit" />
    </form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur-">
      <input name="A1-variateur-" value="<?php echo $donnees_2["variateur-"]; ?>" type="submit" />
    </form></td>
  </tr>
 
  <?php } //toute la ligne est comprise dans la boucle while ?>
  <tr>

Array3

 </tr>
  <?php while ($donnees_3 = mysql_fetch_array($requete_3) ) // boucle pour lister tout ce que contient la table : modules_x10
{ ?>
  <tr>
    <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees_3["nom_module"]; ?></th>
    <td bgcolor="#CCCCCC"><?php echo $donnees_3["code_maison_unité"]; ?></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_3["name-on"]; ?>">
      <input name="<?php echo $donnees_3["input_name_on"]; ?>" value="<?php echo $donnees_3["nom_commande_On"]; ?>" type="submit" />
    </form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="<?php echo $donnees_3["name-off"]; ?>"><input name="<?php echo $donnees_3["input_name_off"]; ?>" value="<?php echo $donnees_3["nom_commande_Off"]; ?>" type="submit"></form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur+">
      <input name="A1-variateur+" value="<?php echo $donnees_3["variateur+"]; ?>" type="submit" />
    </form></td>
    <td bgcolor="#CCCCCC"><form method="post"
 action="" name="A1-variateur-">
      <input name="A1-variateur-" value="<?php echo $donnees_3["variateur-"]; ?>" type="submit" />
    </form></td>
  </tr>
  <?php } //toute la ligne est comprise dans la boucle while ?>
</table>

Entre chaque array

<th bgcolor="#CCCCCC" scope="row"> </th>
    <td bgcolor="#CCCCCC"> </td>
    <td bgcolor="#CCCCCC"> </td>
    <td bgcolor="#CCCCCC"> </td>
    <td bgcolor="#CCCCCC"> </td>
    <td bgcolor="#CCCCCC"> </td>

Pour array1, il m'affiche 16 lignes de A1 à A16. la c'est ok
pour array2, il m'affiche 32 lignes de B1 à C16. la non
Pour array3, il m'affiche 17 lignes de C1 à D1. la non plus

Je ne trouve pas mon erreur ou bien je m'y prend mal pour ce que je veux faire ?
Comment je peut faire ?

J'ai essaye aussi avec ceci :

$requete_1 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id` ASC LIMIT 0 , 16"); // Requête SQL
$i1=0;
$requete_2 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id`  ASC LIMIT 17 , 32"); // Requête SQL
$i2=0;
$requete_3 = mysql_query("SELECT * FROM `modules_x10` ORDER BY `id` ASC LIMIT 33 , 47"); // Requête SQL
$i3=0;
 
while ($donnees_1 = mysql_fetch_array($requete_1) AND $i1 != 16)
{
$i1++;

Merci.


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#2 11-03-2010 07:19:13

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : [Résolu] Mysql LIMIT dans un tableau html

La syntaxe qui n'est pas bonne.
Le LIMT s'utilise de la façon suivante :

LIMIT debut, nombre

Et non pas debut,fin. ^^

Hors ligne

#3 11-03-2010 17:31:21

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] Mysql LIMIT dans un tableau html

Bonjour,

Oui mais si je veux qu'il m'affiche

A1
à
A16
Ligne vide
B1
à
B16
Ligne vide
C1
à
C16
Ligne vide
etc...

Je suis bien obligé d'indiquer la limite debut a partir de l'id N° et  le n° id du dernier nombre à afficher.
exemple 

Pour le groupe B :

LIMIT 17 , 32

Pour le groupe C :

LIMIT 33 , 48

etc...

Merci.


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

#4 11-03-2010 17:52:53

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : [Résolu] Mysql LIMIT dans un tableau html

Tu n'as pas compris mon message... Cette commande ne comporte pas d'ID de fin ! Elle comporte un ID de début et un nombre d'enregistrement.

Ton groupe B serait donc :

LIMIT 17, 16

début : 17
Nombre d'enregistrement à afficher à partir de début : 16

Hors ligne

#5 11-03-2010 21:10:12

xunil2003
Membre
Lieu : Var - Tourves
Inscription : 21-02-2010
Messages : 33

Re : [Résolu] Mysql LIMIT dans un tableau html

Bonsoir,

Je n'avais pas conpris la manip , c'est ok, cela fonctionne maintenant.
Je cloture la conversation.

Merci de votre aide.


Win XP Pro | WampServer 2.0 | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.5.1b

Hors ligne

Pied de page des forums