PHP MySQL récupérer données dans tableau

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 31 mars 2015 à 19:44
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 1 avril 2015 à 18:48
Salut à tous !

J'essaie de faire afficher dans un tableau sur 6 colonnes et 5 lignes les données de ma table MySQL..

<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tbody>
<?php
$NbrCol =6;
$NbrLigne =5;
for ($i=1; $i<=$NbrLigne; $i++) { 
?>
<tr>
<?php for ($j=1; $j<=$NbrCol; $j++) { ?>
<?php $sql = "SELECT * FROM tb_ci_marques ";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)){ ?>
<td width="159" height="80" bgcolor="#CCCCCC"><?php echo $data["Marque"]; ?></td>
<?php } ?>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>

Seulement voilà j'y arrive pas... pouvez-vous me donner un petit coup de main svp ?
A voir également:

4 réponses

zurelll Messages postés 2 Date d'inscription mercredi 1 avril 2015 Statut Membre Dernière intervention 1 avril 2015
Modifié par zurelll le 1/04/2015 à 14:17
essaye plutôt (en prenant un exemple de 3 table)

Sachant qu'il te faut un champ commun dans toutes tes tables (ex : numéro d'une fiche)

$result3="SELECT * FROM `ta_table`";
$execution_requete3 = mysql_query($result3);
while($total3 = mysql_fetch_array($execution_requete3))
{
$val3=$total3["ton_champ_commun"];
$result2="SELECT * FROM `ta_table2` WHERE ton_champ_commun='$val3'";
$execution_requete2 = mysql_query($result2);
while($total2 = mysql_fetch_array($execution_requete2))
{
$val2=$total2["ton_champ_commun"];
$result="SELECT * FROM `ta_table3` WHERE ton_champ_commun='$val2'";
$execution_requete = mysql_query($result);
while($total = mysql_fetch_array($execution_requete))


Puis tu insere dans tes colones avec un echo

       <td class="celulle"><? echo $total["Le_champ_que_tu_souhaite_faire_apparaitre"]; ?></td>
<td class="celulle"><? echo $total2["Le_champ_que_tu_souhaite_faire_apparaitre"]; ?></td>


N'oublie pas que ton "while" est une boucle et servira si tu veux que les cases se remplisse automatiquement en cas de nouvelle donné dans ta base. sinon enleve les "while" si tu cherche un affichage statique.
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
1 avril 2015 à 15:07
Merci mon vieux !

Voici ce que j'ai fais aussi et qui fonctionne :
<?php
$NbrCol = 6;
$query = "SELECT * FROM tb_ci_marques ORDER BY Marque ASC;";
$result = mysql_query($query);
$NbreData = mysql_num_rows($result);
$NbrLigne = 0;
if ($NbreData != 0) {
$j = 1;
?>
	<table width="100%" border="0" cellspacing="10" cellpadding="0">
	<tbody>
<?php while ($val = mysql_fetch_array($result)) {if ($j%$NbrCol == 1) {$NbrLigne++;$fintr = 0; ?>
<tr>
<?php } ?>
<td align="center" valign="middle">

<a href="<?php echo URL_RACINE; ?>/categories/<?php echo str_replace($search, $replace, strtolower($val['Marque'])); ?>.php">
<img src="<?php echo URL_IMAGES; ?>/logos/<?php echo str_replace($search, $replace, $val['Marque']); ?>.png" width="159" height="80" title="<?php echo $val['Marque']; ?>" alt="<?php echo $val['Marque']; ?>" />
</a>

</td>
<?php if ($j%$NbrCol == 0) {$fintr = 1; ?>
</tr>
<?php }$j++;} if ($fintr!=1) { ?>
</tr>
<?php } ?>
</tbody>
</table>
	
<?php } ?>

Merci beaucoup pour ton aide !
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 1/04/2015 à 18:12
'lut, avertissement très important:
L'extension MySQL (fonctions mysql_*) est obsolète et il ne faut absolument plus s'en servir!
Change pour PDO ou MySQLi maintenant, pendant que tu es en train d'apprendre et que ton code est petit!
from human import idiocy
del idiocy
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
1 avril 2015 à 18:48
Oula ! Merci de m'avoir prévenu gravgun ! donc bannir les fonctions
mysql_*
et diriger vers
mysqli
ou
PDO
.
0