2010-10-28 8 views
1

Je me demandais s'il était possible d'avoir 2 instructions 'while' utilisant la même 'mysql_query'? J'utilise une galerie jquery thumb avec les résultats tirés d'une base de données. La galerie nécessite que les images soient regroupées dans une liste non ordonnée, avec le contenu texte/superposition regroupés dans des divs cachés qui doivent être séparés de la liste non ordonnée. La raison de faire ceci est parce qu'il y a beaucoup de résultats potentiels qui pourraient entrer ici et les apporter aléatoirement semble avoir du sens.PHP/MySQL 2 'while' déclarations de 1 requête mysql?

Voici le code que je suis actuellement en utilisant: Toute aide grandement appréciée, S.

<div id="banner-wrap">   
     <div id="banner" class="gallery">    
      <ul class="galleryBar">    

        <?php  
        $homeB=mysql_query("select * from istable where fpGallery = '1' ORDER BY RAND() LIMIT 0, 5"); 
        while($homeG=mysql_fetch_array($homeB)) { 
        $linkcode = $homeG['title']; 
        $linkcode = str_replace(" ","",$linkcode); 
        echo ' 
        <li> 
        <a href="'.$wwwUrl.'images/'.$homeG['image'].'" rel="'.$linkcode.'"> 
        <img src="'.$wwwUrl.'images/tn/'.$homeG['image'].'" width="75" height="55" alt="'.$homeG['title'].'" /> 
        </a> 
        </li>      
        '; 
        }         

      echo '</ul>'; 
      echo '</div>'; 

        while($homeGal=mysql_fetch_array($homeB)) {        
        echo ' 
        <div id="'.$linkcode.'" class="overlay"> 
         <h3>'.$homeGal['title'].'</h3> 
         <h4>'.$homeGal['location'].'</h4>       
        </div>            
        '; 
        } 

        ?>   
     </div> 

Répondre

2

Essayez de réinitialiser l'itérateur du résultat de la requête en appelant mysql_data_seek($homeB, 0) entre les deux boucles tandis que.

0
WHERE `column1` = 'value1' AND `column2` = 'value2' 
+0

Ce n'est pas du tout ce dont il a besoin .. – joni

0

Votre code indésirable est difficile à suivre mais il semble que vous demandiez si mysql_fetch_array() redémarre lorsqu'il atteint la dernière ligne. La réponse à cela est pas. Pouvez-vous rembobiner le jeu de résultats? En théorie, vous pouvez (trouver mysql_data_seek() dans le manuel). Mais il n'est pas nécessaire de le compliquer: il suffit de lire les données une fois, de les stocker dans un tableau et de boucler le tableau autant de fois que nécessaire.