PHP & MySql -manipulation-

Fermé
greg - 8 janv. 2010 à 13:27
 le père - 8 janv. 2010 à 16:47
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 vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
8 janv. 2010 à 13:31
Bonjour, dans sql2 l'underscore pour l'un et pas pour l'autre c'est normal ?
0
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 jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 533
8 janv. 2010 à 13:56
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
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
Bonjour

Peut-être parce que tu appelles ta requête $sql2 mais que tu fais mysql_query($sql) sans le 2
0
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 vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
8 janv. 2010 à 14:30
ça doit être ça oui..
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 janv. 2010 à 14:29
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
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 jeudi 9 janvier 2003 Statut Contributeur Dernière intervention 16 mai 2014 533
8 janv. 2010 à 15:33
Dans le code que tu postes, tu mets encore "mysql_query($sql)" au lieu de sql2
0
voir messages 5 et 7 ;)
0