FOR et mysql_query

Fermé
rems02 - 10 mai 2007 à 16:13
Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 - 11 mai 2007 à 17:04
Bonjour,
J'ai un petit probleme avec la fonction FOR et mysql_query
Je voudrai extraires les données de ma bdd MySQL
dans un tableau html de la forme:
-------------------------------------
* img1 * img2 * img3 * img4 *
-------------------------------------
* nom1 * nom2 * nom3 * nom4*
-------------------------------------
bien sur les deux premiere ligne se repete le nombre de fois necessaire

voila mon code source qui ne fonctionne pas
car il m'extret tjrs les 4 premeres images et nom

<?php
include ("connexion.php");

// on recupère tous les données de la table 'GN_nbr_pays'

//on recupère le nombre d'enregistrements dans la table GN_nbr_pays, variable $row
$select = 'SELECT * FROM GN_nbr_pays';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_num_rows($result); //nbr d'enregistrement
$fin_for = ceil($row/4); // entier superieur pour la fin de la boucle

echo "<table width=\"600\" border=\"0\"><tr>";

for ($i=1 ; $i<=$fin_for ; $i++)
{

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

for($debut=0 ; $debut<=3 ; $debut++)
{

$tab = mysql_fetch_array ($result);
$pays = $tab['pays'];
$img = $tab['img'];
if ($img == "") {$img = "flags/defaut.gif";}

print("
<td width=\"200\" class=\"Txt\"><div align=\"center\">
<a href=\"#\"><img src=\"$img\" alt=\"$pays\" width=\"45\" height=\"30\" border=\"0\"></a></div>
</td>
");

}

echo '</tr><tr>';

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

for($debut1=0 ; $debut1<=3 ; $debut1++)
{

$tab1 = mysql_fetch_array ($result);
$pays1 = $tab1['pays'];

print("<td width=\"200\" class=\"Txt\"><div align=\"center\">$pays1</div></td>");
}
echo '</tr>';
}
echo '</table>';

// on ferme la connexion à mysql
mysql_close();

?>
et si je ne place pas la ligne
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
avant chaque boucle FOR alors ça ne marche pas le tableau est vide

comment faire autrement ???

merci pour votre aide
A voir également:

3 réponses

Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 21
10 mai 2007 à 22:49
je te conseil pluto l 'utilisation du foreach ... ou encore while
a la place de ton for

$ligne= $resultat-> felch();
while ($ligne){



}
0
tu peux m'expliquer la ligne
$ligne= $resultat-> felch();

car la je ne suit plus

merci d'avence
0
Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 21
11 mai 2007 à 17:04
c'est fetch escuse moi ...
c'est l équivalent de cette ligne la :
$tab1 = mysql_fetch_array ($result);
mais en faite en revoyant ton exemple on peu le faire comme ca :


$tab1 = mysql_fetch_array ($result);

for($debut1=0 ; $debut1<=3 ; $debut1++)
{

$pays1 = $tab1[$debut1];
}



a la place de :


for($debut1=0 ; $debut1<=3 ; $debut1++)
{

$tab1 = mysql_fetch_array ($result);
$pays1 = $tab1['pays'];
0