Affichage de plusieurs résultats avec design particulier

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 11:13

Bonjour,

Mon site dispose d'un moteur de recherche multicritère et je souhaiterais que les résultats s'affichent sur la page resultat de cette manière :

Image

Ma question est : comment dois-je faire pour pouvoir afficher par exemple les 5 premiers résultats tout en gardant le design ? Pouvez-vu me mettre sur des pistes ?

Merci d'avance ! :D

Mammouth du PHP | 804 Messages

30 déc. 2008, 11:22

Bonjour,

Je pense que tu devrais nous montrer ce que tu as déjà fais non et onh pourra t'aider ?

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 12:50

En fait pour l'instant j'ai juste réalisé mon formulaire mais je ne sais pas ce que je dois utiliser en php pour :

- afficher plus d'un résultat après requête dans ma BD
- et comment faire pour que ces résultats s'affichent conformément à ce que j'ai en html/css

Je suis un peu perdu en fait :cry:

Donc j'ai pas des masses de codes php à vous montrer...
Je demande pas qu'on fasse le travail à ma place, loin de là, juste un peu d'aides ^^

EDIT :

En fait j'ai le code de mon index qui est semblable :
<?php
   $requete = "SELECT * FROM articles WHERE id='1'"; 
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());


while ($ligne = mysql_fetch_assoc($resultat)) {
  
 ?>   
 
 		<div id="article-head">
        
        	<div id="calendar">
            	<div id="calendar-top">
          <?php echo $ligne ['jour'];
			?>
            	</div>
            	<div id="calendar-bottom">
                  <?php echo $ligne ['mois'];
			?>
                </div>
        	</div>
        
       		<div id="titre">
         
        	</div>
            
        </div>
        
        <div id="intro">
        <?php 
		echo $ligne ['intro']
		?>
        	<div id="img">
            <img src="<?php echo $ligne ['image']; ?>" />
            </div>
        	
        </div>
        <hr />
 
 
    </div>
  <?php }
  ?>  

Que dois-je faire si je veux que 4 articles de mon index se publient en gardant la mise en forme html/CSS ?
C'est peut-être plus clair comme ça ? :(

ViPHP
ViPHP | 1996 Messages

30 déc. 2008, 13:01

- afficher plus d'un résultat après requête dans ma BD
Combien as tu d'enregistrements dans ta base de donnée
- et comment faire pour que ces résultats s'affichent conformément à ce que j'ai en html/css
Ca c'est assez facile avec les propriété class des CSS
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 804 Messages

30 déc. 2008, 13:07

tu peu nous montrer le site que nous nous fassions une idée du problème ?

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 13:14

Aureusms :

J'en ai 4 pour l'exemple de l'index.
Beaucoup plus dans le cas de la page de résultat. Mais j'imagine que le principe reste le même qu'il s'agissent d'afficher 4 ou 40 résultats ?
Peux-tu développer pour les class en CSS ou me fournir un lien ? :oops:


dogmongo:

Non le site est développé en local désolé

EDIT :

Bon pour afficher plusieurs résultats j'ai utilisé ceci :
   $requete = "SELECT * FROM articles ORDER BY id DESC LIMIT 4";
Apparement il reconnait mes class CSS mais il m'affiche le tout n'importe comment et de manière horizontale alors que je veux un affichage vertical...

Image

Je le veux bien sur en dessous de l'article 1

Y a-t-il quelque chose à faire pour cela ?

ViPHP
ViPHP | 1996 Messages

30 déc. 2008, 18:28

Tu dois avoir un float quelque part...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 18:52

oui en effet... float n'est pas compatible avec ce que je veux ?

De toute manière quand je supprime les float, il me superpose les articles... ce qui n'est guère mieux...

ViPHP
ViPHP | 1996 Messages

30 déc. 2008, 18:59

Si mais est ce que le float se situe sur les portions que tu veux mettre en verticale? Si oui, la propriété float met tout côte à côte (horizontale) dans la limite de la portion supérieure et peut être annulée en utilisant clear. Cette propriété prendra
  • clear : left ; //pour retour à une écriture vers la gauche
    clear : right; //pour retour à une écriture vers la droite
    clear : both; //ben les deux...
