Page 1 sur 1

repeter un tableau suivant le nombre de resultat d'une reque

Posté : 09 déc. 2007, 19:36
par chris51200
Bonjour a tous,
Je suis en train de creer mon site de vent immobilier. Lorsqu'une personne visite mon site et va visualiser les biens a vendre, je voudrai que le resultat soit un tableau par annonces. Comment faire pour repeter ce tableau suivant le nombre de resultat de la recherche? C'est a dire que si il n'y a qu'une annonce alors un tableau, si 5 ou 6, une annonce par tableau...voici mon code:
     	
  elseif($_POST['prixmini'] == "40000" and $_POST['prixmaxi'] == "40000") // prix = 40 000€	 
	  
	  {
	       $reponse = mysql_query("SELECT type, prix, descriptif, lien FROM bdd WHERE prix = 40000"); // Requête SQL
           while ($donnees = mysql_fetch_array($reponse) )
           {
           ?>
		   <div id="Layer1" style="position:absolute; left:218px; top:76px; width:691px; height:395px; z-index:1"> 
  <div align="center"></div>
  <table width="629" height="355" border="0" align="center" left:215px; top:115px>
    <tr align="center" valign="middle"> 
      <td height="75"><div align="left"><?php echo $donnees['type']; ?></div></td>
      <td><div align="left">def</div></td>
      <td><div align="left">coup de coeur</div></td>
      <td><div align="left">r&eacute;f</div></td>
      <td><div align="left">d&eacute;signation</div></td>
      <td><div align="left"><?php echo $donnees['prix']; ?></div></td>
    </tr>
    <tr align="center" valign="middle"> 
      <td height="148" colspan="2"><div align="left"><?php echo '<img src="image/'.$donnees['lien'].'">'; ?></div></td>
      <td colspan="4"><div align="left"><?php echo $donnees['descriptif']; ?></div></td>
    </tr>
    <tr align="center" valign="middle"> 
      <td><div align="left">liens photos </div></td>
      <td colspan="5"><div align="left">liens</div></td>
    </tr>
  </table>
</div>
		   
           <?php
           }
           mysql_close(); // Déconnexion de MySQ
	  }	
Dans cet exemple, je me suis arrangé pour n'avoir qu'une reponse donc le resultat s'affiche dans mon tableau sans soucis...Mais si il y a deux reponses, je voudrai qu'un deuxieme tableau apparaisse en dessous du premier, et le tout sans avoir a rebalancer le code d'un deuxieme tableau
Quelqu'un a une idee??

Posté : 09 déc. 2007, 19:47
par Volkow
Bah normalement c'est bon, il répétera le nombre de tableau autant de fois qu'il y a d'enregistrement dans ta table.

Si par exemple il y a 2 enregistrement, il fera 2 tableaux, s'il y en a 15 il en fera 15.

:)

Ta boucle va lire tous les enregistrements de ta table jusqu'à qu'il arrive à la fin de ta table et qu'il n'y ai dont plus de données à lire.

^^

Posté : 09 déc. 2007, 20:10
par gadgino
dans ton exemple le probleme c'est que tu reafiche tes tableaux les uns sur les autres.
a cause de ton:

Code : Tout sélectionner

<div id="Layer1" style="position:absolute; left:218px; top:76px; width:691px; height:395px; z-index:1">
tu devrais incrementer ton attribut top:76px du type:
   $mon_top = 76;
  $mon_entre_deux = 5;
  $mon_height = 395;
while ($donnees = mysql_fetch_array($reponse) )
           {
           ?>
           <div id="Layer1" style="position:absolute; left:218px; top:<?php echo $mon_top; ?>px; width:691px; height:<?php echo $mon_height; ?>px; z-index:1"> 
                 //je vois rien a changer mais j'ai pas bien etudier!!
           </div>
           
           <?php
           $mon_top += $mon_height + $mon_entre_deux;
           } 

Posté : 10 déc. 2007, 22:54
par chris51200
au secours ça marche pas!!!!

Posté : 10 déc. 2007, 22:57
par gadgino
je croi que les moderateur aime pas les appelles au secour comme ça. donne nous autre chose quoi comme erreur? quoi comme modif? quoi comme resultat??? quelque chose quoi!!!!

Posté : 10 déc. 2007, 23:36
par zeus
Modération :
chris51200, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

Posté : 11 déc. 2007, 07:34
par chris51200
bon alors voici le code sachant qu'il y a plusieur reponse dans ma BDD (donc je voudrai afficher autant de tableau que de reponse).
elseif($_POST['prixmini'] == "40000" and $_POST['prixmaxi'] == "80000") // prix compris entre 40 000 et 80 000€	 
	  
	  {
	       $reponse = mysql_query("SELECT type, prix, descriptif, lien FROM bdd WHERE prix >= 40000 AND prix <= 80000 ORDER BY prix"); // Requête SQL
           while ($donnees = mysql_fetch_array($reponse) )
           {
           ?>
		          <div id="Layer1" style="position:absolute; left:218px; top:76px; width:691px; height:395px; z-index:1"> 
  <div align="center"></div>
  <table width="629" height="354" border="0" align="center" bordercolor="#0000FF" left:215px; top:115px>
    <tr align="center" valign="middle" bordercolor="#0000FF" bgcolor="#FFFFFF"> 
      <td height="75"><div align="left"><?php echo $donnees['type']; ?></div></td>
      <td><div align="left">def</div></td>
      <td><div align="left">coup de coeur</div></td>
      <td><div align="left">r&eacute;f</div></td>
      <td><div align="left">d&eacute;signation</div></td>
      <td><div align="left"><?php echo $donnees['prix']; ?></div></td>
    </tr>
    <tr align="center" valign="middle" bgcolor="#FFFFFF"> 
      <td height="148" colspan="2"><div align="left"><?php echo '<img src="image/'.$donnees['lien'].'">'; ?></div></td>
      <td colspan="4"><div align="left"><?php echo $donnees['descriptif']; ?></div></td>
    </tr>
    <tr align="center" valign="middle" bordercolor="#FFFFCC" bgcolor="#FFFFFF"> 
      <td height="123"><div align="left">liens photos </div></td>
      <td colspan="5"><div align="left">liens</div></td>
    </tr>
  </table>
</div>
     
<?php
           }
           mysql_close(); // Déconnexion de MySQ
	  }	     
donc la les valeurs des differents resultat se superposes dans la meme case. Comment puis je faire pour incrementer mon tableau autant de fois que de reponses?
merci

Posté : 11 déc. 2007, 17:50
par gadgino
lol t'abuse! quoi comme erreur? ben,toujour la même! quoi comme modif? ben,heu... rien! quoi comme resultat ??? on sait même pas si ta page s'affiche.
donc vraiment rien de rien!!!!!!!
dans :

Code : Tout sélectionner

<div id="Layer1" style="position:absolute; left:218px; top:76px; width:691px; height:395px; z-index:1">
retire l'attribut style complet fait une selection de 'style..à..z-index:1"' et tape la touche "suppr". si ta page affiche tout tes resultats mais resemble pas a ce que tu voulais, la solution tu l'as. remonte de quelques postes

Posté : 11 déc. 2007, 23:20
par chris51200
HA oui daccord...je comprends maintenant
MERCI A TOUS!