[RESOLU] Organiser un tableau

Eléphant du PHP | 167 Messages

13 mai 2013, 09:46

Bonjour à tous,

J'ai ma table Etudiant qui contient plus de 2000 enregistrements.
Je les affiches dans un tableau, je voudrais avoir la possibilité de les séparer c'est-à-dire de les organiser de façon à avoir dans chaque ligne du tableau au plus 400 enregistrements.
Comment dois-je faire ?
Merci d'avance de votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 mai 2013, 09:58

salut,

tu cherche à faire un système d'affichage page par page.
un exemple http://phpdebutant.org/article84.php


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 167 Messages

13 mai 2013, 10:32

Merci d'avoir répondu.

Mais moi je veux avoir ça sur la même page...

Mammouth du PHP | 619 Messages

13 mai 2013, 10:37

Bonjour,

tu veux avoir une séparation tous les 400 enregistrement ? mais avoir le tout sur la même page

si oui il suffi d'utilise le modulo de php http://php.net/manual/fr/language.opera ... hmetic.php

affiche nous un peu ton code qu'on puise voir déjà comment tu ressors le résultat et l'affiche actuellement

Eléphant du PHP | 167 Messages

13 mai 2013, 10:43

Voilà mon code, c'est un affichage tout simple.
<?php 

  require("connect.php");
 
    $dsn="mysql:dbname=".BASE.";host=".SERVER;
    try{
      $connexion=new PDO($dsn,USER,PASSWD);
    }
    catch(PDOException $e){
      printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
$sql = "SELECT * FROM `etudiant`";

if(!$connexion->query($sql)) echo "Pb d'accès à la table etudiant";
else{
  echo "<table><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr>";
     foreach ($connexion->query($sql) as $row)
     echo "<tr><td>".$row['nomEtudiant']."</td><td>".$row['prenomEtudiant']."</td></tr>";
   echo "</table>";
}
?>

Mammouth du PHP | 619 Messages

13 mai 2013, 10:51


Eléphant du PHP | 167 Messages

13 mai 2013, 11:01

Bonjour,

J'ai testé, mais visuellement je ne vois pas la séparation...
J'aimerai avoir un bloc distinct de 400 enregistrement.

Mammouth du PHP | 619 Messages

13 mai 2013, 11:06

Bonjour,

avez vous regarde un peu le tuto dessus ?

sinon pour faire simple
<?php 

  require("connect.php");
 
    $dsn="mysql:dbname=".BASE.";host=".SERVER;
    try{
      $connexion=new PDO($dsn,USER,PASSWD);
    }
    catch(PDOException $e){
      printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
$sql = "SELECT * FROM `etudiant`";
$i=0;
if(!$connexion->query($sql)) echo "Pb d'accès à la table etudiant";
else{
  echo "<table><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr>";
     foreach ($connexion->query($sql) as $row){
     echo "<tr><td>".$row['nomEtudiant']."</td><td>".$row['prenomEtudiant']."</td></tr>";
	  if($i >=400) {
		 echo "</table><table><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr>"; 
		 $i=0;
	  }
	  $i++;
	 }
   echo "</table>";
}
?>
 
 

Eléphant du PHP | 167 Messages

13 mai 2013, 11:16

C'est sûrement un pb dans mon CSS...

Mammouth du PHP | 619 Messages

13 mai 2013, 11:19

Bonjour,

avec le code ci-dessus cela devrai marche je ferme votre table et rouvre en remettant la premier ligne après cela dépend de se que vous attendez par séparation

Eléphant du PHP | 167 Messages

13 mai 2013, 11:34

Par séparation j'entends que je veux avoir un bloc de 400 dans une seule ligne de mon table.
Puisque j'ai 2000 enregistrements, en gros j'aurais 5 lignes.

Mammouth du PHP | 619 Messages

13 mai 2013, 11:37

ok tu veux donc 400 résultat par ligne

nom prénom nom prénom jusque 400 puis retour a la ligne ?

<?php 

  require("connect.php");
 
    $dsn="mysql:dbname=".BASE.";host=".SERVER;
    try{
      $connexion=new PDO($dsn,USER,PASSWD);
    }
    catch(PDOException $e){
      printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
$sql = "SELECT * FROM `etudiant`";
$i=0;
if(!$connexion->query($sql)) echo "Pb d'accès à la table etudiant";
else{
  echo "<table><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr><tr>";
     foreach ($connexion->query($sql) as $row){
     echo "<td>".$row['nomEtudiant']."</td><td>".$row['prenomEtudiant']."</td>";
	  if($i >=400) {
		 echo "</tr><tr>"; 
		 $i=0;
	  }
	  $i++;
	 }
   echo "</tr></table>";
}
?>
 

Eléphant du PHP | 167 Messages

13 mai 2013, 12:03

J'ai testé mais je n'ai pas de colonne.
Tout est sur la même ligne.
Ce que je voudrais c'est :
Nom Prenom
Nom prenom
Nom prenom

___________

Nom Prenom
Nom prenom
....

Mammouth du PHP | 619 Messages

13 mai 2013, 12:09

Bonjour,

ok test ce code
<?php 

  require("connect.php");
 
    $dsn="mysql:dbname=".BASE.";host=".SERVER;
    try{
      $connexion=new PDO($dsn,USER,PASSWD);
    }
    catch(PDOException $e){
      printf("Échec de la connexion : %s\n", $e->getMessage());
      exit();
    }
$sql = "SELECT * FROM `etudiant`";
$i=0;
if(!$connexion->query($sql)) echo "Pb d'accès à la table etudiant";
else{
  echo "<table><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr><tr>";
     foreach ($connexion->query($sql) as $row){
     echo "<tr><td>".$row['nomEtudiant']."</td><td>".$row['prenomEtudiant']."</td></tr>";
	  if($i >=400) {
		 echo "</table><table><hr> SÉPARATION <hr><tr><td>NOM ETUDIANT</td><td>PRENOM ETUDIANT </td></tr>"; 
		 $i=0;
	  }
	  $i++;
	 }
   echo "</tr></table>";
}
?>
 

Eléphant du PHP | 167 Messages

13 mai 2013, 12:18

SÉPARATION n'apparaît pas.