Essaye cela sous tes divisons. Le plus simple pour tester est de mettre un <BR style="clear both;" /> dessous.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 19:06

Merci pour ton conseil mais malheureusement <BR style="clear both;" /> ne change rien à l'affaire... rien ne bouge...

ViPHP
ViPHP | 1996 Messages

30 déc. 2008, 19:26

Donne un peu de code qu'on voye (comme on dit chez nous)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 15 Messages

30 déc. 2008, 19:34

Ok, voilà pour le php
<div id="blog">
    
    <?php
   $requete = "SELECT * FROM articles ORDER BY id LIMIT 2"; // on limite à 4 le nombre d'enregistrements souhaité
// envoi de la requête
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());

// tant qu'il y a un enregistrement, les instructions dans la boucle s'exécutent
while ($ligne = mysql_fetch_assoc($resultat)) {
  //$date = date( "d/m", strtotime($ligne['date'])); // on convertit la date dans un format lisible




 ?>   
 
 		<div class="article-head">
        
        	<div class="calendar">
            
            	<div class="calendar-top">
          <?php echo $ligne ['jour'];
			?>
           
            	</div>
              
                
            	<div class="calendar-bottom">
                  <?php echo $ligne ['mois'];
			?>
           
                </div>
                <BR style="clear both;" />
        	</div>
         
        
       		<div class="titre">
            
         	 <?php echo $ligne ['nom'];
			?>
           
        	</div>
           
        </div>
        
        <div class="intro">
        	
            <div class="intro-txt">
            <img src="<?php echo $ligne ['image']; ?>" />
            <p>
        <?php 
		echo $ligne ['intro']
		?></p>
        	</div>
        
        	
        	
        </div>
      
        <hr />
       
    </div>
      
  <?php }
  ?>  


Et voilà les css se rapportant aux élements du php :


Code : Tout sélectionner

#blog { background:transparent url(../img/blog-bg.png) repeat scroll 0 0; float:left; height:900px; margin-left:30px; margin-top:14px; width:572px; } .intro { height:203px; width:540px; } .intro p { font-family:"Adobe Garamond Pro", "Times New Roman"; color:#d1d1d1; text-align:justify; margin-top:10px; } .intro-txt { float:right; font-family:"Adobe Garamond Pro", "Times New Roman"; color:#d1d1d1; text-align:justify; margin-left:23px; margin-top:24px; } .calendar { float:left; height:36px; margin-left:23px; margin-top:20px; width:40px; font-family:"Adobe Garamond Pro", "Times New Roman"; font-size:12px; font-weight:bold; text-align:center; color:#CCCCCC; } .calendar-top { background-image:url(../img/calendar-top.png); width:40px; height:13px } .calendar-bottom { background-image:url(../img/calendar-bottom.png); height:20px; padding:3px; font-size:14px; font-weight:bold; color:#253955; text-align:center; } .titre { float:left; margin-left:17px; padding-top:27px; font-family:"Adobe Garamond Pro", "Times New Roman"; font-size:16px; font-weight:bold; color:#CCCCCC; } #blog hr { width:528px; float:left; margin-left:28px; margin-top:10px; width:498px; }
Merci de m'aider !

ViPHP
ViPHP | 1996 Messages

30 déc. 2008, 22:14

Je crois que tu l'as mis un peu trop haut, descend "<BR style="clear both;" />" d'une ligne:

Code : Tout sélectionner

<div class="calendar"> <div class="calendar-top"> <?php echo $ligne ['jour']; ?> </div> <div class="calendar-bottom"> <?php echo $ligne ['mois']; ?> </div> </div> <BR style="clear both;" />
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 15 Messages

02 janv. 2009, 11:59

Non ca ne change rien... et j'ai beau le mettre n'importe ou, ca ne change rien non plus !


EDIT :
Après moulte essai-énervement-concours de lancer de souris à travers le bureau-enervement-cri-etc... j'ai finalement trouver la solution, toute conne...

Le problème est que j'avais mal placé la fin de ma balise PHP... A savoir après la fermeture du div blog ce qui faisait évidemment tout répèter et créait un écart énorme !

Voilà voilà, merci à tous pour votre aide !