par
Romuald632 » 27 avr. 2009, 14:05
Bonjour à tous et toutes!
J'ai créé un formulaire d'inscription que voici :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" enctype="multipart/form-data" action="recup_donnee.php">
Nom :<input type="text" name="nom_etab" size="40" value="" maxlength="70"><br>
Texte :<textarea name="texte_etab" cols="40"></textarea><br>
Pictos :<?php
$db=mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test_picto',$db);
$picto = "SELECT id_picto, nom_picto, image_picto FROM picto";
$result = mysql_query($picto);
while ($row = mysql_fetch_assoc($result)) {
echo '<input type="checkbox" name="picto[]" value="' . $row['id_picto'] . '"/>
<img src="picto/' . $row['image_picto'] . '">';
}
?><br>
<input type="submit" name="upload" value="Envoyer">
</form>
</body>
</html>
Maintenant je voudrai récupérer mes données dans mes tables :
- etab, où je recupère le nom et le texte (pas de souci pour inserer dans cette table)
- picto, table contenant mes pictos
- liaison, table dans laquelle je récupère le formulaire pour dire quel picto va à tel établissement
J'ai commencé mon formulaire comme ci, mais ça bloque au niveau des pictos :
<?php
// On commence par récupérer les champs
if(isset($_POST['nom_etab'])) $etab=$_POST['nom_etab'];
else $etab="";
if(isset($_POST['texte_etab'])) $texte=$_POST['texte_etab'];
else $texte="";
// On efface tout
$sql = "DELETE FROM liaison id_etab WHERE id_etab =" . $id_etab;
// on ré-ecrit
if (isset($_POST['picto'])) {
foreach ($_POST['picto'] as $id_picto) {
$sql = "INSERT INTO liaison (id_etab, id_picto) VALUES (id_etab, intval($id_picto))";
}
}
// Aucun champ n'est vide, on peut enregistrer dans la table
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test_picto',$db) or die('Erreur de selection '.mysql_error());
// On écrit la requête sql
$sql = "INSERT INTO etab(id_etab,etab,texte) VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string($etab)."','".mysql_real_escape_string($texte)."')";
// On récupère l'id_etab qui vient d'être généré
$id_etab = mysql_insert_id();
// Ci-dessous on insère les infos dans liaison
$sql = "INSERT INTO liaison(id_liaison, id_etab, id_picto) VALUES('','$id_etab','$id_picto')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// On insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// On affiche le résultat pour le visiteur
echo "<br />";
echo 'Votre Etablissement a été enregistré avec succés !';
echo "<br />";
mysql_close(); // on ferme la connexion
?>
Bonjour à tous et toutes!
J'ai créé un formulaire d'inscription que voici :
[php]<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" enctype="multipart/form-data" action="recup_donnee.php">
Nom :<input type="text" name="nom_etab" size="40" value="" maxlength="70"><br>
Texte :<textarea name="texte_etab" cols="40"></textarea><br>
Pictos :<?php
$db=mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test_picto',$db);
$picto = "SELECT id_picto, nom_picto, image_picto FROM picto";
$result = mysql_query($picto);
while ($row = mysql_fetch_assoc($result)) {
echo '<input type="checkbox" name="picto[]" value="' . $row['id_picto'] . '"/>
<img src="picto/' . $row['image_picto'] . '">';
}
?><br>
<input type="submit" name="upload" value="Envoyer">
</form>
</body>
</html>
[/php]
Maintenant je voudrai récupérer mes données dans mes tables :
- etab, où je recupère le nom et le texte (pas de souci pour inserer dans cette table)
- picto, table contenant mes pictos
- liaison, table dans laquelle je récupère le formulaire pour dire quel picto va à tel établissement
J'ai commencé mon formulaire comme ci, mais ça bloque au niveau des pictos :
[php]
<?php
// On commence par récupérer les champs
if(isset($_POST['nom_etab'])) $etab=$_POST['nom_etab'];
else $etab="";
if(isset($_POST['texte_etab'])) $texte=$_POST['texte_etab'];
else $texte="";
// On efface tout
$sql = "DELETE FROM liaison id_etab WHERE id_etab =" . $id_etab;
// on ré-ecrit
if (isset($_POST['picto'])) {
foreach ($_POST['picto'] as $id_picto) {
$sql = "INSERT INTO liaison (id_etab, id_picto) VALUES (id_etab, intval($id_picto))";
}
}
// Aucun champ n'est vide, on peut enregistrer dans la table
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test_picto',$db) or die('Erreur de selection '.mysql_error());
// On écrit la requête sql
$sql = "INSERT INTO etab(id_etab,etab,texte) VALUES('".mysql_real_escape_string('')."','".mysql_real_escape_string($etab)."','".mysql_real_escape_string($texte)."')";
// On récupère l'id_etab qui vient d'être généré
$id_etab = mysql_insert_id();
// Ci-dessous on insère les infos dans liaison
$sql = "INSERT INTO liaison(id_liaison, id_etab, id_picto) VALUES('','$id_etab','$id_picto')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// On insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// On affiche le résultat pour le visiteur
echo "<br />";
echo 'Votre Etablissement a été enregistré avec succés !';
echo "<br />";
mysql_close(); // on ferme la connexion
?>[/php]