PHP & MySql -manipulation-

greg -  
 le père -
Bonjour,

Voilà, je construis un site avec php/mysql sur des acteurs (Il y a 6 acteurs) et leurs séries.

Dans la partie administrateur de mon site, j'aimerais rajouter une nouvelle séries et que la série s'ajoute à la liste des séries des acteurs qui auraient joué dans la série.

Malheureusement ça ne fonctionne pas, ça rajoute bien la série dans la table série mais lorsque je veux voir la liste des série par rapport à un acteur, la série ajouté ne s'affiche pas.

Pourriez-vous m'aidez ?

Mes tables

tblacteurs (idacteur, nom)
tblserie(idserie, titre)
tblrelserieacteur(idacteur,idsérie)

voici le morceau de code qui devrait rajouter ses élément:

if (isset($enregistrer_btn)) {

	$titre_txt = mysql_escape_string($titre_txt);

	$sql = "insert into tblserie (titre)
	values ('$titre_txt') ";
	mysql_query($sql) or die("Erreur à l'exécution : $sql");
	
	$initiale = substr($titre_txt, 0, 3);
	
	
	$sql2 = "insert into tblrelserieacteur (idserie, idacteur)
	values ('$idserie', '$id_acteur') ";
	mysql_query($sql) or die("Erreur à l'exécution : $sql2");
	
	
	
	
	//header("Location: listed.php");
echo '<script language="Javascript">
<!--
document.location.replace("debut.php");
// -->
</script>';
	
}



Le formulaire pour ajouter la série:

<h2> Ajouter une série</h2>

<form action="<?php print $_SERVER["PHP_SELF"] ?>" method="POST">

<input type="hidden" name="initiale" value="<?php print $initiale ?>" />

<input type="hidden" name="page" value="<?php print $page ?>" />

<table class="formulaire">

<tr><td>Titre</td><td><input type="text" name="titre_txt"></td></tr>
<tr><td>Acteur</td><td><select name="id_acteur"><?php boiteDeListe() ?></select></td></tr>



<tr>
<td><input type="submit" value="Quitter" name="quitter_btn" /></td>
<td><input type="submit" value="Enregistrer" name="enregistrer_btn" /></td>
<input type="hidden" name="idserie" value="<?php print $idserie?>" />
</tr>


</table></form>


merci
A voir également:

6 réponses

Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Bonjour, dans sql2 l'underscore pour l'un et pas pour l'autre c'est normal ?
0
greg
 
oui, c'est normal. Celui avec l'underscore est la valeur que l'on a récupérer du formulaire et je l'ai nommé comme ça.
0
foobar47 Messages postés 13536 Date d'inscription   Statut Contributeur Dernière intervention   533
 
Salut,

Tu as regardé du coté des tables ?
Toutes les données sont correctes ?
Tu parles de problème d'affichage, mais tu ne donnes pas le code qui permet d'afficher.
Alors, est-ce un problème d'affichage des données ou un problème d'insertion des données en base ?
a+
0
greg
 
Bonjour,

Oui, tout est correct car mes autres manipulations fonctionnent.

Je pense que c'est un problème d'insertion des données dans la table, quand j'ajoute une série elle s'ajoute bien dans la table "tblserie(idserie, titre)" mais idserie et idacteur ne s'insère pas dans tblrelserieacteur(idacteur,idsérie).

merci
0
le père
 
Bonjour

Peut-être parce que tu appelles ta requête $sql2 mais que tu fais mysql_query($sql) sans le 2
0
greg
 
Oui, je n'avais pas vu cette erreur, merci.

J'ai modifié cette erreur mais la série ne s'affiche pas dans la table "tblrelserieacteur", j'ai même été dans le phpMyadmin de xammp, la série que j'ajoute est bien dans la table série mais rien dans la table relationnel.
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
ça doit être ça oui..
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
if (isset($_POST['enregistrer_btn'])) {

	$titre_txt = mysql_escape_string($_POST['titre_txt']);

	$sql = "INSERT INTO tblserie (titre)
	VALUES ('$titre_txt') ";
	mysql_query($sql) or die("Erreur à l'exécution : $sql".mysql_error());
	
	$initiale = substr($titre_txt, 0, 3);
	
	
	$sql2 = "INSERT INTO tblrelserieacteur (idserie, idacteur)
	VALUES ('$idserie', '$id_acteur') ";
	mysql_query($sql) or die("Erreur à l'exécution : $sql2".mysql_error());
	
	
	
	
	//header("Location: listed.php");
echo '<script language="Javascript">
<!--
document.location.replace("debut.php");
// -->
</script>';
	
}


?>

Le formulaire pour ajouter la série:

<h2> Ajouter une série</h2>

<form action="<?php print $_SERVER["PHP_SELF"] ?>" method="POST">
<!-- pour ces deux champs cachés, je suppose que tu as du code avant pour les initialiser ? -->
<input type="hidden" name="initiale" value="<?php print $initiale ?>" />

<input type="hidden" name="page" value="<?php print $page ?>" />

<table class="formulaire">

<tr><td>Titre</td><td><input type="text" name="titre_txt"></td></tr>
<tr><td>Acteur</td><td><select name="id_acteur"><?php boiteDeListe() ?></select></td></tr>



<tr>
<td><input type="submit" value="Quitter" name="quitter_btn" /></td>
<td><input type="submit" value="Enregistrer" name="enregistrer_btn" /></td>
<input type="hidden" name="idserie" value="<?php print $idserie?>" />
</tr>


</table></form>
0

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

Posez votre question
le père
 
as-tu fait echo $sql2 pour t'assurer de ce qu'il y a vraiment dans ta requête ?
0
foobar47 Messages postés 13536 Date d'inscription   Statut Contributeur Dernière intervention   533
 
Dans le code que tu postes, tu mets encore "mysql_query($sql)" au lieu de sql2
0
le père
 
voir messages 5 et 7 ;)
0