Re_cinema

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

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



la prochaine fois NE POSTE PAS 36 TOPICS, CONTINUES DANS LE TOPIC INITIAL.



Merci

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
La couleur rouge est très agressante et dur pour les yeux. Tu veux
peut-être attirer l'attention du monde mais ce n'est pas nécéssaire
pour avoir de l'aide. Ton message est également très lourd et trop
spécifique. Trouve d'où vient ton problème et pose une question qui te
permeterra de comprendre comment résoudre ton problème.

----------------

eXon
http://www.lookstrike.com
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

ok, le rouge est aggressif, je vais donc changer de couleur et essayer de rendre ma question plus compréhensible.

Voici un concentré de la page "modfilm.inc.php" où il y a 3 variables différentes.
2 variables qui sont des champs "text" et qui s'appellent "TexteTitre" ( pour écrire le titre du film) et "TexteMusique" ( pour écrire le nom du compositeur). La 3ème variable est un menu déroulant qui s'appelle "SelectVersion" permettant de dire si c'est une version originale ou non.( donc menu déroulant avec "oui" et "non" dedans).

Code du sélecteur:
<td bgcolor= "#CCCCCC" align="center"><select name="SelectVersion">
<? $resultat=mysql_query("SELECT * FROM version");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option>'.$res['nomversion'].'</option>';
}
?>
</select></td>

Codes des 2 champs "Text":

<td bgcolor="#CCCCCC" align="center"><? echo '';?></td>

<td bgcolor="#CCCCCC" align="center"><? echo'';?></td>

Voici un concentré de la page "modfilm1.inc.php" où se trouve ma requête.

<?
$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'");
?>


Tel que c'est là, les 2 champs de ma table " titre1 et musique " sont bien modifiés dans la base de données mais c'est le sélecteur qui ne fonctionne pas. Le champs "version" n'est pas modifié dans la table!
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Tu dois rajouter qu'est-ce que chacun est égal (chaque option). Change ton echo '<option>'.$res['nomversion'].'</option>'; par
echo '<option value="'.$res['nomversion'].'">'.$res['nomversion'].'</option>';


----------------

eXon
http://www.lookstrike.com
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Voilà un copier/coller de ce que j'ai mis dans mon sélecteur et ça ne fonctionne toujours pas:


<? $resultat=mysql_query("SELECT * FROM version");
WHILE($res=mysql_fetch_array($resultat,MYSQL_ASSOC)){
echo '<option value="'.$res['nomversion'].'">'.$res['nomversion'].'</option>';
}
?>
</select></td>
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Affiche ta variable $VVersion. Est-ce qu'elle contient bien ce que tu as sélectionné?

----------------

eXon
http://www.lookstrike.com
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
fait un echo $VVersion pour voir ce qu'il t'affiche.
De plus, donne le code html, plutot que php !
Là on verra si ton formulaire est valide ou pas.

-------------------------------------Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Affiche ta variable $VVersion. Est-ce qu'elle contient bien ce que tu as sélectionné?
- Comment fait-on pour afficher la variable $VVersion? Je ne suis pas très expérimenté en php. je voulais justement faire ce petit site pour moi pour me faire un peu à tout cela.

- Le formulaire est bien valide! La structure de ce code fonctionne très bien dans un autre programme! Le seul et unique formulaire se trouve dans la page "index.php" et toutes les autres pages sont des pages "include" comme celle dont je parle qui s'appelle "modfilm.inc.php".. Elles vont toutes s'imbriquer dans "index.php" et se servent donc du formulaire qu'il y a dedans.
Le truc est que je n'arrive pas à "Update" les valeurs qu'il y a dans les sélecteurs. Je ne suis pas très fort en php et pour faire çà, je me calque sur ce que mon ex-copain m'avait fait dans l'autre programme et qui fonctionnait très bien!
Mais si quelqu'un veut voir çà de plus près, je peux lui envoyer les 3 pages de code que j'ai faites pour l'instant dans dreamweaver et la base mysql que j'ai faite, c'est tout à fait possible par mail.
Pour l'instant tout fonctionne, sauf ce problème sur les sélecteurs.

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. Alors peut-être qu'il y a un "WHERE" à introduire dans la requête?
Messages postés
20
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
28 janvier 2005

echo $VVERSION;

