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

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 : 24
    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
    Invité
    Invité(e)
    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.

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