2016-01-23 99 views
0

當我的網站上的某個人選擇常規服務時,它還必須選擇執行的日期。因此,我用這個代碼,以選擇一個或多個工作日:HTML和PHP選擇多個

<select class="form-control select2" name="tyzden[]" multiple="multiple" data-placeholder="Zvoľte deň" style="width: 100%;">   
    <option value="Cely">Celý týždeň</option> 
    <option value="Pondelok">Pondelok</option> 
    <option value="Utorok">Utorok</option> 
    <option value="Streda">Streda</option> 
    <option value="Štvrtok">Štvrtok</option> 
    <option value="Piatok">Piatok</option> 
    <option value="Sobota">Sobota</option> 
    <option value="Nedeľa">Nedeľa</option> 
</select> 

<input style="width:97.3%; margin-left:15px;" type="submit" name="pridat" value="Pridať odvoz"> 

這是一個PHP代碼:

if(isset($_POST['pridat'])) { 
    $tyzden = $_POST['tyzden']; 
    foreach ($_POST['tyzden'] as $a) { 
    $zapis = mysql_query("INSERT INTO odvozy SET tyzden='$a';"); 
    } 
} 

在phpMyAdmin的我看只有最後一個選項進行選擇。你能幫忙嗎?

+0

歡迎來到SO。請點擊[幫助]查看要怎麼提問。 – mplungjan

+0

[插入多行通過php數組到mysql]可能重複(http://stackoverflow.com/questions/779986/insert-multiple-rows-via-a-php-array-into-mysql) – mplungjan

+0

@trincot Looks就像我複製了錯誤的鏈接。 – Pachonk

回答

0

看起來你指定name='tyzden[]'作爲你的html中的數組條目。 這實際上意味着您在格式化像這樣的數組:

$_POST['pridat'] = array(
    "tyzden" => array(
     "0" => array([selected inputs here]) 
    ) 
); 

通過使HTML的名稱選擇簡單name='tyzden',你會得到格式化像這樣的數組:

$_POST['pridat'] = array(
    "tyzden" => array(
     [selected inputs here] 
    ) 
); 

這將使您的PHP代碼按預期工作。