Problème de boucle

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 :
<?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

2 réponses

Dr Zoidberg Messages postés 547 Statut Membre 100
 
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
0
lady yvi Messages postés 3 Statut Membre
 
Merci beaucoup.
Je vais tester ça tout de suite.
Par contre pour le while je ne sais pas du tout comment abordés ça:(
0