Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 21h36   #1
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
Par défaut select from ,if exists, insert into

Bonjour à tous,

Voila j'ai un formulaire inscription à 3 champs :

Code html :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
<table>
<tr><td>Prenom</td><td>
<input type="text" name="Prenom" size="20" value="" maxlength="20"></td>
</tr>  
<tr><td>Nom</td><td>
<input type="text" name="Nom" size="20" value="" maxlength="20"></td>
</tr>  
<tr><td>Classe</td><td>
<input type="text" name="Classe" size="20" value="" maxlength="20"></td>
</tr>

deux tables identique SQL nommées tbl1 et tbl2:

`Nom` ,`Prenom` ,`Classe` ,`Telephone` ,`Portable_M` ,`Portable_P`,`Sortie`,

Je cherche que les données saisies dans le formulaire, si les 3 champs sont identiques a la tbl1 , alors copié les données dans tbl2, sinon message "Vous ne faites pas parti des adherents".

J'espere avoir été clair, et vous remercie par avance.

Alain
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 21h47   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Sur la 1re table tu peux faire un SELECT sur les champs du formulaire.
Si en retour tu as 0 enregistrement affichage du message sinon insertion dans la 2e table.

Ceci dit je doute de la réelle pertinence d'avoir 2 tables.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 21h56   #3
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
La 2eme table sert comme inscription par le web à une sortie et seul les adhérents peuvent y participer.

voila ce que j'ai fais, mais ca envois rien dans la table 2, et aucun message d'erreur

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
<?php
$db = mysql_connect('localhost', 'root', '') or die('HOST ?'); 
mysql_select_db('Adherents',$db) or die('DB ?'); 
 
/*listage des eleves*/
$sql = 'SELECT * FROM enfants WHERE Nom="" AND Prenom="" AND Classe=""'; /*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(isset($_POST['nom']));
 
      // je vérifie si les champs sont vides 
 
      if(empty($Prenom) OR empty($Nom) OR empty($Classe)) 
      { 
      echo '<center><font color="red">Attention, aucun champs ne peut rester vide !</font><br />'; 
 
      } 
 
      // Aucun champ n'est vide, je peut enregistrer dans la table 
      else 
      { 
      $sql =" INSERT INTO `Adherents`.`sortie1` (
 
      `Nom` ,
      `Prenom` ,
      `Classe` ,
      `Telephone` ,
      `Portable_M` ,
	  `Portable_P`,
	  `Sortie`,
	  `Photos`
      )VALUES ('$Prenom', '$Nom', '$Classe', '$Telephone', '$Portable_M', '$Portable_P', '$Sortie', '$Photos')";
 
 
 
 
      // on insere 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 
      unset($_POST);
 
       $_SERVER['PHP_SELF'];
      echo 'Vos infos on été ajoutées.'; 
      mysql_close(); // on ferme la connexion 
      echo '<a href="?">Ajouter un éléve</a>';
      } 
 
 
  ?>
<div align="center">           
  <form method="POST" action="">
    <table>
          <tr><td>Prenom</td><td>
              <input type="text" name="Prenom" size="20" value="" maxlength="20"></td>
          </tr>  
          <tr><td>Nom</td><td>
              <input type="text" name="Nom" size="20" value="" maxlength="20"></td>
          </tr>  
          <tr><td>Classe</td><td>
              <input type="text" name="Classe" size="20" value="" maxlength="20"></td>
          </tr> 
    </table>
   </form>
</div>
    <p><input type="submit" value="Envoyer" name="envoyer"></p><br />                     
  </form> 
</div>  
 
<?php
mysql_close();
 
?>
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 22h02   #4
Membre régulier
 
Homme Nicolas
Étudiant
Inscription : mai 2010
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2010
Messages : 308
Points : 74
Points : 74
Code php :
1
2
 
$sql = 'SELECT * FROM enfants WHERE Nom="" AND Prenom="" AND Classe=""';

Il te manque pas des variables la par hasard ?
Tu lui fait afficher toutes les infos de la table Enfants ou le nom, le prénom et la classe sont des chaines vides...
feldi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 22h25   #5
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
Code php :
1
2
 
$sql = 'SELECT * FROM enfants WHERE Nom="$Nom" AND Prenom="$Prenom" AND Classe="$Classe"';

J'ai mis ça, mais c'est pareil.
Après je ne vois pas.

Merci
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 00h15   #6
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Fais un echo $sql et tu comprendras ;-)
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 19h17   #7
Invité de passage
 
Homme alain gaillard
Technicien maintenance
Inscription : avril 2011
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme alain gaillard
Localisation : France

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 15
Points : 3
Points : 3
J'ai ecrit
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
 
mysql_select_db('Adherents',$db) or die('DB ?'); 
//$log = $_SESSION['login']
 
$prenom=$_POST['Prenom'];
$nom=$_POST['Nom'];
$classe=$_POST['Classe'];
/*listage des eleves*/
echo $sql = "SELECT * FROM `enfants` where  Prenom='".$prenom."' AND  Nom='".$nom."' AND Classe='".$classe."'";
/*pareil*/
$req=mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(isset($_POST['']));

cela me donne ca sur la page

Code php :
SELECT * FROM `enfants` where Prenom='a' AND Nom='a' AND Classe='cm2'

Les données que j'ai ecrite reste dans le select et ne vont pas dams la tbl2.

Je cale
casper77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web