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

Résolu/Fermé
Sinistrus
Messages postés
1007
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 mai 2022
- 31 mars 2015 à 19:44
Sinistrus
Messages postés
1007
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 mai 2022
- 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 ?

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
1007
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 mai 2022
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
4764
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 302
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
1007
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 mai 2022
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