for () + sql

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 juil. 2005, 17:10

oui mais avant, ce qui sera à mon avis plus simple

sélection de l'article
sélection des données correspondantes, avec champ file pour mettre à jour

et ensuite, mise à jour direct

c'est un fonctionnement plus classique, et plus cloisonné donc je pense plus simple ;)

VaN
Mammouth du PHP | 1107 Messages

21 juil. 2005, 17:22

<?php
while ($result_media = mysql_fetch_array($query_media)) 
{ 
    ?> 
    <tr> 
        <td width="46">#<?php echo $i ?> :</td> 
        <td><input type="file" name="pic<?php echo $i ?>" /></td> 
    </tr> 
    <tr> 
        <td width="46">alt #<?php echo $i ?> :</td> 
        <td><input type="text" name="alt<?php echo $i ?>" value="<?php echo stripslashes($result_media['alt']); ?>" />
		<?php
		$sql_id = "SELECT * FROM media_pics WHERE id_media_article='$id_media_article'";
		$query_id = mysql_query($sql_id);
		$result_id[$i] = mysql_fetch_array($query_id);
		$id_media_pic = $result_id[$i]['id_media_pic'];
		?>
		<input type="text" value="<?php echo "result_id['$i'] :".$id_media_pic ?>" />
		</td> 
    </tr> 
    <?php 
    $i++; 
}
?>
m'affiche l'id_media_pic de la premiere image dans chaque tour de boucle : /
result_id['1'] :12
result_id['2'] :12

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 juil. 2005, 17:28

c'est le même problème... à chaque tout de boucle tu sélectionnes tout, mais tu ne traites que la première ligne de résultat
  $result_id[$i] = mysql_fetch_array($query_id); 
si tu fais pas attention à ce que j'écris c'est pas la peine :roll: on avancera pas

VaN
Mammouth du PHP | 1107 Messages

21 juil. 2005, 17:31

j'avais laissé le while au début, mais le pb est le meme, sauf que c'est l'id_media_article de la deuxieme image qui inscrit dans chaque tour de boucle

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 juil. 2005, 17:37

j'ai bien compris le problème


c'ets toi qui ne comprend pas le principe de mysql_fetch_array
$result_id[$i] = mysql_fetch_array($query_id); 
mysql_fetch_array te renvoie un tablea, dont chaque cellule contient une colonne de la ligne de résultat courante, puis avance d'une ligne
mais à la première utilisation, la ligne courante est la première

donc toi ce que tu fais, c'est que tu mets le tableau correspondant à la première ligne, dans une cellule différente de $result_id

tu comprends ?

VaN
Mammouth du PHP | 1107 Messages

21 juil. 2005, 17:43

pas à 100% je crois. que dois-je faire pour que à chaque tour de boucle, je me retouve avec le bon id_media_article correspondant dans ma variable result donc ?