Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer une entrée supplémentaire si même code trouv

Sujet résolu
    18 octobre 2018 à 20:31:26

    Bonjour à toutes et à tous.

    Voilà j'ai un script qui lit dans un csv qui me permet ensuite d'insérer en bdd sous 2 table actuellement.

    Je souhaite tout mettre dans la meme table loisirs.

    Mon code actuel:

    // Table Loisirs
            $req = $bdd->prepare("INSERT INTO loisirs (`id_simply_user`, `titre`, `code`,`phone`,`website`, `email`,`city`,`region`,`departement`,`rue`,`postcode`,`categorie`,`categorie_supp`,`descriptif`,`prestation`, `prix`, `photo`, `horaire`) VALUES (:id_simply_user, :titre, :code, :phone, :website, :email, :city, :region, :departement, :rue, :postcode, :categorie, :categorie_supp, :descriptif, :prestation, :prix, :photo, :horaire)");
       
            $req->bindParam(':id_simply_user', $id_simply_user);
            $req->bindParam(':titre', $titre);
            $req->bindParam(':code', $code);
            $req->bindParam(':phone', $phone);
    		$req->bindParam(':website', $website);
            $req->bindParam(':email', $email);
            $req->bindParam(':city', $city);
    		$req->bindParam(':region', $region);
    		$req->bindParam(':departement', $departement);
            $req->bindParam(':rue', $rue);
            $req->bindParam(':postcode', $postcode);
    		$req->bindParam(':categorie', $categorie);
    		$req->bindParam(':categorie_supp', $categorie_supp);
            $req->bindParam(':descriptif', $descriptif);
    		$req->bindParam(':prestation', $prestation);
    		$req->bindParam(':prix', $prix);
    		$req->bindParam(':photo', $photo);
     		$req->bindParam(':horaire', $horaire);
       
            // Table Date evenement
            $req2 = $bdd->prepare("INSERT INTO evenement_date (`code`, `date_event`, `date_fin_event`) VALUES (:code, :date_event, :date_fin_event)");
            $req2->bindParam(':code', $code);
            $req2->bindParam(':date_event', $date_event);
    		$req2->bindParam(':date_fin_event', $date_fin_event);
    		
             
    		$fichier = 'bretagne.csv';
            $csv = new SplFileObject($fichier);
            $csv->setFlags(SplFileObject::READ_CSV);
            $csv->setCsvControl(';');
      
            $num_ligne = 0; // Valeur de ligne par defaut
      
            // Parcourt du fichier CSV + stockage variables
            foreach($csv as $ligne){
      
            $num_ligne ++; // Incrémentation
            if ($num_ligne >1 )  { // On ignore la premiere ligne du CSV qui correspond au colonne
    // mes variables ....
    
    $req->execute();
    			
            
    
     		$exp_date = (explode(' | ', $ligne[19]));  // Explode date_debut
    		$exp_date_fin = (explode(' | ', $ligne[20]));  // Explode date_fin
    		$nb = count($exp_date);
      
            // DEBUT : On attibut une date de debut par évènement + création autant d'évènement qu'il y a de date
            for($i=0;$i<$nb;$i++)
            {
            	$dateF = date_create_from_format('d/m/Y',$exp_date[$i]); // Date format lut 28/06/2018
                $dateSQL = date_format($dateF, 'Y-m-d'); // Date format transformé 2018-06-28
                $date_event=$dateSQL;
     
                $datefin = date_create_from_format('d/m/Y',$exp_date_fin[$i]); // Date format lut 28/06/2018
                $datefinSQL = date_format($datefin, 'Y-m-d'); // Date format transformé 2018-06-28
                $date_fin_event=$datefinSQL;
     
                $req2->execute();
            }
    			
    	}

    Donc en gros voilà actuellement tant que le meme code est trouvé on entre les différentes date en bdd sous la table evenement_date et j'aimerais plutout insérer tout dans ma table loisirs

    Si le code 23rzsz0001 est trouvé 3 fois avec des dates différentes on insére du coup 3 entrées ...

    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2018 à 20:37:00

      Salut !

      Du peu que je comprends, il devrait suffire d'adapter la première requête, mais de l'exécuter dans la boucle for uniquement, et ce à la place de la seconde requête.

      • Partager sur Facebook
      • Partager sur Twitter
        18 octobre 2018 à 20:47:37

        Parfait, quand c'est trop évident ... bah on voit pas lol,

        Ca marche nikel merci bien l'ami

        • Partager sur Facebook
        • Partager sur Twitter

        Créer une entrée supplémentaire si même code trouv

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown