Insert into [Résolu]

Signaler
Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012
-
Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011
-
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

Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011

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é.*/
?>
Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011

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'].")";
Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011

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.
Messages postés
28
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
28 octobre 2012

Merci pour l'aide, mais il y a une erreur "undefined index nom prem et classe"

Merci