[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
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
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--/