[PHP] Boucle
xav'
-
xav' -
xav' -
Bonjour,
J'ai un prob avec une base de donne sous mysql. J'ai en effet 3 tables dans ma database : 1 table film, 1 table acteur, et 1 table relation.
Le resultat est le suivant quand mon code s'execute :
TITANIC | Leonardo di caprio
TITANIC | Kate Winsley
TITANIC | Bily Zane
ROCKY | Sylvester Stallone
ROCKY | Talia Shire
Je souhaiterais eviter de repeter le film et avoir plutot le code suivant :
TITANIC | Leonardo di caprio, Kate Winsley, Bily Zane
ROCKY | Sylvester Stallone, Talia Shire
Quelqu'un peut-il me donner une solution a mon prob a partir de mon code? Merci d'avance...
Ci-dessous mon code :
//***********************************
<?php
//connexion database
$liendb = mysql_connect('localhost', 'root', '');
//selection database
mysql_select_db ('essai');
$sql = "SELECT titre_film,nom_acteur FROM film,acteur,relation where film.code_film=relation.code_film and relation.code_acteur=acteur.code_acteur";
$resultat = mysql_query ($sql);
echo "<table >";
echo "<tr>";
echo "<td>Titre<td>";
echo "<td>Acteur</td>";
echo "</tr>";
while ($listing = mysql_fetch_array ($resultat))
{
$titre = $listing['titre_film'];
$acteur = $listing['nom_acteur'];
echo "<tr>";
echo "<td>$titre</td>";
echo "<td>$acteur</td>";
echo "</tr>";
}
echo "</table >";
?>
//*********************************
J'ai un prob avec une base de donne sous mysql. J'ai en effet 3 tables dans ma database : 1 table film, 1 table acteur, et 1 table relation.
Le resultat est le suivant quand mon code s'execute :
TITANIC | Leonardo di caprio
TITANIC | Kate Winsley
TITANIC | Bily Zane
ROCKY | Sylvester Stallone
ROCKY | Talia Shire
Je souhaiterais eviter de repeter le film et avoir plutot le code suivant :
TITANIC | Leonardo di caprio, Kate Winsley, Bily Zane
ROCKY | Sylvester Stallone, Talia Shire
Quelqu'un peut-il me donner une solution a mon prob a partir de mon code? Merci d'avance...
Ci-dessous mon code :
//***********************************
<?php
//connexion database
$liendb = mysql_connect('localhost', 'root', '');
//selection database
mysql_select_db ('essai');
$sql = "SELECT titre_film,nom_acteur FROM film,acteur,relation where film.code_film=relation.code_film and relation.code_acteur=acteur.code_acteur";
$resultat = mysql_query ($sql);
echo "<table >";
echo "<tr>";
echo "<td>Titre<td>";
echo "<td>Acteur</td>";
echo "</tr>";
while ($listing = mysql_fetch_array ($resultat))
{
$titre = $listing['titre_film'];
$acteur = $listing['nom_acteur'];
echo "<tr>";
echo "<td>$titre</td>";
echo "<td>$acteur</td>";
echo "</tr>";
}
echo "</table >";
?>
//*********************************
A voir également:
- [PHP] Boucle
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
2 réponses
Le mieux, à mon avis, c'est de tout mettre dans un tableau PHP et de traiter ensuite :
<?php //*********************************** //connexion database $liendb = mysql_connect('localhost', 'root', ''); //selection database mysql_select_db ('essai'); $sql = "SELECT titre_film,nom_acteur FROM film,acteur,relation WHERE film.code_film=relation.code_film AND relation.code_acteur=acteur.code_acteur"; $resultat = mysql_query ($sql); echo "<table >"; echo "<tr>"; echo "<td>Titre<td>"; echo "<td>Acteur</td>"; echo "</tr>"; while ($listing = mysql_fetch_array ($resultat)) { $Film[$listing['titre_film']][] = $listing['nom_acteur']; } // On peut éventuellement trier le tableau dans l'ordre alphabétique : ksort($Film); foreach($Film as $key => $value) { echo "<tr>"; echo "<td>$key</td>"; echo "<td>"; $virgule = ""; foreach($value as $key2 => $value2) { echo $virgule.$value?; $virgule = ", "; } echo "</td></tr>"; } echo "</table >"; //********************************* ?>
Jeff \--Webmaster@CCM--/
Plus propre :
<?php //*********************************** //connexion database $liendb = mysql_connect('localhost', 'root', ''); //selection database mysql_select_db ('essai'); $sql = "SELECT titre_film,nom_acteur FROM film,acteur,relation WHERE film.code_film=relation.code_film AND relation.code_acteur=acteur.code_acteur"; $resultat = mysql_query ($sql); echo "<table >"; echo "<tr>"; echo "<td>Titre<td>"; echo "<td>Acteur</td>"; echo "</tr>"; while ($listing = mysql_fetch_array ($resultat)) { $Film[$listing['titre_film']][] = $listing['nom_acteur']; } // On peut éventuellement trier le tableau dans l'ordre alphabétique : ksort($Film); foreach($Film as $key => $value) { echo "<tr>"; echo "<td>$key</td>"; echo "<td>".implode(",", $value)."</td> </tr>"; } echo "</table >"; //********************************* ?>
Jeff \--Webmaster@CCM--/