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 :

erreur creation de boucle [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2011
    Messages : 59
    Par défaut erreur creation de boucle
    bonjour à tous,

    j'ai modifié mon code pour ajouter une fonctionnalité et il ne fonctionne plus...

    Je recupere les valeur d'un formulaire que j'ecris dans une bdd et je veux creer une boucle qui me permettrait depuis une case ajoutée au formulaire de rentrer X fois le meme enregistrement, dans la base (differenciés par leur id auto-incrementé).

    voici mon code
    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
    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
    73
    74
    75
    76
    77
     
    <?php
     
    try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=db_ventes', 'root', '');
     
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
     
    catch (Exception $e)
    {
     
        die('Erreur : ' . $e->getMessage());
    }
     
     
     
    $tab = array(
    ':article' => $_POST['article'],
    ':cat_price' => $_POST['cat_price'],
    ':date_creation' => $_POST['date_creation'],
    ':pseudo_acheteur' => $_POST['pseudo_acheteur'],
    ':date_vente' => $_POST['date_vente'],
    ':prix' => $_POST['prix'],
    ':rangement' => $_POST['rangement'],
    ':etat' => $_POST['etat'],
    ':provenance' => $_POST['provenance'],
    ':annee_vente' => $_POST['annee_vente'],
    ':note_acheteur' => $_POST['note_acheteur'],
    ':blacklist' => $_POST['blacklist'],
    ':nombre_exemplaires' => $_POST['nombre_exemplaires']); 
     
     
    //création de la requête SQL:
     
     
    $sql = "INSERT INTO `tab_ventes` (`article`, `cat_price`, `date_creation`, `pseudo_acheteur`, `date_vente`, `prix`, `rangement`, `etat`, `provenance`, `annee_vente`, `note_acheteur`, `blacklist`)
            VALUES (:article, :cat_price, :date_creation, :pseudo_acheteur, :date_vente, :prix, :rangement, :etat, :provenance, :annee_vente, :note_acheteur, :blacklist)" ;
     
    echo '$sql';
    $req = $bdd->prepare($sql);
     
    // création de la boucle pour inserer le nombre d'annonces identiques
     
     
    $compteur = 1;
     
    //Notre condition est : tant que la variable est plus petit ou égal à $nombre_exemplaires
     
    while( $compteur <= intval($_POST["nombre_exemplaires"])
     
     
    //On affiche le résultat
     
    $req->execute($tab);
    echo 'L\'annonce a été crée';
    echo "$compteur";
    echo ' fois.';
     
    //On incrémente la boucle de +1
     
    $compteur++;
     
    }
     
     
    var_dump($tab);
     
     
    echo 'insertion du champ ok' ;
     
     
     
    if($bdd){
        $bdd = NULL;
        }
    actuellement, j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '$req' (T_VARIABLE) in J:\ventes\admin_ventes.php3 on line 56
    et la ligne 56 ;

    merci de votre aide...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while( $compteur <= intval($_POST["nombre_exemplaires"])) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2011
    Messages : 59
    Par défaut
    merci Sabotage, plus de parse error, par contre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in...
    toujours sur la meme ligne, ça doit vouloir dire que le nombre de paramètres de la requête n'est pas correct ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Toutafé, il manque ":nombre_exemplaires" dans ta requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2011
    Messages : 59
    Par défaut
    ce qui est etonnant, car il n'existe aucune colonne nombre_exemplaires dans ma bdd. C'est seulement une case du formulaire qui reçoit un intégré (1 ou 2 ou 3 ou plus) qui doit determiner le nombre de tours que doit faire la boucle avant d'en sortir...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est toi qui l'a mis dans les paramètres de la requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [PHP] Erreur creation RSS
    Par MiloLee dans le forum XML/XSL et SOAP
    Réponses: 16
    Dernier message: 18/05/2006, 00h52
  2. erreur creation de table firebird
    Par BigNoze dans le forum Bases de données
    Réponses: 9
    Dernier message: 15/05/2006, 18h44
  3. ora-27040 erreur creation control file
    Par pascale86 dans le forum Oracle
    Réponses: 23
    Dernier message: 19/01/2006, 16h54
  4. Shell - Erreur dans une boucle for
    Par claralavraie dans le forum Linux
    Réponses: 4
    Dernier message: 11/01/2006, 13h45
  5. Erreur avec la boucle For
    Par Harvester dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2005, 16h46

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