Problème de base de données PHP / MySql

Fermé
Johnny_begood - 10 févr. 2008 à 19:03
 Johnny_begood - 14 févr. 2008 à 13:17
Bonjour à tous,
Alors voilà, j'ai une vidéothèque que je me fais et j'aimerais pouvoir retrouver ce que j'ai dans ma vidéothèque, logique.


voici mon code :

J'ai mis la connexion avec la base et tout marchait bien, ...enfin lorsque j'écrivais quelque chose il me l'affichait dans l'autre page. Mais là il me dit que y'a une erreur de virgule ou un truc du genre ici (mis en gras).

Pourtant cela me parait juste.

Et puis j'ai essayé de faire une recherche normal sur ma base de données mais cela ne m'affiche rien.

Bref je suis un peu dans le brouillard. Si une âme charitable (ou plusieurs) pouvaient m'aider à voir plus clair cela m'aiderait beaucoup.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style1 {
	font-size: x-large;
	font-weight: bold;
}
-->
</style>
</head>

<body>
<?php
// Connexion au serveur
$connexion=mysql_connect("localhost","Ric_Hochett","ric");
if(is_bool($connexion))
{
die("erreur de connexion au serveur");
}
// Selectionner une table
$choixBase=mysql_select_db("videotheque");
if(!$choixBase)
{
die("erreur de connexion a la base de donnees");
}
// Creation et envoi de la requete
$requete = "SELECT personne.prenom,personne.nom FROM personne";

INSERT INTO film (titre, annee) VALUES ("$titre",$annee);


// Recuperation des resultats
$recherche = isset($_POST['envoie']) ? $_POST['envoie'] : '';
// la requete mysql
$sql = mysql_query("SELECT nom, prenom FROM personne WHERE nom LIKE %$recherche% OR prenom LIKE %$recherche%") or die (mysql_error());

// affichage du résultat
while(list($nom, $prenom)=mysql_fetch_array($sql)){
echo 'Resultat de la recherche: '.$nom.', '.$prenom.' <br />';
}
*/

?>
<div align="center">Vid&eacute;oth&egrave;que de la biblioth&egrave;que de<span class="Style1"> la Picardie (boudiou !) </span></div>
<p>&nbsp;</p>
<p>Titre : </p>
<form id="form1" name="form" method="post" action="reponses.php">
  <label>
  <input type="text" name="titre" />
  </label>

<p>Ann&eacute;e :</p>

  <label>
  <input type="text" name="annee" />
  </label>

<p>Dur&eacute;e :</p>

  <label>
  <input type="text" name="textfield3" />
  </label>

<p>Style : </p>

  <label>
  <input type="text" name="textfield4" />
  </label>

<p>Description :</p>

  <label>
  <textarea name="textfield5" cols="30" rows="5"></textarea>
  </label>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Acteurs :</p>
<label>
<?php
$resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
 $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

<p>R&eacute;alisateurs :</p>
  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>  </label>
  <label>
   <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>  </label>

  <label>
    <?php
  $resultat = mysql_query($requete);
 echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label>

  <label>
  <?php
 $resultat = mysql_query("SELECT nom, prenom FROM personne");
   
  ?>
  <input type="submit" name="Submit" value="Envoyer" />
  </label>
</form>
<p>&nbsp;</p>

<p>
  <?php // Fermeture de la connexion
mysql_close($connexion);
?>
</p>
</body>
</html>


Voilà ausis mon fichier reponses.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<?php
$titre=$_POST['titre'];
$annee=$_POST['annee'];
echo $titre."est un film créé en".$annee;

?>


</body>
</html>



voilà en espérant avoir été clair.

Je vous remercie par avance

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 févr. 2008 à 20:33
Bonsoir

Ligne33 tu as:INSERT INTO film (titre, annee) VALUES ("$titre",$annee);

ça fait quoi là

ligne 45 tu as */ ??

// Connexion au serveur
$connexion=mysql_connect("localhost","Ric_Hochett","ric");
if(is_bool($connexion))
{
die("erreur de connexion au serveur");
}


