Re_cinema

cs_jaco13
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007
- 27 janv. 2005 à 17:50
cs_jaco13
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007
- 22 févr. 2005 à 14:20
J'ai repris mon message d'en haut en coupant la requête en plusieurs morceaux car le texte était vraiment illisibles.
ps:Les variables du style " horvend " ou " horlundi "sont destinées à récupérer les différents horaires des projections de films du cinéma et cela pour tous les jours de la semaine.


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", "realisateur", 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

22 réponses

cs_jaco13
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

20 févr. 2005 à 21:39
Tout est déjà expliqué dans les messages précédents. Quelques personnes m'ont déjà également donné quelques solutions mais ça ne fonctionne pas.
Je répète donc mon problème:
Quand je fais un UPDATE SET dans mon admin, tous mes champs "text" et mes sélecteurs acceptent bien les modifications effectuées car les nouvelles données s'inscrivent bien dans les différents champs de la BDD là où elles doivent s'inscrirent. Le problème est que lorsque je rappelle mon admin pour faire une nouvelle modification, seules les nouvelles valeurs inscrites dans les champs "text" sont présentes car celles inscrites dans les sélecteurs sont les valeurs par défaut et non celles inscrites lors de la dernière modification. Autrement dit: Quand je fais un UPDATE SET, les nouvelles valeurs écrasent bien les anciennes dans la BDD mais je n'arrive pas à rappatrier les données de mes sélecteurs lorsque je retourne sur mon admin pour refaire une nouvelle modif..
Ca fait plus d'un mois que je traine avec ce problème et j'aimerais bien avancer. C'est pour çà que j'offre un peu d'argent à celui qui me débloquera la situation en lui envoyant le script qui n'est pas très long car j'en suis au début!
Cordialement
Jacques
0
cs_jaco13
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

22 févr. 2005 à 14:20
Pour mon problème sur mon cinéma, voici les 4 pages concernées:
Il y a "index.php", "accueil.inc.php", puis "modfilm.inc.php" et " "modfilm1.inc.php".
Le seul formulaire se trouve dans "index.php".
Le graphisme de l'admin est dans "accueil.inc.php".
Les sélecteurs qui ne fonctionnent pas sont dans "modfilm.inc.php"
La requête est dans "modfilm1.inc.php"
La connexion est en mode local.

Voici "index.php"


<?
$variables=$HTTP_POST_VARS;


// Déclaration de toutes les variables utilisées dans toutes les pages appartenantes à l'admin.
$VCinema="";
$VSalle="";
$VTitre="";
$VRealisateur="";
$VActeur1="";
$VActeur2="";
$VActeur3="";
$VMusique="";
$VVersion="";
$VGenre="";
$VResume="";
$VGenre2="";
$VPhoto="";
$VPhoto2="";
$VMercredi="";
$VJeudi="";
$VVendredi="";
$VSamedi="";
$VDimanche="";
$VLundi="";
$VMardi="";
$VTitre2="";
$VDebut="";
$VFin="";


//"$inc" est initialisée sur la page "accueil.inc.php"
$inc="accueil.inc.php";
// Tant qu'il y a des variables, lire le nom et la valeur de chaque variable.
while(list($nom,$valeur)=each($variables)){
// en fonction du nom
switch($nom){
// Les boutons de l'include "accueil.inc.php":
case "ModFilm" : $inc="modfilm.inc.php"; break;
case "ModDate" : $inc="moddate.inc.php"; break;
case "ModFilmSuiv" : $inc="modfilmsuiv.inc.php"; break;

// Les boutons de l'include "modfilm.inc.php":
case "ModFilm1" : $inc="modfilm1.inc.php"; break;
case "Annuler" : $inc="accueil.inc.php"; break;

// Les boutons de l'include "moddate.inc.php":
case "ModDate1" : $inc="moddate1.inc.php"; break;

// Les boutons de l'include "modfilmsuiv.inc.php":
case "ModFilmSuiv1" : $inc="modfilmsuiv1.inc.php"; break;

// Les sélecteurs et champs de l'include "modfilm.inc.php":
case "SelectCine" : $VCinema=$valeur; break;
case "SelectSalle" : $VSalle=$valeur; break;
case "TexteTitre" : $VTitre=$valeur; break;
case "TexteReali" : $VRealisateur=$valeur; break;
case "TexteActeur1" : $VActeur1=$valeur; break;
case "TexteActeur2" : $VActeur2=$valeur; break;
case "TexteActeur3" : $VActeur3=$valeur; break;
case "TexteMusique" : $VMusique=$valeur; break;
case "SelectVersion" : $VVersion=$valeur; break;
case "SelectGenre" : $VGenre=$valeur; break;
case "SelectMerc" : $VMercredi=$valeur; break;
case "SelectJeudi" : $VJeudi=$valeur; break;
case "SelectVend" : $VVendredi=$valeur; break;
case "SelectSam" : $VSamedi=$valeur; break;
case "SelectDim" : $VDimanche=$valeur; break;
case "SelectLundi" : $VLundi=$valeur; break;
case "SelectMardi" : $VMardi=$valeur; break;
case "TexteResume" : $VResume=$valeur; break;
case "file1" : $VPhoto=$valeur; break;

// Les sélecteurs et champs de l'include "moddate.inc.php":
case "TexteDebutDate" : $VDebut=$valeur; break;
case "TexteFinDate" : $VFin=$valeur; break;

// Les sélecteurs et champs de l'include "modfilmsuiv.inc.php":
case "TexteTitre2" : $VTitre2=$valeur; break;
case "SelectGenre2" : $VGenre2=$valeur; break;
case "file2" : $VPhoto2=$valeur; break;
}
}
?>

<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


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






INTERFACE ADMINISTRATEUR



<form action="index.php" method="post" name="form1">
<?
include "connexion.inc.php";
include($inc);
?> .
</form>

</html>

Voici "accueil.inc.php"

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





Modifiez les caract&eacute;ristiques des films de chaque salle pour la semaine en cours:,
,

----

Modifiez les dates de la semaine de projection:,
,

----

Modifiez les caract&eacute;ristiques des films de chaque salle pour la semaine suivante:,




MODIFIEZ LES CARACTERISTIQUES DES FILMS DE CHAQUE SALLE





Voici "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



Voici "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', musique='$VMusique', version='$VVersion', cinema='$VCinema'");
$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'");


?>

Voici "connexion.inc.php"

<?
// Connexion à la base
mysql_connect("localhost","root","");
// Sélection de la base
// Si la base n'est pas trouvée, message d'erreur et sortie sauvage.
if(!mysql_select_db("cine")){
echo "Impossible de selectionner la base
";
exit;
}
?>

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", "realisateur", 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.
0