Tableau et requete php/mysql

Protanim
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 306
Inscription: 2 Avr 2005

Tableau et requete php/mysql

Message le Mer Juin 18, 2008 13:59

Bonjour,

J'ai une question qui va paraitre super bête pour certains mais le développement n'est pas mon métier, et j'apprends doucement.

Je fais une requête sur ma table mysql pour afficher tous les enregistrements de ma table où une colonne = X
Jusque la ça pas de soucis.

Je voudrai afficher ça sous forme de tableau, de manière à ce que les trois premiers enregistrements soient sur la première ligne chacun dans une colonne, les trois suivants, ligne en dessous... ainsi de suite.
Sachant qu'il peut très bien y avoir pour une requête 100 enregistrements et pour une autre un seul.

Voila je n'y arrive, je me doute qu'il doit falloir compter le nombre de résultats, dire qu'on en affiche 3, puis retour à la ligne,... mais aucune idée de comment on fait ça.

Merci d'avance à celui qui pourra m'aider.


Marie-Aude
Modérateur
Modérateur
 
Messages: 11173
Inscription: 5 Juin 2006

Message le Mer Juin 18, 2008 14:03

Tu initialises un compteur, avant le début de ton while (ou foreach), à $i = 0

Ensuite, dans ta boucle, tu fais deux choses

1- tu testes si $i modulo 3 == 0 (ce n'est pas modulo exactement, je te laisse chercher ça) et tu fais un affichage différent selon les deux cas
2- tu augmentes ton compteur de 1


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Mer Juin 18, 2008 14:07

sinon si $i=3
{
tu le remet à 0
echo "</tr><tr>";
$i++;
}


Marie-Aude
Modérateur
Modérateur
 
Messages: 11173
Inscription: 5 Juin 2006

Message le Mer Juin 18, 2008 14:08

C'est pas con ça :)


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Mer Juin 18, 2008 14:09

oh c est pas forcement plus joli, ca rajoute une ligne de code, mais j'ai toujours fait comme ça :D

mahdivitche
WRInaute impliqué
WRInaute impliqué
 
Messages: 967
Inscription: 6 Jan 2008

Message le Mer Juin 18, 2008 14:25

Code: Tout sélectionner
<?php
$db = mysql_connect('localhost','root','');
  mysql_select_db('nombase',$db);
  $sql ="select * from table";
$r=mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());
?>
<table width="100%" border="1">
<tr><td width="211">Nom </td>
<td width="170">Email </td>
<td width="308">titre</td>
<td width="258">url</td>
</tr>
<?php
while ($ligne=mysql_fetch_array($r))
{

echo "<tr><td>";
echo $ligne['nom'] ;
echo "</td><td>" ;
echo $ligne['email'];
echo "</td><td>";
echo $ligne['titre'] ;
echo "</td><td>" ;
echo $ligne['url'];
echo "</td><tr>" ;
}
?>
</table>



ce code affiche les données comme un tableaux et ajouter le code du e-kiwi sera bien ..


Marie-Aude
Modérateur
Modérateur
 
Messages: 11173
Inscription: 5 Juin 2006

Message le Mer Juin 18, 2008 14:25

En fait tu économises ta ligne de code supplémentaire en le réinitialisant à la fin de la boucle avec$i = 1

mais c'est vraiment du chipotage

Protanim
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 306
Inscription: 2 Avr 2005

Message le Jeu Juin 19, 2008 12:43

Merci mais comme je vous l'ai dit, je ne m'y connais pas en programmation et donc aucune idée de comment faire.

Remettre à zéro... je veux bien, mais comment ?


Marie-Aude
Modérateur
Modérateur
 
Messages: 11173
Inscription: 5 Juin 2006

Message le Jeu Juin 19, 2008 12:55

"remettre à zéro" ça veut dire arrêter d'augmenter la valeur.

$i = 0 en clair.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


cron