2017-08-11 35 views
1

我正在處理我的項目我想將多個選定的選項值存儲在數據庫中,但是當我一次選擇多個選項時,只有最後一個選定的值存儲在數據庫中,請幫助我在哪裏我錯了? 這裏是我的代碼:關於PHP表格

<?php 
    require_once('contact_fun.php'); 
    require_once('contact_banner_fun.php'); 
    $obj = new contact_banner(); 
    $crud = new contact_us(); 
    $banner = $obj->get_data_banner(); 
    if(!$banner){ 
    echo "No Banner"; 
    exit;} 
    $path = 'http://localhost/THE_VELVET_WALK/contact/'; 
    $result = $crud->getData("SELECT * FROM tb_contactus"); 
    foreach ($result as $res) { 
    $id = $res['id']; 
    $name = $res['name']; 
    $business = $res['business']; 
    $email = $res['email']; 
    $phone = $res['phone']; 
    $message = $res['message']; 
    $style = $res['style']; 
    } 
    if(isset($_POST['submit'])) 
    {  
$name = $crud->escape_string($_POST['name']); 
$business = $crud->escape_string($_POST['business']); 
$email = $crud->escape_string($_POST['email']); 
$phone = $crud->escape_string($_POST['phone']); 
$message = $crud->escape_string($_POST['message']); 
$style = $crud->escape_string($_POST['style']); 
$result = $crud->execute(" INSERT INTO tb_contactus(name, business, email, 
phone, message, style, update_dt)VALUES ('$name','$business', '$email', 
'$phone', '$message', '$style', now())"); 
}?> 
<form action="" method="POST"> 
<input id="00N7F000001F2j6" name="name" maxlength="40" type="text" 
class="materialize-input"> 
<input id="company" name="business" maxlength="40" type="text" 
class="materialize-input"> 
<input id="email" name="email" maxlength="40" type="email" 
class="materialize-input"> 
<input id="phone" name="phone" maxlength="40" type="text" maxlength="40" 
class="materialize-input"> 
<select multiple id="00N7F000001F2kO" name="style" multiple="multiple" > 
<option name="consulting" name="styling" value=""selected disabled>image 
consulting</option> 
<option value="1">styling</option> 
<option value="2">hair & make-up</option> 
<option value="3">designing clothes</option> 
<option value="4">wedding makeover</option> 
<option value="5">personal shopper</option> 
<option value="6">corporate services</option> 
</select> 
</form> 

回答

1

你有選擇的名稱來指定,它會像一個數組:

<select multiple id="00N7F000001F2kO" name="style[]" multiple="multiple" > 
<option value=""selected disabled>image consulting</option> 
<option value="1">styling</option> 
<option value="2">hair & make-up</option> 
<option value="3">designing clothes</option> 
<option value="4">wedding makeover</option> 
<option value="5">personal shopper</option> 
<option value="6">corporate services</option> 
</select> 

,然後你可以爆,如果你想要像一個字符串這

implode(',',$_POST['style']); 

編輯: 改變這種

$style = $crud->escape_string($_POST['style']); 

$style = $crud->escape_string(implode(',',$_POST['style'])); 
+0

你好你能告訴我在我的代碼中必須使用這個implode函數嗎? – kulu

+0

@kulu我編輯了我的答案 – MacBooc

+0

好吧,等我試試。 – kulu

0

你需要使用多個選擇選項的數組:

<select multiple id="00N7F000001F2kO" name="style[]" multiple="multiple" > 
<option name="consulting" name="styling" value=""selected disabled>image 
consulting</option> 
<option value="1">styling</option> 
<option value="2">hair & make-up</option> 
<option value="3">designing clothes</option> 
<option value="4">wedding makeover</option> 
<option value="5">personal shopper</option> 
<option value="6">corporate services</option> 
</select> 

這是怎麼土特產品獲取數據到數據庫: .PHP

if(isset($_POST['styling']) && !empty($_POST['styling'])){ 
    $Col1_Array = $_POST['styling']; 
    print_r($Col1_Array); 
     foreach($Col1_Array as $selectValue){ 
     //show selected 
       echo $selectValue."<br>"; 
    } 
}