Cinéma

Signaler
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007
-
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007
-
Bonjour!
J'essaie de me familiariser avec le php et mysql et pour cela, je suis en train de me faire en exemple, un petit site qui représente un cinéma où je pourrai sélectionner le nom du cinéma car il y en a 2, le n° de la salle de projection, le titre du film qui passe, le réalisateur, l'acteur principal et plein d'autres choses encore mais pour ce que j'ai à vous demander, cela pourra suffire je pense.

LE BUT est que la personne qui va se servir de ce site va pouvoir uniquement modifier tous les paramètres cités ci-dessus. Il n'est donc pas utile de faire des pages "ajouter" et "supprimer" dans l'admin. Seule une page "modifier" sera nécessaire.

Pour faire ce programme, je me suis servi d'une base très solide qui fonctionne bien car j'avais la chance d'avoir un copain qui s'y entendait et il m'avait fait un admin du même genre qui fonctionnait très bien! Je me suis donc basé sur ce qu'il avait fait!

Voici mon problème:
La page où se trouvent tous les sélecteurs de menus déroulants et les champs "text" servant à faire les modifications de film se trouvent tous dans la page "modfilm.inc.php".
Lorsque j'ai rempli tous les champs "text" et sélectionné les valeurs désirées dans les différents menus déroulants, je valide avec un bouton "Valider" et je me dirige vers une page "modfilm1.inc.php" où va être inclue la requête de modification vers la BDD.

Lorsque j'arrive sur la page pour faire mes modifications afin de changer les caractéristiques de mon film, les menus déroulants sont bien là avec toutes leurs valeurs dedans et les champs "text" ont encore les valeurs entrées lors de la dernière saisie. Je change les valeurs dans tout ce petit monde et le résultat est que seules les variables inscrites dans les champs "text" sont validées et changées. Les valeurs inscrites dans les menus déroulants ne passent pas du tout et restent sur leur valeur par défaut.

J'ai fait une base avec 6 tables:
"salle" avec le champs "numsalle"

"cinema" avec le champs "nomcinema"

"genre" avec le champs "nomgenre"

"version" avec le champs "nomversion"

"horaire" avec un champs "nomhoraire"

"film" avec les champs "titre1", "realisateu", acteur1, "acteur2", "acteur3", "musique", "version", "genre", "photo1", "resume", "hormerc", "horjeudi", horvend", "hordim", "horlundi", "hormardi", "cinema", "salle".

Les menus déroulants font partis des 5 premières tables et ce sont ceux-là qui ne fonctionnent pas convenablement.
Quelqu'un pourrait-il m'aider à faire fonctionner ces menus déroulants pour qu'ils gardent en mémoire les valeurs que je leur donne lors des modifications de films?

Dans le code que je laisse sur mon message, il y a des variables que l'on trouve dans la requête et qui s'appellent par exemple $VSalle, $VTitre, $VJeudi ou encore $VMusique. Ce sont des variables qui sont déclarées dans la page "index.php" et elles sont destinées à récupérer la valeur qui se trouve dans les champs "text" ou "menus déroulants" à chaque fois qu'il y une valeur dedans. Ce procédé fonctionne bien sur l'autre programme.

Voici la page "modfilm.inc.php" où se trouvent tous les champs "text" et sélecteurs pour faire les modifications. Je la mets en entière.
Je mets ensuite la page "modfilm1.inc.php" où est mise la requête qui sert à faire les modifications dans la BDD après avoir validé le bouton "Valider" de "modfilm.inc.php"

"modfilm.inc.php"

<link href="admin.css" rel="stylesheet" type="text/css">





Cin&eacute;ma:,
<select name="SelectCine">
<?
// On récupère toute la table "film" afin de l'exploiter un peu plus loin.
$resultat=mysql_query("SELECT * FROM film");
$resfilm=mysql_fetch_array($resultat,MYSQL_ASSOC);

// On récupère en premier les valeurs écrites dans la table "cinema" pour les faire défiler dans le sélecteur.
$resultat=mysql_query("SELECT * FROM cinema");
WHILE ( $res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomcinema].'</option>';
}
?>
</select>,
Heures des s&eacute;ances,

----

N&deg; de salle:,
<select name="SelectSalle">
<? $resultat=mysql_query("SELECT * FROM salle");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[numsalle].'</option>';
}
?>
</select>,

----

