2016-01-23 106 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代码按预期工作。