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

CodeIgniter PHP Discussion :

Insertion des données d'un tableau d'input dans une BD


Sujet :

CodeIgniter PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2019
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Insertion des données d'un tableau d'input dans une BD
    jai un probleme je suis entrain de m'exercer en php a l'aide du framework CodeIgniter et je voudrai faire un enregistrement dans une base de donnée a l'aide d'un tableau d'input mais je recois une erreur voici alors j'ai essayer de juste verifier si je reccupere quand meme tres bien les données de mon formulaire en faisant un echo pre de $_post mais rien n'est recuperer ... voici les differents code a savoir controleur, modèle et la vue

    l]la vue
    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
     
     
                    <div class="login-logo">
                        <a href="<?php echo base_url('home/cycle')?>" class="btn btn-default" >
                            back
                        </a>
                    </div>
                    <div class="login-form">
                   <!--<form action="<?php echo base_url('home/submitParTab')?>" method="POST">-->
                      <form action="#" method="POST">
                        <table>
                            <thead>
                            <tr>
                                <td><strong>nom</strong></td>
                                <td><strong>description</strong></td>
                            </tr>
                            </thead>
                            <?php
     
                            for($i=0;$i<10;$i++){
                            ?>
                             <tr>
                                <td><input type="text" name="nom"/></td>
                                <td><input type="text" name="desc"/></td>
                             </tr>
                            <?php
                            }
                            ?>
                        </table><br>
     
                            <button class="btn btn-primary " type="submit" style="width: 10%;" name="enregistrer">Enregistrer</button>
     
                        </form>
                    </div>
    le modèle
    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
     
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    class cycle_model extends CI_model{
          public function submitParTab(){
                for ($i=0; $i <3 ; $i++) { 
                $values=array(
                "nom_cycle"    =>$this->input->post("nom"),
                "desc_cycle"   =>$this->input->post("desc")
                 );
     
                }
             $this->db->insert('cycle',$values);
              if($this->db->affected_rows()>0)
                {return 
                  true;
                } else return false;
            }
    }
    le controleur
    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
     
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
     
    class Home extends CI_Controller {
         function __construct()
    		{
    			parent::__construct();
    			$this->load->model('cycle_model', 'model');
                    }
    	public function cycle()
    	{
     
    		$data['blogs']=$this->model->get();
    		//recuperer les données de la table mention
    		$data['mentions']=$this->model->getMention();
    		$this->load->view('pages/cycle.php',$data);
     
    	}
     
    	public function addParTab()
    	{
        $this->load->view('templates/header.php');
    	$this->load->view('pages/add_cycle_tab.php');
    	 $this->load->view('templates/footer.php');
     
    	}
       }
    la page cycle(la liste des enregistrement de la BD)
    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
    78
    79
    80
    81
    82
    83
     
     
    <?php $this->load->view('templates/header') ?>
     
     
        <!-- Left Panel -->
    <?php $this->load->view('templates/leftbar') ?>
        <!-- Right Panel
     
         <div id="right-panel" class="right-panel">
     
             Header-->
            <?php $this->load->view('templates/headAdmin') ?>
            <!-- Header-->
    	<!-- Page Heading -->
        <div class="row">
     
            <div class="col-12">
                <div class="card">
                    <div class="card-header">
                        <strong class="card-title"><?//= $title.'  ' ;?></strong>
                             <?php 
                           if($this->session->flashdata('success_msg')){
                         ?>
                         <div>
                             <?php echo $this->session->flashdata('success_msg');?>
                         </div>
                         <?php 
                         }else 
                          ?>
                         <div>
                             <?php echo $this->session->flashdata('error_msg');?>
                         </div>
     
     
     
                        <a href="<?php echo base_url('home/add') ?>" data-toggle="modal" data-target="#Modal_Add_Etudiant" class="btn btn-success float-right">
                        <i class="glyphicon glyphicon-plus fa fa-plus"></i> Ajouter un cycle</a>
     
                        <a href="<?php echo base_url('home/addParTab') ?>" data-toggle="modal" data-target="#Modal_Add_Etudiant" class="btn btn-success float-right">
     
                            <i class="glyphicon glyphicon-plus fa fa-plus"></i> Ajouter un cycle par Tab</a>                        
                    <div id="message_erreur"></div>
                    </div>
                    <div class="card-body">
                        <table id="bootstrap_data_table" class="table table-striped table-bordered " >
                            <thead>
                                <tr>
                                    <th class="serial">#</th>
                                    <th>Nom cycle</th>
                                    <th>descripion cycle</th>
     
                                    <th>Action</th>
                                </tr>
                            </thead>
                            <tbody id="show_data">
                                <?php 
                                    if($blogs)
                                    {
                                        foreach($blogs as $blog)
                                        {
                                      ?>
                                <tr>
                                    <td><?php echo $blog->id_cycle ;?></td>
                                    <td><?php echo $blog->nom_cycle ;?></td>
                                    <td><?php echo $blog ->desc_cycle ;?></td>
                                    <td><a href="<?php echo base_url('home/modifier/'.$blog->id_cycle);?>"  class="btn btn-info">modifier</a>
                                        <a href="<?php echo base_url('home/delete/'.$blog->id_cycle);?>"  onclick="return confirm('etes vous sur de vouloir supprimer?');"  class="btn btn-danger">supprimer</a> 
                                    </td>
                                </tr>
                                    <?php
                                        }
                                    }
                                 ?>
     
     
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div> 
      <?php $this->load->view('templates/footer') ?>

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    15 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 15 595
    Points : 31 857
    Points
    31 857
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                            <?php
                            for($i=0;$i<10;$i++){
                            ?>
                             <tr>
                                <td><input type="text" name="nom"/></td>
                                <td><input type="text" name="desc"/></td>
                             </tr>
                            <?php
                            }
                            ?>
    1- Là, tu fais une boucle (for). Il faut ajouter des crochets aux name :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                            <?php
                            for($i=0;$i<10;$i++){
                            ?>
                             <tr>
                                <td><input type="text" name="nom[]"/></td>
                                <td><input type="text" name="desc[]"/></td>
                             </tr>
                            <?php
                            }
                            ?>
    2- On récupère alors des array :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $nom_arr = $_POST['nom']; // array
    $desc_arr = $_POST['desc']; // array
    3- Pour les enregistrer, on peut faire une boucle (foreach) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    foreach( $_POST['nom'] as $i => $val )
    {
       $nom = $val; // ou $_POST['nom'][$i]
       desc = $_POST['desc'][$i];
       // .....
    }
    4- Voilà pour le principe.
    A toi de l'adapter à ton code.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

Discussions similaires

  1. Lire des données d'un tableau, les écrire dans un autre
    Par tchindaflorent dans le forum Fortran
    Réponses: 1
    Dernier message: 14/05/2016, 18h04
  2. Réponses: 1
    Dernier message: 16/08/2012, 00h57
  3. Réponses: 4
    Dernier message: 08/04/2011, 09h44
  4. Réponses: 2
    Dernier message: 19/03/2008, 14h51
  5. Réponses: 3
    Dernier message: 15/05/2007, 09h28

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