Titre du film:,
<? echo '';?>,
Mercredi:,
<select name="SelectMerc">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

R&eacute;alisateur:,
<? echo'';?>,
Jeudi:,
<select name="SelectJeudi">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Acteur1:,
<? echo'';?>,
Vendredi:,
<select name="SelectVend">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Acteur2:,
<? echo'';?>,
&nbsp;,

----

Acteur3:,
<? echo'';?>,
Samedi:,
<select name="SelectSam">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Musique de:,
<? echo'';?>,
Dimanche:,
<select name="SelectDim">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Version originale:,
<select name="SelectVersion">
<? $resultat=mysql_query("SELECT * FROM version");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res['nomversion'].'</option>';
}
?>
</select>,
Lundi:,
<select name="SelectLundi">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Genre:,
<select name="SelectGenre">
<? $resultat=mysql_query("SELECT * FROM genre");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomgenre].'</option>';
}
?>
</select>,
Mardi:,
<select name="SelectMardi">
<? $resultat=mysql_query("SELECT * FROM horaire");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res[nomhoraire].'</option>';
}
?>
</select>,

----

Photo de l'affiche:,
<? echo'';?>,
&nbsp;,

----

R&eacute;sum&eacute; du film,

----

<textarea name="TexteResume" cols="80" rows="4"><? echo(str_replace("
", chr(10), $resfilm['resume']));?></textarea>,

----

,




Modifiez les caract&eacute;ristiques des films projet&eacute;s cette semaine dans chaque salle



"modfilm1.inc.php"

<?
$VPhoto=basename($VPhoto);


//On remplace le caractère ASCII 10 (retour chariot) par la chaîne
.
$VResume=str_replace(chr(10),"
",$VResume);


// Supression de apostrophes dans le champs "résumé".
$VResume=str_replace("'","\'", $VResume);


$resultat=mysql_query("SELECT * FROM film");
$res=mysql_fetch_array($resultat,MYSQL_ASSOC);


$res=mysql_query("UPDATE film SET titre1='$VTitre',realisateur='$VRealisateur',acteur1='$VActeur1',acteur2='$VActeur2',acteur3='$VActeur3',musique='$VMusique',version='$VVersion',genre='$VGenre',photo1='$VPhoto',resume='$VResume',hormerc='$VMercredi',horjeudi='$VJeudi',horvend='$VVendredi',horsam='$VSamedi',hordim='$VDimanche',horlundi='$VLundi',hormardi='$VMardi',cinema='$VCinema',salle='VSalle'");


?>

SALUT


2 réponses

Messages postés
20
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
28 janvier 2005

LE probleme est simple, tu arrives pas a récupérer le nom de tes options
SOLUTION :

exemple sur une de tes <option> :
<select name="SelectSalle">
<? $resultat=mysql_query("SELECT * FROM salle");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
$test = $res[numsalle];
echo '<option VALUE=$test>$test</option>';
}
?>
</select></

voila
esssai cela si probleme reposte je regarderais deplus pres.
Mais à première vue c'est cela.

"Marco mal se pasejo"
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Ce code ne fonctionne pas. Je viens de l'essayer et dans mon sélecteur permettant de sélectionner le n° de la salle, au lieu d'afficher les n° des salles " 1, 2 et 3 ", il s'affiche 3 fois "$test".
Si tu veux regarder de plus près, je peux t'envoyer par mail les 3 pages de code que j'ai faites sur Dreamweaver 2004 avec la petite base de données. Tout fonctionne bien sauf les sélecteurs où les modifications ne se font pas dans la BDD.
Je ne suis pas très expérimenté en php et je fais çà pour m'entrainer justement. Les bases du programme sont bonnes car je me suis basé sur l'admin du programme qu'un gars très fort m'avait fait pour me donner des cours et qui fonctionnait très bien! Je me suis calqué dessus mais le mien de fonctionne pas malheureusement! J'ai dû oublier quelque chose à quelque part.
J'aimerais garder la philosophie de programmation de ce gars car il a travaillé avec un seul formulaire pour tout l'admin et c'est vraiment génial. Un seul et unique formulaire qui est situé dans la page "index.php" et les autres pages sont toutes des pages "include" qui vont se servir de ce formulaire pour faire leur travail d'où leur nom comme les pages "modfilm.inc.php" ou "modfilm1.inc.php" où "inc" veut dire include