Systeme de tri PHP

Wave Style 974 Messages postés 902 Date d'inscription   Statut Membre Dernière intervention   -  
Wave Style 974 Messages postés 902 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un site internet , codée en PHP ou il y a une zone photo pour les membre , il peuvent envoyer leur photos , bientot pouvoir poster leur commentaire , etc ... Pour l'instant , tout marche parfaitement , mais les photos sont affichée une par une , dans des "<div>" avec le nom de l'auteur au dessus , les photos sont stocké sur le serveur puis les information de la photo , comme sont url , l'auteur , l'emplacement de la photo dans la base de données MySql . Ce que je voudrais , c'est qu'un code PHP met toutes les photos du meme auteur dans le meme "<div>" , et non une par une .. Voila la page en question : " http://slproduction974.toile-libre.org/photo.php " ;
Si quelqu'un pourrait m'aider , merci




2 réponses

Wave Style 974 Messages postés 902 Date d'inscription   Statut Membre Dernière intervention   76
 
Up please !
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
une solution en passant par un array multidimensions:

<?php
//init array multidimensions
//premier niveau de l'array=auteur puis niveau 2 on a le numero de la photo (par auteur) puis niveau 3 on a les infos
$array_photos=array();
//...connexion BDD etc... puis
//requette vers la BDD pour stocker dans l'array multidimensions

$req="SELECT * FROM ta_table_photo ORDER BY auteur";
$result=mysql_query($req);
//par une boucle on va stocker les infos dans l'array
// tu adaptes en fonction de tes noms de champs BDD bien sur

while($donnees=mysql_fetch_assoc($result)){
	$array_photos[$donnees['auteur']][]['url']=$donnees['url']; //automatiquement php va incrementer de un l'index num_photo chaque fois qu'il trouve le meme auteur
	$num_photo=sizeof($array_photos[$donnees['auteur']]) - 1 ; //on lit le numero qu'il a atribué, ça commence a zero
	$array_photos[$donnees['auteur']][$num_photo]['emplacement']=$donnees['emplacement']; //pour ce meme auteur on stockes les infos dans le niv 3 de l'array
	$array_photos[$donnees['auteur']][$num_photo]['commentaire']=$donnees['commentaire'];
}

// TEST pour voir ce que contient ton array:
echo '<pre>';
print_r($array_photos);
echo '</pre>';

//affichage dans les div

foreach($array_photos as $auteur=>$s_array1){
	//on parcours le premier niveau
	echo '<div .....'; //un div par auteur
	echo 'Auteur photo(s) '.$auteur.'<br />';
	foreach($s_array1 as $num_photo=>$s_array2){
		//on parcours ensuite toutes les photos de cet auteur
		echo 'Affichage photo '.($num_photo+1).'<img src="'.$s_array2['emplacement'].' " ....... ><br />';
		echo 'Commentaire: '.$s_array2['commentaire'].'';
	}
	echo '</div>';

}
?>
0
Wave Style 974 Messages postés 902 Date d'inscription   Statut Membre Dernière intervention   76
 
Ok merci , je vais esseyer.
0
Wave Style 974 Messages postés 902 Date d'inscription   Statut Membre Dernière intervention   76
 
Merci beaucoup Alain_42 , j'ai adapté ton code a mon site et sa a donnée sa :
http://slproduction974.toile-libre.org/photo.php ..
Merci ,c'est exactement ce que je cherchai , Je completerais la suite à droite demain. Merci pour ton code ;)
0