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 :

Formulaire PHP --> MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut Formulaire PHP --> MySQL
    Bonjour,

    Dans mon formulaire il y a plusieurs champs.

    Et je voudrais que par défaut ils y envoient NULL dans ma base MySQL. Cela est-il possible ?

    Autre point, une fois que j'ai validé mon fomulaire apparaît à l'écran 'Opération réussie'. Existe-t-il un moyen au bout de 10 secondes de revenir au formulaire ?

    D'avance merci pour votre aide !!!

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pour la première question, il te faut t'en charger toi-même car la chaîne 'NULL' et la valeur NULL ne sont pas la même chose...

    pour le second, il te faut un meta du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Refresh" content="10; URL=page_next.html"/>
    10 correspond au temps en secondes avant la redirection, page_next.html est la page vers la quelle doit être faite la redir...

  3. #3
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    Nickel pour le rafraichissement.

    Par contre, c'est relous, appart une succession de 'if' comment je peux gérer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MYSQL_CONNECT("host", "user", "passwd") OR DIE ("Connexion impossible");
    MYSQL_SELECT_DB(base);
     
    MYSQL_QUERY("INSERT INTO base (chp1,chp2,chp3,etc.) VALUES ('$chp1','$chp2','$chp3',etc.);") OR DIE ("ERROR");
    echo "Enregistrement réussi.";
     
    MYSQL_CLOSE();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (empty($chp1)){
      if (empty($chp2)){
        etc.

  4. #4
    Membre habitué Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Points : 173
    Points
    173
    Par défaut
    et bien dans la création de la requete, tu fais ça :

    (empty($chp1)?$chp1:"NULL") au lieu de mettre directement $chp1

  5. #5
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    Ouep mais ca ne créé pas NULL dans ma base MySQL.

    En gros j'avais trouvé un truc comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while (list($var, $value) = each($HTTP_GET_VARS))
        {
          $tab["$var"] = $value;
          if (!empty($tab[$var])){
              $test="$$var";
              }
        }
    Mais mes variable ne se sépare pas avec une virgule et surtout il faudrait dire quel champs correspond à la table :

    INSERT INTO table (chp5,chp6) VALUES ($chp5,$chp6)

  6. #6
    Membre habitué Avatar de krolineeee
    Inscrit en
    Mars 2006
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 232
    Points : 173
    Points
    173
    Par défaut
    mais si ca t'insert "null" dans ta base :

    $rqt ="INSERT INTO table (chp5,chp6) VALUES (".(empty($chp5)?$chp5:"NULL") .",(".(empty($chp6)?$chp6:"NULL") .")";

  7. #7
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    Ca ne fonctionne pas ton astuce. Si le champ est vide ca me donne (imaginons que le champ 6 est vide) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "INSERT INTO table (chp5,chp6,chp7) VALUES (".(empty($chp5)?$chp5:"NULL") .",".(empty($chp6)?$chp6:"NULL") .",".(empty($chp6)?$chp6:"NULL") .")";
     
    --->
     
    INSERT INTO table (chp5,chp6,chp7) VALUES (NULL,,NULL);

    En attendant, je voudrais savoir si, avec le code suivant :

    Code : 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
    $n=0;
    $i=0;
    while (list($var, $value) = each($HTTP_GET_VARS))
      {
          $tab["$var"] = $value;
          if (!empty($tab[$var])){
              $n=$n+1;
              $teb[$i]="$$var";
              $i=$i+1;
              }
      }
    echo "$n";
    $m=$n-1;
    for($i=0;$i<$m;$i=$i+1)
      {
          echo $teb[$i].',';
      }
    Comment puis-je insérer la boucle for dans une variable ?

  8. #8
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    je vois pas trop de quoi tu veux parler en disant :
    Comment puis-je insérer la boucle for dans une variable ?
    sinon juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0;$i<$m;$i=$i+1)
    tu peux faire :
    ca fera pareil et c'est plus pratique à écrire.

  9. #9
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    En shell par exemple, tu peux faire :

    Du coup ta variable var prendre toutes les valeurs de la boucle for.

    Ici je veux que var prenne : $chp1,$chp2,etc,

    Est-ce possible en PHP ?

  10. #10
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    http://fr.php.net/manual/fr/language...s.variable.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $nom = 'chp';
     
    for($i=0;$i<10;$i++)
    {
         ${$nom.$i} = 'monde'.$i;
    }
     
    echo $chp1;
    echo $chp4;
    voila, c'est ca que tu veux faire ?

  11. #11
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    PRESQUE !!!

    Ce que je veux faire c'est je récupère dans une variable la suite des champs pour ensuite n'avoir que :

    INSERT INTO table VALUES ($final);

    Où $final équivaut à l'ensemble des champs concernés.

  12. #12
    Membre régulier Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 80
    Points
    80
    Par défaut
    Merci Maxoo, ta proposition m'a bien orienté pour faire un script qui gère les variables.

    Merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. formulaire php et mysql
    Par flyad dans le forum Langage
    Réponses: 20
    Dernier message: 17/08/2012, 06h16
  2. [MySQL] Selection dans un Formulaire php et Mysql
    Par neutrall dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/07/2012, 12h11
  3. [MySQL] Formulaire PHP ->MySQL
    Par shub dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 09/02/2010, 22h42
  4. [MySQL] formulaire php- source mysql
    Par romain.barraud dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/04/2007, 18h36
  5. [MySQL] Bug Formulaire PHP-MySQL
    Par Davboc dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 01/03/2006, 15h15

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