en plus simple et avec le message d'erreur:
// Connexion au serveur
$connexion=mysql_connect("localhost","Ric_Hochett","ric") or die ("erreur de connexion au serveur: ".mysql_error());
}


fais idem pour $choixBase=mysql_select_db("videotheque");

Pourquoi fais tu plusieurs fois:
<label>
<?php
$resultat = mysql_query($requete);
echo "<select>";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option>";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
</label>


dans les balise <selct il faut name="...." sinon comment veux tu récupérer la valeur selectionnée dans la liste lorsqu'elle est postée

dans les balises <option il faut value="...." ex:
echo "<option value=".$ligne['nom']>";
0
Utilisateur anonyme
11 févr. 2008 à 09:26
$requete = "SELECT prenom,nom FROM personne";

INSERT INTO film (titre, annee) VALUES ("$titre","$annee");
0
Johnny_begood
11 févr. 2008 à 11:09
Merci à vous deux pour vos réponses :D

Alain_42, : la ligne 33 sert à pouvoir rajouter des le titre et l'année d'un film dans la base de données


J'ai retiré le */ de la ligne 45


Pour les 2 propositions d'optimisation c'est sympa, mais pour l'instant je garde comme c'est sinon je vais plus rien comprendre :p , enfin je me comprends :).

Pour les balises select j'ai mis la même chose que pour les balises values , c'est bon ? Mais sinon je mets quoi dans mon fichier reponse.php ?

J'ai mis plusieurs fois <label>....etc. pour que cela marche pour chaque ascenceurs à choixmultiples (il y en a 5).


fil1958 : J'ai fait les 2, 3 changements que tu m'as conseillé à part le $annee, je le met pas sous chaîne de caractère car c'est un INT.


Voici un bout du nouveau code qui ne marche toujours pas toujours la même erreur :s :
<code>
<body>
<?php
// Connexion au serveur
$connexion=mysql_connect("localhost","Ric_Hochett","ric");
if(is_bool($connexion))
{
die("erreur de connexion au serveur");
}
// Selectionner une table
$choixBase=mysql_select_db("videotheque");
if(!$choixBase)
{
die("erreur de connexion a la base de donnees");
}
// Creation et envoi de la requete
$requete = "SELECT prenom,nom FROM personne";

INSERT INTO film (titre, annee) VALUES ("$titre",$annee);


// Recuperation des resultats


?>


<?php
/*

// Récupère la variable
$recherche = isset($_POST['envoie']) ? $_POST['envoie'] : '';
// la requete mysql
$sql = mysql_query("SELECT nom, prenom FROM personne WHERE nom LIKE %$recherche% OR prenom LIKE %$recherche%") or die (mysql_error());

// affichage du résultat
while(list($nom, $prenom)=mysql_fetch_array($sql)){
echo 'Resultat de la recherche: '.$nom.', '.$prenom.' <br />';
}
*/
?>


<div align="center">Vidéothèque de la bibliothèque de<span class="Style1"> la Picardie (boudiou !) </span></div>
<p> </p>
<p>Titre : </p>
<form id="form1" name="form" method="post" action="reponses.php">
<label>
<input type="text" name="titre" />
</label>

<p>Année :</p>

<label>
<input type="text" name="annee" />
</label>

<p>Durée :</p>

<label>
<input type="text" name="textfield3" />
</label>

<p>Style : </p>

<label>
<input type="text" name="textfield4" />
</label>

<p>Description :</p>

<label>
<textarea name="textfield5" cols="30" rows="5">
0
Johnny_begood
11 févr. 2008 à 11:11
Merci à vous deux pour vos réponses :D

Alain_42, : la ligne 33 sert à pouvoir rajouter des le titre et l'année d'un film dans la base de données


J'ai retiré le */ de la ligne 45


Pour les 2 propositions d'optimisation c'est sympa, mais pour l'instant je garde comme c'est sinon je vais plus rien comprendre :p , enfin je me comprends :).

Pour les balises select j'ai mis la même chose que pour les balises values , c'est bon ? Mais sinon je mets quoi dans mon fichier reponse.php ?

J'ai mis plusieurs fois <label>....etc. pour que cela marche pour chaque ascenceurs à choixmultiples (il y en a 5).


fil1958 : J'ai fait les 2, 3 changements que tu m'as conseillé à part le $annee, je le met pas sous chaîne de caractère car c'est un INT.


Voici un bout du nouveau code qui ne marche toujours pas toujours la même erreur :s :
<body>
<?php
// Connexion au serveur
$connexion=mysql_connect("localhost","Ric_Hochett","ric");
if(is_bool($connexion))
{
die("erreur de connexion au serveur");
}
// Selectionner une table
$choixBase=mysql_select_db("videotheque");
if(!$choixBase)
{
die("erreur de connexion a la base de donnees");
}
// Creation et envoi de la requete
$requete = "SELECT prenom,nom FROM personne";

INSERT INTO film (titre, annee) VALUES ("$titre",$annee);


// Recuperation des resultats


?>


<?php
/*

// Récupère la variable
$recherche = isset($_POST['envoie']) ? $_POST['envoie'] : '';
// la requete mysql
$sql = mysql_query("SELECT nom, prenom FROM personne WHERE nom LIKE %$recherche% OR prenom LIKE %$recherche%") or die (mysql_error());

// affichage du résultat
while(list($nom, $prenom)=mysql_fetch_array($sql)){
echo 'Resultat de la recherche: '.$nom.', '.$prenom.' <br />';
}
*/
?>


<div align="center">Vid&eacute;oth&egrave;que de la biblioth&egrave;que de<span class="Style1"> la Picardie (boudiou !) </span></div>
<p>&nbsp;</p>
<p>Titre : </p>
<form id="form1" name="form" method="post" action="reponses.php">
  <label>
  <input type="text" name="titre" />
  </label>

<p>Ann&eacute;e :</p>

  <label>
  <input type="text" name="annee" />
  </label>

<p>Dur&eacute;e :</p>

  <label>
  <input type="text" name="textfield3" />
  </label>

<p>Style : </p>

  <label>
  <input type="text" name="textfield4" />
  </label>

<p>Description :</p>

  <label>
  <textarea name="textfield5" cols="30" rows="5"></textarea>
  </label>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Acteurs :</p>
<label>
<?php
$resultat = mysql_query($requete);
 echo "<select name=".$ligne['nom']">";
while ($ligne = mysql_fetch_array($resultat)) {
echo "<option value=".$ligne['nom']">";
echo $ligne['nom']." ".$ligne['prenom'];
echo "</option>";
}
echo "</select>";
?>
  </label> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 févr. 2008 à 18:24
Salut,

je n'ai pas regardé ailleurs dans ton code, mais:

INSERT INTO film (titre, annee) VALUES ("$titre",$annee);

mis comme ça dans ton code ça ne fait rien du tout, au mieux une erreur php

si tu veux insérer dans ta BDD il faut :

$req_insertion="INSERT INTO film (titre, annee) VALUES ('".$titre."','".$annee."')";
$insertion=mysql_query($req_insertion);


@lain
0
Johnny_begood
14 févr. 2008 à 13:17
Rebonjour à tous, désolé d'avoir mis du temps à répondre ^^,


J'ai finalement un peu avancer :D : j'arrive à lancer ajouter un film par exemple dans le titre dans la base de données. Mais j'arrive pas à :

-faire la jointure entre 2 tables (film et personne), je dois passer par la table realise mais je sais pas ocmment le faire sur l'informatique.

-Dreamweaver me met une erreur comme quoi n_personne n'est pas reconnu, UNDEFINIED INDEX

Je ne comprends pas pourquoi et comment faire :( , merci encore ^^


Ma base de données SQL : http://rapidshare.com/files/91754415/sql2.sql.html

Ma page php de formulaire : http://rapidshare.com/files/91754538/phpsql2.php.html

Ma page php de récupération : http://rapidshare.com/files/91754692/reponses.php.html
0