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 :

[Conception] Problème avec INSERT dans une TABLE


Sujet :

PHP & Base de données

  1. #21
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Thuliad
    Tu aurais pu trouver ça tout seul



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for ($i = 5; $i--; )
    {
      if (!$_POST['ref_'.$i] || !$_POST['nom_'.$i] || !$_POST['adr_'.$i].............) continue;
      $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel) 
            VALUES ('".mysql_escape_string($_POST['ref_'.$i])."','".mysql_escape_string($_POST['nom_'.$i])."',.........;
      mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    l'opérateur || signifie OU
    l'opérateu ! est l'opérateur logique de négation (en gros dans ton cas remplacerait un == '')
    continue passe directement à l'itération suivante
    Oui effectivement mais je l'avais fait avec un oublie de taille sens le || .
    Et encore une question, je ne voudrais pas paraitre STUPIDE (bien que c'est déjà trop tard ) mais je suppose que les champs de mon formulaire doivent devenir ref_ au lieu de ref_1,ref_2 etc....
    Parce que là avec le code suivant :
    for ($i = 6; $i--; )
    {
    if (!$_POST['ref_'.$i] || !$_POST['nom_'.$i] || !$_POST['adr_'.$i]|| !$_POST['rem_'.$i]|| !$_POST['tech_'.$i]|| !$_POST['date_'.$i]|| !$_POST['tel_'.$i]);
    $sql="INSERT INTO prestation_juillet_2006 (ref, nom, adr, rem, tech, date, tel)
    VALUES ('".mysql_escape_string($_POST['ref_'.$i])."','".mysql_escape_string($_POST['nom_'.$i])."','".mysql_escape_string($_POST['adr_'.$i])."','".mysql_escape_string($_POST['rem_'.$i])."','".mysql_escape_string($_POST['tech_'.$i])."','".mysql_escape_string($_POST['date_'.$i])."','".mysql_escape_string($_POST['tel_'.$i])."')";
    mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
    }
    Je me retrouve avec 6 enregistrement VIDE !!!!

  2. #22
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Salut

    Par contre je pense que je vais reprendre mon formulaire j'ai comme l(impression que ca bloque à cause de lui.

    Alors j'ai juste une question dans mon exemple comment nommerais tu les champs de mon formulaire ???

    Merci

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (!$_POST['ref_'.$i] || !$_POST['nom_'.$i] 
    || !$_POST['adr_'.$i]|| !$_POST['rem_'.$i]
    || !$_POST['tech_'.$i]|| !$_POST['date_'.$i]
    || !$_POST['tel_'.$i]) continue;
    si ton formulaire contient vraiment tous ces champs 6 fois tu peux garder les mêmes noms pour tes variables.

  4. #24
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Thuliad
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (!$_POST['ref_'.$i] || !$_POST['nom_'.$i] 
    || !$_POST['adr_'.$i]|| !$_POST['rem_'.$i]
    || !$_POST['tech_'.$i]|| !$_POST['date_'.$i]
    || !$_POST['tel_'.$i]) continue;
    si ton formulaire contient vraiment tous ces champs 6 fois tu peux garder les mêmes noms pour tes variables.
    Les noms de champs de mon formulaire sont:
    <table border="0" id="table4" width="1239">
    <tr>
    <td width="71" align="center"><font size="2">Réf Client</font></td>
    <td width="98" align="center"><font size="2">&nbsp;&nbsp; Nom Client</font></td>
    <td align="center" width="245"><font size="2">Adresse Client</font></td>
    <td align="center" width="467"><font size="2">Remarques</font></td>
    <td align="center" width="168" valign="top">
    <p align="center"><font size="2">&nbsp;&nbsp;&nbsp; Technicien</font></td>
    <td align="center" valign="top">
    <p align="left"><font size="2">Date</font></td>
    <td align="center" valign="top" width="75">
    <font size="2">Téléphone</font></td>
    </tr>
    </table>
    <table border="0" width="1241" height="5" id="table5">
    <tr>
    <td width="66"><input type="text" name="[ref_]" size="8"></td>
    <td width="106"><input type="text" name="[$nom]_" size="14"></td>
    <td width="218"><input type="text" name="[adr_]" size="30"></td>
    <td><input type="text" name="[rem_]" size="85"></td>
    <td><input type="text" name="[tech_]" size="12"></td>
    <td><input type="text" name="[date_]" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="[tel_]" size="10"></p>
    </td>

    </tr>
    <tr>
    <td width="66"><input type="text" name="ref_" size="8"></td>
    <td width="106"><input type="text" name="nom_" size="14"></td>
    <td width="218"><input type="text" name="adr_" size="30"></td>
    <td><input type="text" name="rem_2" size="85"></td>
    <td><input type="text" name="tech" size="12"></td>
    <td><input type="text" name="date_" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="tel_2" size="10"></p>
    </td>
    </tr>
    <tr>
    <td width="66"><input type="text" name="ref_" size="8"></td>
    <td width="106"><input type="text" name="nom_" size="14"></td>
    <td width="218"><input type="text" name="adr_" size="30"></td>
    <td><input type="text" name="rem_" size="85"></td>
    <td><input type="text" name="tech_" size="12"></td>
    <td><input type="text" name="date_" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="tel_" size="10"></p>
    </td>
    </tr>
    <tr>
    <td width="66"><input type="text" name="ref_" size="8"></td>
    <td width="106"><input type="text" name="nom_" size="14"></td>
    <td width="218"><input type="text" name="adr_" size="30"></td>
    <td><input type="text" name="rem_" size="85"></td>
    <td><input type="text" name="tech_" size="12"></td>
    <td><input type="text" name="date_" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="tel_" size="10"></p>
    </td>
    </tr>
    <tr>
    <td width="66"><input type="text" name="ref_" size="8"></td>
    <td width="106"><input type="text" name="nom_" size="14"></td>
    <td width="218"><input type="text" name="adr_" size="30"></td>
    <td><input type="text" name="rem_" size="85"></td>
    <td><input type="text" name="tech_" size="12"></td>
    <td><input type="text" name="date_" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="tel_" size="10"></p>
    </td>
    </tr>
    <tr>
    <td width="66"><input type="text" name="ref_" size="8"></td>
    <td width="106"><input type="text" name="nom_" size="14"></td>
    <td width="218"><input type="text" name="adr_" size="30"></td>
    <td><input type="text" name="rem_" size="85"></td>
    <td><input type="text" name="tech_" size="12"></td>
    <td><input type="text" name="date_" size="12"></td>
    <td width="79">
    <p align="center"><input type="text" name="tel_" size="10"></p>
    </td>
    </tr>
    </table>
    <p align="center"><input type="submit" value="Envoyer" name="B1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="reset" value="Rétablir" name="B2"></p> <?
    $ref_ = $_POST['ref_'];
    $nom_ = $_POST['nom_'];
    $adr_ = $_POST['adr_'];
    $rem_ = $_POST['rem_'];
    $tech_= $_POST['tech_'];
    $date_ = $_POST['date_'];
    $tel_ = $_POST['tel_'];

    ?>
    </form>
    Ceci est t'il correct ?????
    Et merci pour l'aide

  5. #25
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Bon voilà merci à tous cela fonctionne ENFIN

    Merci

  6. #26
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    Pour un formulaire, chaque attribut name d'un noeud input doit être unique.
    Ce code est très hasardeux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <td width="66"><input type="text" name="[ref_]" size="8"></td>
    <td width="106"><input type="text" name="[$nom]_" size="14"></td>
    Une fois un $, l'autre fois pas :/
    Tu devrais faire une boucle en PHP pour générer tes input.
    À quoi sert donc ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    $ref_ = $_POST['ref_'];
    $nom_ = $_POST['nom_'];
    $adr_ = $_POST['adr_'];
    $rem_ = $_POST['rem_'];
    $tech_= $_POST['tech_'];
    $date_ = $_POST['date_'];
    $tel_ = $_POST['tel_'];
     
    ?>
    Il devrait être dans la partie réception du formulaire. Pour précision les variables que tu définis dans un script php ne sont visibles que dans celui ci.

    Enfin l'utilisation d'un tableau pour la mise en forme n'est pas recommandé, la mise en forme se traite avec le CSS, mais je crois que tu n'en es pas encore là.

  7. #27
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Thuliad
    Pour un formulaire, chaque attribut name d'un noeud input doit être unique.
    Ce code est très hasardeux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <td width="66"><input type="text" name="[ref_]" size="8"></td>
    <td width="106"><input type="text" name="[$nom]_" size="14"></td>
    Une fois un $, l'autre fois pas :/
    Tu devrais faire une boucle en PHP pour générer tes input.
    À quoi sert donc ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    $ref_ = $_POST['ref_'];
    $nom_ = $_POST['nom_'];
    $adr_ = $_POST['adr_'];
    $rem_ = $_POST['rem_'];
    $tech_= $_POST['tech_'];
    $date_ = $_POST['date_'];
    $tel_ = $_POST['tel_'];
     
    ?>
    Il devrait être dans la partie réception du formulaire. Pour précision les variables que tu définis dans un script php ne sont visibles que dans celui ci.

    Enfin l'utilisation d'un tableau pour la mise en forme n'est pas recommandé, la mise en forme se traite avec le CSS, mais je crois que tu n'en es pas encore là.
    salut
    <?
    $ref_ = $_POST['ref_'];
    $nom_ = $_POST['nom_'];
    $adr_ = $_POST['adr_'];
    $rem_ = $_POST['rem_'];
    $tech_= $_POST['tech_'];
    $date_ = $_POST['date_'];
    $tel_ = $_POST['tel_'];

    ?>
    LA réponse est rien dutout c'est une erreur ! et j'ai fini mon formulaire donc je suis à la mise en forme
    (et je te rassure j'ai nommé différament chaque champs du formulaire)

    Et je remercie sincèrement de l'aide apporter

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [MySQL-5.5] Problème d'insertion dans une table avec un fichier externe
    Par tabony dans le forum Requêtes
    Réponses: 0
    Dernier message: 26/11/2013, 13h55
  2. [MySQL] problème avec insert dans une table
    Par berti dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/07/2008, 16h30
  3. Problème avec Insert dans une table contenant deux clés
    Par pure_blue dans le forum Accès aux données
    Réponses: 5
    Dernier message: 23/10/2006, 20h32
  4. [MySQL] Problème d'insertion dans une table
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/03/2006, 18h43
  5. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 12h34

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