2017-01-19 1 views
0

J'essaye d'obtenir un formulaire soumis des valeurs dans le tableau après isset() mais il ne mémorise que la dernière valeur isset() dans le tableau. Quelle est la bonne façon d'obtenir toutes les valeurs non nulles dans le tableau pour passer à la fonction d'insertion.Comment assigner plusieurs valeurs de tableau avec l'entrée isset sur l'inscription de formulaire dans php

$table = 'booking'; 
if(isset($_POST['tourID'])){ 
    $data = array('tour_fk' => $this->input->post('tourID')); 
} 
if(isset($_POST['bookingNumber'])){ 
    $data = array('booking_number' => $this->input->post('bookingNumber')); 
} 
$query = $this->dashboard_model->insert($table, $data); 

Répondre

1

La bonne façon est d'ajouter de nouvelles clés $data au lieu de réaffectant:

if (isset($_POST['tourID'])){ 
    $data['tour_fk'] = $this->input->post('tourID'); 
} 
if (isset($_POST['bookingNumber'])){ 
    $data['booking_number'] = $this->input->post('bookingNumber'); 
} 
+0

Vous avez raison monsieur. ça a marché. vraiment apprécié – Faisal

1

Vous pouvez obtenir comme this.marque un tableau de toutes les clés non nulles avec values.Not besoin d'écrire isset() pour chaque articles postés.Faites juste usage de foreach loop.And réaliser votre résultat.

$table = 'booking'; 
foreach($_POST as $key=>$value) { 
    if(isset($_POST[$key])) { 
     $data[$key]=$this->input->post($key); 
    } 
} 
//print_r($data); 

Voici un exemple pour vous ..

$array = array('tour_fk'=>1,'booking_number'=>11,'empty_field'=>NULL); 
foreach($array as $key=>$value) { 
    if(isset($array[$key])) { 
     $data[$key]=$value; 
    } 
} 
    print_r($data); 

Sortie:

Array ([tour_fk] => 1 [booking_number] => 11)//without null values