[PHP-Mysql] Prbleme affichage articles

Résolu/Fermé
Profil bloqué - 1 févr. 2010 à 13:03
Camuke Messages postés 224 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 12 août 2011 - 2 févr. 2010 à 11:52
Bonjour a tous,
actuellement je suis en train de créer un site internet en php mysql. Seulement, je ne parviens pas malgre different test a afficher des articles d'un maniere separer.

Je m'explique, dans ma tables de données articles, j'ai l'id en auto_increment, le titre de l'articles et le contenu de celui-ci.
J'ai rentrer deux articles dans la tables et je cherche a les afficher l'un a la suite de l'autre et separer.

Je cherche en plus a les afficher dans un systeme peut etre barbare:
Trois div sont au dessus de l'article afin de pourvoir faire un conteneur a coin arrondis,
l'article est dans une div,
trois autres div permettent de finir le conteneur a coin arrondis.
Pour un exemple plus concret, regarder sur https://www.000webhost.com/migrate?static=true (il y a environt 34 div imbriquer a 5 niveaux)

Peut etre que mon principe d'affichage n'est pas le meilleure dans ce cas, merci de m'indiquez comment faire un conteneur a bord arrondis tout en restant dans l'homologation w3c (que j'essaye de maintenir). Et bien entendus, comment affiche mes articles les uns sous les autres et non pas tous ensemble.
A voir également:

6 réponses

Camuke Messages postés 224 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 12 août 2011 88
1 févr. 2010 à 13:11
Je vois pas ton code donc j'imagine en gros que tu parcours le résultat d'une requête dans une boucle for et que tu fait un echo $ligne->monchamps?

Pour éviter que tout se suivent, tu peux faire quelque chose du genre echo $ligne->monchamps.'</br>';
ou de façon peu être plus propre, utiliser tout simplement les listes: https://www.commentcamarche.net/contents/499-liste-html-ul-li-ol-li

sa donne en gros :
<ul>
for(.....) {
echo '<li>'.$ligne->monchamps.'</li>';

}
</ul>

Voila, j'espère avoir répondu a ta question
1
Camuke Messages postés 224 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 12 août 2011 88
1 févr. 2010 à 13:45
Bon je n'ai pas tester mais voila se que sa donnerai pour moi, j'en ai profité pour optimiser un peu ton code car tu fait 2 requêtes sql alors que une seule suffirait amplement.
Sa donne sa (j'ai pas remit tout les div au dessus et en dessous):
<div class="articles">
<ul>
<?php //pk tu fait 2 requete sql quasiment identique?, tu peux facilement faire :
$name_art = mysql_query("SELECT name_art, art FROM jof_articles ORDER BY id ASC") or die (mysql_error()); //Tu evite ainsi de faire 2 fois appelle a mysql!!	
while ($donnees_name_art = mysql_fetch_array($name_art) ) {
         echo'<li>
		<fieldset>
			<legend>'.$donnees_name_art['name_art'].'</legend>
			'.$donnees_name_art['art'].'
		</fieldset>
		<li>';
}?>
</ul>
</div>
1
Profil bloqué
1 févr. 2010 à 13:22
dsl. en effet, j'ai pas coller mon code.
<div class="left_header_articles"></div><div class="right_header_articles"></div><div class="center_header_articles"></div>
<div class="articles">
<fieldset>
        <legend>
		<?php 
$name_art = mysql_query("SELECT name_art FROM jof_articles ORDER BY id ASC") or die (mysql_error()); 

while ($donnees_name_art = mysql_fetch_array($name_art) ) 
{ 
echo "".$donnees_name_art['name_art']."<br>";
} 
echo "</legend>";
$articles = mysql_query("SELECT art FROM jof_articles ORDER BY id ASC") or die (mysql_error()); 

while ($donnees_art = mysql_fetch_array($articles) ) 
{ 
echo "".$donnees_art['art']."<br>";
} 
?>
</fieldset>
</div>
<div class="left_footer_articles"></div><div class="right_footer_articles"></div><div class="center_footer_articles"></div>

voila le code qui est appliquer pour afficher l'articles. mais cela ne fonctionne pas.

Je vais tenter la piste que tu m'as donner mais j'ai un doute pour l'affichage des articles avec mes trois div en superieur et inferieur.

J'ai fais une modif sur le site afin de montrer ce que je voudrais a la fin.
0
Profil bloqué
1 févr. 2010 à 16:29
Ok merci Camuke. Je test ca des ce soir. en effet, la deuble requete est un peu de trop mais comme je test d'abord sur wamp; je verifie si ca marche avant d'oprimiser le code et de l'envoyer.
Mais c'est vrai que faire propre au depart c'est mieux mais j'y arrive pas. Enfin :p
Je test et je te dis ca ce soir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
1 févr. 2010 à 20:01
Yep Camuke ca marche.
Ca affiche bel et bien les articles les un apres les autres comme je le veux :p

Seulement, desioler de te demander encore un coup de main mais comment faire en sorte que les articles soit dans des ""blocs"" separer.
Je m'explique, sur le site en ligne, on vois un articles sur fond blanc transparent et un autre plus bas sur le meme fond mais ils sont separer.
Avec ce code que tu m'as donner:

<div class="left_header_articles"></div><div class="right_header_articles"></div><div class="center_header_articles"></div>

<div class="articles">
<ul>
<?php
$name_art = mysql_query("SELECT name_art, art FROM jof_articles ORDER BY id ASC") or die (mysql_error());	
while ($donnees_name_art = mysql_fetch_array($name_art) ) 
{
         echo'<li>
		<fieldset>
			<legend>'.$donnees_name_art['name_art'].'</legend>
			'.$donnees_name_art['art'].'
		</fieldset>
		<li>';
}
?>
</ul>
</div>

<div class="left_footer_articles"></div><div class="right_footer_articles"></div><div class="center_footer_articles"></div>


Les articles, s'affiche dans un seul fond commune. je cherche mais ne trouve point encore. est ce qu'il faut que cela provienne aussi de la table de donnée afin de reinscire les infos? Car dans ce cas, il me faudrais au moins deux mysql_query ou alors deux colonnes dans ma tables ou la meme informatiosn serait rentrer à chaque nouvelle ligne.
Que me conseille tu?

Si tu pense que c'est trop compliquer, comment dans ce cas parvenir a faire des coins arrondis a une div affin de m'abstenir de mes trois div superieurs et inferieurs.

EDIT:


STOP CA MARCHE. Une simple div ouverte et non fermer.
Merci ca fonctionne.
0
Camuke Messages postés 224 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 12 août 2011 88
2 févr. 2010 à 11:52
Bien jouer et bonne continuation ^^
0