Problème de boucle
lady yvi
Messages postés
3
Statut
Membre
-
lady yvi Messages postés 3 Statut Membre -
lady yvi Messages postés 3 Statut Membre -
Bonjour,
Je suis débutante en Php. J'ai quelques difficultés lorsque je dois imbriquer une boucle dans une autre :(
Je vous donnes mon code et vous énonce mon problème :
Dans ma base de donnée, j'ai une table film, une table acteur et une table intervenant.
C'est cette dernière qui reprend l'ID des 2 tables précédentes.
J'aimerais bien faire une modification d'acteur pour chaque film. Seulement tous les films n'ont pas le même nombres d'acteurs.
Donc, je dois reprendre chaque acteur jouant dans chaque film et les afficher dans une liste déroulante séparée.
exemple :
Dans mon premier film j'ai 3 acteur:
Je dois avoir 3 listes déroulantes,
- la première reprenant le première acteur;
- la 2ième, le 2ième;
- la 3ième , le 3ième;
mais aussi pour chaque liste déroulante tout les acteurs encodé dans ma table acteur.
Mon code m'affiche correctement ce qu'il doit m'afficher.
Mais au bout de 30 secondes il me met :
Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\garden\maj_film.php on line 19
Et je ne trouve pas ce qui ne fonctionne pas ?
Si quelqu'un à une solution à mon problème...
Merci
Yvi
Je suis débutante en Php. J'ai quelques difficultés lorsque je dois imbriquer une boucle dans une autre :(
Je vous donnes mon code et vous énonce mon problème :
<?php
mysql_connect('localhost','root','');
mysql_select_db('garden');
$acteur = "SELECT *
FROM intervenant
LEFT JOIN acteur
ON acteur_id = id_acteur
WHERE film_id = 2
ORDER BY acteur_id";
$result_acteur = mysql_query ($acteur);
$nbr_acteur = mysql_num_rows ($result_acteur);
for ($j= 1; $j= $nbr_acteur; $j++)
{
while ($afficher_acteur = mysql_fetch_array($result_acteur))
{
echo' <select name="acteur[]">
<option value="'.$afficher_acteur['id_acteur'].'">'.$afficher_acteur['nom_acteur'].'</option>';
$rest_acteur = "SELECT *
FROM acteur
ORDER BY id_acteur";
$result_rest_acteur = mysql_query ($rest_acteur);
while ($afficher_rest_acteur = mysql_fetch_array($result_rest_acteur))
{
echo'<option value="'.$afficher_rest_acteur['id_acteur'].'">'.$afficher_rest_acteur['nom_acteur'].'</option>';
}
}
echo '</select>';
}
mysql_close();
?>
Dans ma base de donnée, j'ai une table film, une table acteur et une table intervenant.
C'est cette dernière qui reprend l'ID des 2 tables précédentes.
J'aimerais bien faire une modification d'acteur pour chaque film. Seulement tous les films n'ont pas le même nombres d'acteurs.
Donc, je dois reprendre chaque acteur jouant dans chaque film et les afficher dans une liste déroulante séparée.
exemple :
Dans mon premier film j'ai 3 acteur:
Je dois avoir 3 listes déroulantes,
- la première reprenant le première acteur;
- la 2ième, le 2ième;
- la 3ième , le 3ième;
mais aussi pour chaque liste déroulante tout les acteurs encodé dans ma table acteur.
Mon code m'affiche correctement ce qu'il doit m'afficher.
Mais au bout de 30 secondes il me met :
Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\garden\maj_film.php on line 19
Et je ne trouve pas ce qui ne fonctionne pas ?
Si quelqu'un à une solution à mon problème...
Merci
Yvi
A voir également:
- Problème de boucle
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lecture en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Huawei s'allume et s'éteint en boucle - Forum Huawei
- Redémarrage en boucle Xiamo mi note 10 - Forum Xiaomi
2 réponses
Salut,
Je n'ai pas tout compris à ce que tu veux faire, j'ai lu en diagonale.
Mais ton problème vient du fait que tu es dans une boucle infinie car ton for est mal écrit.
Le deuxième paramètre est la condition pendant laquelle la boucle s'exécute, ça serait plutôt
for ($j= 1; $j< $nbr_acteur; $j++)
Mais le while dans le for me parait suspect
Je n'ai pas tout compris à ce que tu veux faire, j'ai lu en diagonale.
Mais ton problème vient du fait que tu es dans une boucle infinie car ton for est mal écrit.
Le deuxième paramètre est la condition pendant laquelle la boucle s'exécute, ça serait plutôt
for ($j= 1; $j< $nbr_acteur; $j++)
Mais le while dans le for me parait suspect