Insert into

Résolu
casper77610 Messages postés 28 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 28 octobre 2012 - 21 mai 2011 à 18:00
Bobshit75 Messages postés 29 Date d'inscription lundi 28 février 2011 Statut Membre Dernière intervention 13 juillet 2011 - 24 mai 2011 à 10:27
Bonjour à tous,

J'ai un formulaire d'inscription,

Une tbl1 ou il y a déjà les adhérents et une tbl2 ou les adhérents peuvent s'inscrire à une sortie, mais que si ils sont adhérents, les autres non.

Mon problème est que identification par 3 saisis des adhérents est OK, mais que lorsque je veux les inscrire dans la tbl2, la requete envois toute la tbl1 dans la tbl2 et non juste que l'adhérent qui c'est inscrit.

Formulaire sortie-1.php





Document sans titre






Prenom, ,

----
Nom, ,

----
Classe,









Attention ! Tous les champs doivent être remplis








Sortie-id.php

4 réponses

Bobshit75 Messages postés 29 Date d'inscription lundi 28 février 2011 Statut Membre Dernière intervention 13 juillet 2011
24 mai 2011 à 10:27
Euh en effet, essaye ça :

<?php 
$data[] = mysql_fetch_assoc($req);
var_dump($data); /*C'est pour voir ce que retourne ton tableau. Tu pourras nous link justement ce qu'il te retourne ? Enfin montre nous juste un exemple de nom, prenom, classe, les autres champs on met de côté.*/
?>
3
Bobshit75 Messages postés 29 Date d'inscription lundi 28 février 2011 Statut Membre Dernière intervention 13 juillet 2011
23 mai 2011 à 16:49
Hum, il me semble que ta requête select est juste mal organisée en fonction de ton besoin.

$sql = "SELECT * FROM enfants WHERE prenom='".$prenom."' AND nom='".$nom."' AND classe='".$classe."'";


Ensuite tu check si il y a une concordance au niveau des valeurs remplies et celles de la table, or si une des 3 valeurs est fausse, ta requête SELECT se fera pas et donc inutile de faire ton check ensuite vue que $data sera NULL.

Sinon, si j'ai bien compris ton problème, tu désires insérer dans la table "sortie1" les informations de la requête select d'avant c'est bien ça ? Si oui, corrige déjà ta requête d'insert avec ça, je crois que c'est mieux :

$sql ="INSERT INTO sortie1 (
      `Nom` ,
  `Prenom` ,
      `Classe`,
  `Telephone` ,
      `Portable_M` ,
  `Portable_P`,
  `Sortie`,
  `Photos`
      )VALUES(
 	  ".$data['nom'].",
  ".$data['prenom'].",
  ".$data['classe'].",
      ".$data['telephone'].",
  ".$data['portable_m'].",
      ".$data['portable_p'].",
  ".$data['sortie'].",
  ".$data['photos'].")";
0
Bobshit75 Messages postés 29 Date d'inscription lundi 28 février 2011 Statut Membre Dernière intervention 13 juillet 2011
23 mai 2011 à 17:07
Bon j'ai pu revoir un peu le code essaye ça :

<?php
$db = mysql_connect('localhost', 'root', '') or die('HOST ?'); 
mysql_select_db('Adherents',$db) or die('DB ?'); 

if(isset($_POST)){
if(!empty($_POST['prenom']) && !empty($_POST['nom']) && !empty($_POST['classe'])){
extract($_POST);
$sql = "SELECT * FROM enfants WHERE prenom='".$prenom."' AND nom='".$nom."' AND classe='".$classe."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data != NULL){
if($data['prenom'] != $prenom && $data['nom'] != $nom && $data['classe'] != $classe){
echo 'Enfant non inscrit comme adhérent. Merci de recommencer

';
include('sortie-1.php');
    //exit;
} else {
$sql ="INSERT INTO sortie1 (
      `Nom` ,
  `Prenom` ,
      `Classe`,
  `Telephone` ,
      `Portable_M` ,
  `Portable_P`,
  `Sortie`,
  `Photos`
      ) VALUES (
 	  ".$data['nom'].",
  ".$data['prenom'].",
  ".$data['classe'].",
      ".$data['telephone'].",
  ".$data['portable_m'].",
      ".$data['portable_p'].",
  ".$data['sortie'].",
  ".$data['photos'].")";
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 
// on affiche le résultat pour le visiteur
unset($_POST);
header('location:sortie-1.php');
echo 'L enfant a bien été inscrit';
exit;
mysql_close();
}
} else {
echo 'Error : Retour Requête SQL => NULL

';
include('sortie-1.php');
}
} else {
echo 'Vous avez oublié de remplir un champ.

';
include('sortie-1.php');
//exit;
}
}

mysql_close();
?>


En espérant que ça a pu t'aider.
0
casper77610 Messages postés 28 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 28 octobre 2012
23 mai 2011 à 18:33
Merci pour l'aide, mais il y a une erreur "undefined index nom prem et classe"

Merci
0
Rejoignez-nous