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 :

récuperer les données d'un formulaire dynamique


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut récuperer les données d'un formulaire dynamique
    bonsoir,
    j'ai un formulaire généré en javascript :
    le client peut ajouter dynamiquement des produits et pour chaque produit il peut attacher plusieurs photos.
    chaque produit peut avoir plusieurs infos "reference, nom, etc...".
    je peux faire tous cela, et même récupérer chaque produit et le stocker dans la base de données, et je peux aussi uploader les photos.
    mais mon problème vient de là, normalement chaque produit dans la table a un ID et ce même ID que je veux récupérer pour le stocker dans le champs ID_Produit dans la table qui doit contenir les photos.
    Dans le champs ID_Produit je reçois 0.
    voici mon code PHP:

    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
    if(!empty($produits)){
    foreach ($blocs as $id => $val){
    $sql_produit="insert into t_produit(reference) values('$reference')";
    mysql_query($sql_produit);
     
    $id_produits[]=mysql_insert_id();
     
    }
    }
     
    if(!empty($n_fichier)){
    for($i=0;$i<$nb_files;$i++){
     
            $chemin="fichiers/";
            $dt=date("dis");
     
            $newfile[$i]=$dt.'_'.$n_fichier[$i];
            copy($t_fichier[$i],$chemin.$newfile[$i]);
     
            $sql_file="insert into t_produit_pj(id_produit,prd_pj) values('$id_produits[$i]','$newfile[$i]')";
            mysql_query($sql_file);
    }
    }
    Merci d'avance

  2. #2
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    Pouquoi faire 2 boucles?
    Es-tu sur que $bloc n'est pas vide et que le code passe bien dans le foreach?
    Que vaut la valeur $reference ?
    Es-tu sur que l'insert se passe bien ?

    Tu devrais faire du debug, avec des echo, var_dump ou print_r pour voir la valeur intermédiaire de tes variables.

  3. #3
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    le tout marche bien, sauf ID_Produit
    j'ai pu insérer toutes les données sauf la valeur de mon ID_Produit

  4. #4
    Membre éclairé Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par défaut
    Si tout marche bien, alors question bête : l'id que tu dois récupérer est-il bien de type AUTO_INCREMENT ?

    Doc php.net :
    valeur de retour de mysql_insert_id
    L'ID généré pour une colonne AUTO_INCREMENT par la dernière requête en cas de succès,
    0 si la dernière requête n'a pas généré de valeur AUTO_INCREMENT,
    ou FALSE si aucune connexion MySQL n'a été établie.

  5. #5
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    Après quelques modifications.
    maintenant mon problème ce que je récupére uniquement le dernier ID.
    j'ai remplacé $id_produits[$i] par $id_produits.

  6. #6
    Membre confirmé Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Par défaut
    je crois que le problème est dû au fait d'utiliser 2 boucles.
    mais l'application doit fonctionner ainsi
    comme j'ai dis au début
    le client doit ajouter dynamiquement des champs de produits (avec javascript) ==> ça marche bien même au coté PHP/Mysql, je peux stocker les données.
    Et pour chaque produit ajouté, le client peut attacher une ou plusieurs photos (avec javascript) ==> ça marche bien même au coté PHP/Mysql, je peux stocker les données.
    mais le problème c'est l'ID_Produit, pour que les photos puissent faire le lien avec leur produit.

Discussions similaires

  1. Récuperer les valeurs d'un formulaire dynamique
    Par spawns dans le forum Langage
    Réponses: 12
    Dernier message: 14/11/2012, 16h18
  2. Récuperer les données d'un formulaire HTML avec Knockout.js
    Par Thibault92 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/03/2012, 15h04
  3. Réponses: 2
    Dernier message: 18/08/2009, 10h19
  4. Réponses: 2
    Dernier message: 10/09/2007, 16h40

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