Voici une solution pour afficher des éléments d'une table en fonction d'une clé primaire d'une autre table.
Je prends l'exemple :
	
		
			
			
				CATEGORIE 1
Partenaire 1
Partenaire 3
CATEGORIE 2
CATEGORIE 3
Partenaire 2
Partenaire 4
			
		
 
	 
 Le problème que je sais pas encore régler : si une catégorie n'a pas de partenaires affectés, elles restent affichées !
J'imagine qu'il faut utiliser une requête :
	
	SELECT nom_partenaire FROM partenaire WHERE id_categorie =$i
 avec une condition dans une nouvelle boucle ?
Est-ce que quelqu'un a une solution ?
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
   |  
<?php
    $serveurBD = "localhost";
    $nomUtilisateur = "myname";
    $motDePasse = "2011";
    $baseDeDonnees = "bd2011";
 
    $connectServeur = mysql_connect($serveurBD, $nomUtilisateur, $motDePasse) 
      or die("Impossible de se connecter au serveur de bases de données.");
   $connectBaseDeDonnees = mysql_select_db($baseDeDonnees)
      or die("Cette base de donnees n'existe pas");
 
  mysql_query("SET NAMES 'utf8'"); // régler caractères utf8
 
 
	// Affichage categorie
 
$query = "SELECT DISTINCT nom_categorie FROM categorie ";
 
$result = mysql_query($query);
 
$i = 0; 
 
 
		while($row = mysql_fetch_row($result)) {  
		$nom_categorie = $row[0];
		echo "<h2 class='categorie'>$nom_categorie</h2>";
 
 
		// Affichage partenaire
		$query2 = "SELECT id_categorie, nom_partenaire FROM partenaire WHERE id_categorie = $i ORDER BY nom_partenaire";
 
                $result2 = mysql_query($query2);
 
		$j = 0; 
 
 
				while($row = mysql_fetch_row($result2)){
				$id_categorie = $row[0];
				$nom_partenaire = $row[1];
 
 
				echo "<div class='partenaire'>";
 
				echo "<h5>" . $nom_partenaire . "</h5>";
 
			        echo "</div>"; // fin div 'partenaire'
 
 
			++$j; // on incrémente le partenaire à +1
 
			if($j % 3 == 0) { // Tous les 3 enregistrements, on annule le float
			echo "<div class='nettoyeur'> </div>";
			}
 
 
} //fin while result2
		$i+=1; // on incrémente la catégorie
		$i;
			echo "<div class='nettoyeur'> </div>";	
		} // fin while result
 
?> | 
 
						
					
Partager