Probléme d'affichage bloc php

Résolu
uno_orami Messages postés 54 Statut Membre -  
uno_orami Messages postés 54 Statut Membre -
Bonjour,

j'ai un probleme le 2eme bloc <div id="contenu_image"> ne s'affiche pas quand j'execute la page :/ qui peux m'aider svp !

voila mon code

require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
mysql_query("SET NAMES 'UTF8';")or die('Erreur: '.mysql_error());
$req=mysql_query("SELECT * FROM parametre where lib_parametre='image' ORDER BY id DESC");
?>

<div id="slider">
<table id="sContent">
<tr>
<?[/contents/1351-introduction-a-php php]
while($[/download/telecharger-34098305-line line]=mysql_fetch_array($req))
{
?><td><img  id="<?php echo $line['image'];?>"  src="../parametre_image/<?php echo $line['image']; ?>" Onclick = "change('<?php echo $line['image']; ?>')"/>
<input  id="image" type="checkbox" name="image[]" value="<?php echo $line['image']; ?>" /></td> 
<?php } ?> </tr>
</table>
</div>


<div id="contenu_image">
<table align="center" >
<tr><?php
while($result=mysql_fetch_array($req))
{?>
<td><img  id="<?php echo $result['id'];?>"  src="../parametre_image/<?php echo $result['image']; ?>" /></td>
<td><[/contents/493-les-formulaires-html textarea] name="contenu" cols="30" rows="60px" id="<?php echo $result['id'];?>"> contenu</[/contents/493-les-formulaires-html textarea]></td><?php }?></tr>
</table>
</div>

2 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    cyril1982 a bien expliquer le problème. Pour le résoudre, tu peux passer par un tableau intermédiaire :
    <div id="slider">
    <table id="sContent">
    <tr>
    <?php
    $listeImages = array();
    
    while($image = mysql_fetch_array($req)) {
    	$listeImages[] = $image;
    }
    
    foreach ($listeImages as $line) { ?>
    	<td><img  id="<?php echo $line['image'];?>"  src="../parametre_image/<?php echo $line['image']; ?>" Onclick = "change('<?php echo $line['image']; ?>')"/>
    	<input  id="image" type="checkbox" name="image[]" value="<?php echo $line['image']; ?>" /></td> 
    <?php } ?>
    </tr>
    </table>
    </div>
    
    
    <div id="contenu_image">
    <table align="center" >
    <tr>
    <?php foreach ($listeImages as $result) { ?>
    	<td><img  id="<?php echo $result['id'];?>"  src="../parametre_image/<?php echo $result['image']; ?>" /></td>
    	<td><textarea name="contenu" cols="30" rows="60px" id="<?php echo $result['id'];?>">contenu</textarea></td>
    <?php }?>
    </tr>
    </table>
    </div>
    


    Bonne journée
    1
    1. Utilisateur anonyme
       
      Bonjour

      Pas besoin de tableau intermédiaire, il suffit de revenir au début des résultats entre les deux boucles avec mysql_data_seek :
      mysql_data_seek($req,0);
      0
    2. Pitet Messages postés 2845 Statut Membre 530
       
      Effectivement c'est aussi simple :)
      (Il faudrait alors aussi vérifier à chaque utilisation de mysql_data_seek que le résultat n'est pas vide pour éviter d'avoir un avertissement php, ou faire cette vérification juste après l'exécution de la requête)
      0
    3. uno_orami Messages postés 54 Statut Membre
       
      mer6 bcp ^^ ca fonctionne très bien :)
      0
  2. cyril1982 Messages postés 110 Statut Membre 12
     
    Bonjour,

    La première boucle while parcourt tous les résultats de $req.
    Du coup dans ta 2e boucle while, il n'y a plus de résultats à parcourir.

    Cyril
    0
    1. uno_orami Messages postés 54 Statut Membre
       
      t'as raison mer6 bcp pour la reponse :)
      0