IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

select from ,if exists, insert into


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut select from ,if exists, insert into
    Bonjour à tous,

    Voila j'ai un formulaire inscription à 3 champs :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 117
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 117
    Points : 8 266
    Points
    8 266
    Billets dans le blog
    17
    Par défaut
    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

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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();
     
    ?>

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 117
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 117
    Points : 8 266
    Points
    8 266
    Billets dans le blog
    17
    Par défaut
    Fais un echo $sql et tu comprendras ;-)
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai ecrit
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. SELECT à l'intérieur de INSERT INTO
    Par Nirspote dans le forum JDBC
    Réponses: 21
    Dernier message: 15/07/2009, 11h39
  2. Réponses: 9
    Dernier message: 07/02/2008, 13h44
  3. Réponses: 18
    Dernier message: 01/10/2006, 19h17
  4. insert into from select ?
    Par axel584 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/01/2005, 18h10
  5. Incrémenter champ : insert into . select max(.) + 1 from .
    Par ludo.guy dans le forum Langage SQL
    Réponses: 10
    Dernier message: 25/11/2004, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo