Page 1 sur 1
Affichage de plusieurs résultats avec design particulier
Posté : 30 déc. 2008, 11:13
par Ayreon
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 :
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 !

Posté : 30 déc. 2008, 11:22
par dogmongo
Bonjour,
Je pense que tu devrais nous montrer ce que tu as déjà fais non et onh pourra t'aider ?
Posté : 30 déc. 2008, 12:50
par Ayreon
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
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 ?

Posté : 30 déc. 2008, 13:01
par Aureusms
- 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
Posté : 30 déc. 2008, 13:07
par dogmongo
tu peu nous montrer le site que nous nous fassions une idée du problème ?
Posté : 30 déc. 2008, 13:14
par Ayreon
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 ?
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...
Je le veux bien sur en dessous de l'article 1
Y a-t-il quelque chose à faire pour cela ?
Posté : 30 déc. 2008, 18:28
par Aureusms
Tu dois avoir un float quelque part...
Posté : 30 déc. 2008, 18:52
par Ayreon
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...
Posté : 30 déc. 2008, 18:59
par Aureusms
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.
Posté : 30 déc. 2008, 19:06
par Ayreon
Merci pour ton conseil mais malheureusement <BR style="clear both;" /> ne change rien à l'affaire... rien ne bouge...
Posté : 30 déc. 2008, 19:26
par Aureusms
Donne un peu de code qu'on voye (comme on dit chez nous)
Posté : 30 déc. 2008, 19:34
par Ayreon
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 !
Posté : 30 déc. 2008, 22:14
par Aureusms
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;" />
Posté : 02 janv. 2009, 11:59
par Ayreon
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 !