PHP|Débutant :: Forums

Advertisement

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

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

#1 27-03-2019 23:37:22

Lysteaw
Membre
Inscription : 27-03-2019
Messages : 2

resultat sql sur plusieurs lignes

Bonjour, ca me parait simple mais je ne trouve pas de solution
Je souhaite afficher les resultats sur plusieurs lignes
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15

Donc tous les 5 je passe a la ligne d'un tableau html
ca c'est pour compter le nombre de résulat si ca peut servir.

$sql23 = 'SELECT COUNT(*) as id_tech FROM tech WHERE niveau="1" ';
echo$total55 = $data556["id_tech"];
 

la c'est pour afficher le résultat sql

echo'<table><tr>';

$sql15 ='SELECT * FROM tech WHERE niveau=1 ORDER BY id_tech DESC;

while($data15 = mysql_fetch_assoc($req15))
  {
echo'<td>';
   
echo'$data15['id_tech'];
 
echo'</td>';

}

echo'</tr>';
  echo'</table>';
 


j'ai essayer de mettre ca

for ($i=1; $i<=3;$i++)
    {
echo'</tr>';  }

Merci , peut etre qu'une petite aide me mettrai sur la voie

Hors ligne

#2 27-03-2019 23:58:05

tof73
Membre
Inscription : 21-12-2014
Messages : 149
Site Web

Re : resultat sql sur plusieurs lignes

echo'<table><tr>';

$sql15 ='SELECT * FROM tech WHERE niveau=1 ORDER BY id_tech DESC;
$i = 0;
while($data15 = mysql_fetch_assoc($req15))
  {
$i++;
if(($i % 5) == 0){
echo'</tr><tr>';
}
echo'<td>';
   
echo'$data15['id_tech'];

echo'</td>';

}

  echo'</tr></table>';

non testé donc ce n'est pas sur que tous les cas de figure soient correctement gérés.

Hors ligne

#3 28-03-2019 12:23:59

KOogar
Membre
Lieu : PHP
Inscription : 09-05-2009
Messages : 32
Site Web

Re : resultat sql sur plusieurs lignes

Ce code passe les éléments de la requête dans un tableau et affiche le tableau :

<?php

$req = "SELECT * FROM tech WHERE niveau=1 ORDER BY id_tech DESC";
   
  //--- Résultat ---//
  $res = mysql_query($req);
  //met les données dans un tableau
  while($data = mysql_fetch_assoc($res))
  {
  $tablo[]=$data;
  }
  //détermine le nombre de colonnes
  $nbcol = 5;
  echo '<table>';
  $nb=count($tablo);
  for($i=0;$i<$nb;$i++){
   
  //les valeurs à afficher
  $valeur1=$tablo[$i]['champ1'];
  $valeur2=$tablo[$i]['champ2'];
  if($i%$nbcol==0)
  echo '<tr>';
  echo '<td>',$valeur1,'<br/>',$valeur2,'</td>';
  if($i%$nbcol==($nbcol-1))
  echo '</tr>';
  }
  echo '</table>';

?>

Hors ligne

#4 28-03-2019 23:32:41

Lysteaw
Membre
Inscription : 27-03-2019
Messages : 2

Re : resultat sql sur plusieurs lignes

Meerci de ton aide, j'ai pas l'esprit programmeur, donc mettre en plus dans un tableau, pas facile a absorber , je vais travailler sur la boucle for et if, mais j'ai jamais vu ca  if($i%$nbcol==($nbcol-1)) ., j'ai du travail....

Hors ligne

#5 29-03-2019 09:21:25

KOogar
Membre
Lieu : PHP
Inscription : 09-05-2009
Messages : 32
Site Web

Re : resultat sql sur plusieurs lignes

C'est le modulo, n'y touche pas wink

Tu as 3 valeurs a modifier
Éventuellement ta requete : $req = "SELECT * FROM tech WHERE niveau=1 ORDER BY id_tech DESC";

Le nombre de colonne de ta table:
$nbcol = 5;

Le nom de tes champs (donc 5 fois si tu as 5 colonnes)
$valeur1=$tablo[$i]['champ1'];
$valeur1=$tablo[$i]['champ2'];
$valeur1=$tablo[$i]['champ3'];
$valeur1=$tablo[$i]['champ4'];
$valeur1=$tablo[$i]['champ5'];

Et le nombre de ligne va dépendre du nombre d'enregistrements.

Hors ligne

Pied de page des forums