suite à mon message dans un topic précédent (j'avais pas vu que tu avais reposté un autre) ca vient du probleme de value c sur, si tu arrives pas a update c qu'il trouve pas ta bonne value sélected au pire on fera un javascript 5/5 mais il faut que tu dises si avec cette nouvelle version tu peux voir la value sélectionné dans la variable.

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

Mais comment fait-on pour voir la value sélectionnée dans la variable comme tu le dis? Excuse-moi mais je n'ai pas l'habitude de faire çà!
Et de quelle nouvelle version parle-tu? Du code que tu as mis dans l'autre topic?
Je vais mettre le code mon pote qui fonctionne bien et sur lequel je me suis basé pour faire le mien. Peut-être que vous pouvez avoir une idée en le voyant. Il y a quelques trucs qui diffèrent du mien mais je ne pense pas que çà peut interférer! Va savoir....

Voici le code de mon pote qui fonctionne et sur lequel je me suis basé.
C'est un script qui traite d'un garage de voitures avec entr'autres, une table "energie" composée d'un seul champs "nomenergie" afin de pouvoir sélectionner dans un menu déroulant, le type de carburant soit: "diesel, essence ou gpl".

<?
$resultat4 = mysql_query("SELECT * FROM energie");
WHILE ( $res=mysql_fetch_array($resultat4,MYSQL_ASSOC)){
if($res[nomenergie] == $resvehicule[energie]){
echo '<option selected>'.$res[nomenergie].'</option>';
}
else{
echo '<option>'.$res[nomenergie].'</option>';
}
}
?>

Voici maintenant sa requête.
"marque" est une autre table composée d'un champs "nommarque" afin de récupérer la marque des différentes voitures inclues dans la BDD.
On voit bien que dans l'UPDATE, il y a la table "vehicule" avec tous les champs de cette table qui vont être modifiés.
Les champs "type", "energie" et "annee" sont des sélecteurs avec menu déroulant. Les autres sont des "text". Ce programme fonctionne très bien mais même en adaptant le code de son sélecteur au sélecteur de mon programme, le mien ne fonctionne pas. Par contre les champs "text" marchent très bien chez moi.

<?
$resultat = mysql_query("SELECT * FROM marque WHERE nommarque='$VMarque'");
$res = mysql_fetch_array($resultat,MYSQL_ASSOC);
$VRecup=$res['id'];


$res=mysql_query("UPDATE vehicule SET modele='$VModele',type='$VType',energie='$VEnergie',annee='$VAnnee',km='$VKm',prix='$VPrix',idmarque='$VRecup',photo='$VPhoto',particularite='$VParticul' WHERE id ='$VId'");
if(!$res){
$message="Impossible d'effectuer votre demande";
}
else{
$message="Le véhicule selectionnée a bien été remplacé dans votre base de données";
}
include("message.inc.php");
?>


Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
bon jaco, fais un effort, ça fait 15 fois qu'on répond à ta question:

echo $VVersion <- voila comment afficher ta variable !


-------------------------------------Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Pour répondre à Davwart:

Je pense que c'est comme çà qu'il faut écrire echo $VVersion sous la requête dans "modfilm1.inc.php":
Excuse-moi mais je n'ai pas l'habitude de ce genre de manipulation!
Voilà ce que j'ai écrit

$res=mysql_query("UPDATE film SET titre1='$VTitre', musique='$VMusique', version='$VVersion'");
echo $VVersion;

J'ai validé et quand je suis allé dans l'admin pour faire une simulation, dans le sélecteur "Version" j'ai uniquement le choix entre "oui" par défaut et "non". J'ai choisi "non" et j'ai validé par le bouton de validation du formulaire.
En haut à gauche de l'écran et tout à fait hors programme, il y avait bien d'écrit ".non".
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Je viens de faire pareil avec la variable $VCinema. Ce sélecteur me donne le choix entre 2 cinémas "Mejan ou Fémina". J'ai choisi "Fémina" et après avoir validé, il y avait bien le nom "fémina" en haut à gauche de l'écran.


$res=mysql_query("UPDATE film SET titre1='$VTitre', musique='$VMusique', version='$VVersion', cinema='$VCinema'");
echo $VVersion;
echo $VCinema;
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Bon! Il n'y a personne qui trouve pourquoi ça ne fonctionne pas alors?
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

J'ai un nouvel élément pour mon problème.
Lorsque je modifie un film dans "modfilm.inc.php" et que je change mes champs et mes sélecteurs avec de nouvelles données, je valide avec le bouton "submit".
La nouveauté est que lorsque cette opération terminée, je fonce ouvrir ma BDD dans Mysql et là je remarque que toutes les nouvelles données ont bien remplacé les anciennes! Ca veut dire que mes sélecteurs et que ma requête fonctionnent.
C'est lorsque je reviens dans mon admin pour y modifier à nouveau un film avec d'autres données, que je m'aperçois que les données de mes sélecteurs sont celles écrites dans les sélecteurs par défaut et non pas celles que je viens d'insérer dans la BDD. Par contre, les champs "text", eux, ont bien validé les données insérées lors de la dernière modification.
Ce ne serait pas une histoire de session?
Messages postés
3
Date d'inscription
samedi 8 mai 2004
Statut
Membre
Dernière intervention
17 février 2005

c'est
sur, à force, les gens, ils sont gentils, mais ils ne veulent pas
répondre, il faut faire un effort de compréhension, tout n'arrive pas
tout seul.
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Parce que tu crois que je ne me suis pas penché sur la question peut-être avant de poster mon message?
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

J'envoie 20 euros en liquide à celui qui me dépannera sur mon cinéma en lui envoyant par mail les 3 pages php que j'ai déjà faites et la petite bdd du cinéma.
Pour les conneries dans les messages, s'abstenir s.v.p.
Messages postés
110
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
22 octobre 2007

Non! Ca ne vaut pas 20 euros pour celui qui me débloque la situation mais 50 euros en liquide une fois que le problème est résolu.
Je lui envoie les 5 pages de mon admin et ma petite base de données avec toutes les explications.
Si quelqu'un est intéressé, qu'il me contacte sur mon mail personnel:
[mailto:jaco132@club-internet.fr jaco132@club-internet.fr]
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Lol ^^



Je veux bien tenter pour 100 euros (non je déconne lol)



Si tu expliquais mieux ton problème on pourrait sans doute mieux
t'aider, écris lisiblement, poste-nous du code PHP, parce que là y'a un
roman écrit en rouge, c'est vraiment impossible à lire...



a +

<hr style="width: 100%; height: 2px;">

<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li><li>Forum de dépannage informatique: 14 catégories pour résoudre vos problèmes informatiques</li><li>Tutorial PHP : apprendre le PHP: Tutorial PHP</li><li>Optimiser PHP: Optimiser vos scripts PHP</li>