[英]How to merge two arrays together and insert into 1 row in a database
[英]how to insert value of two arrays together in database
在我的表格中,我有四個復選框,每個復選框都有一個用於說明的文本框
<form action="" method="post">
<input type="checkbox" name="days[]" value="Sunday"/>Sunday
<input type="text" name="description[]" /><br/>
<input type="checkbox" name="days[]" value="Monday"/>Monday
<input type="text" name="description[]" /><br/>
<input type="checkbox" name="days[]" value="Tuesday"/>Tuesday
<input type="text" name="description[]" /><br/>
<input type="checkbox" name="days[]" value="Wednesday"/>Wednesday
<input type="text" name="description[]" />
<input type="submit" name="submit" value="submit">
</form>
用戶在這里可以選擇任何文本框並可以寫其描述...現在在插入時...我只想插入那些選中了復選框的值...
例如:如果我選擇星期一和星期二,則星期一和星期二應與他們的注意事項文本框一起插入。...我的問題是,當我提交時,復選框值會正確,但是僅插入單個描述... 。這是mmy php腳本...
if(isset($_POST["submit"]))
{
for($i=0;$i<count($_POST["days"]);$i++)
{
$dayz=$_POST["days"][$i];
$description=$_POST["description"][$i];
mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");
}
}
?>
有人可以幫忙嗎?
首先,為什么不讓您的生活更輕松? 並給他們一個普通的非數組名稱?
你能做的是
if ((isset($_POST["days"]) && isset($_POST["description"])) {
$days = $_POST["days"];
$desc = $_POST["description"];
$len = count($days);
for ($i = 0; $i <= $len-1; $i++) {
$noID = filter_var($days[$i], FILTER_SANITIZE_NUMBER_INT);
echo $days[$noID] . " " . $desc[$noID];
}
}
檢查是否適合您:)
經過測試和工作:
HTML
<input type="checkbox" name="days[0][day]" value="Sunday"/>Sunday <input type="text" name="days[0][value]" />
<br/><input type="checkbox" name="days[1][day]" value="Monday"/>Monday <input type="text" name="days[1][value]" />
<br/><input type="checkbox" name="days[2][day]" value="Tuesday"/>Tuesday <input type="text" name="days[2][value]" />
<br/><input type="checkbox" name="days[3][day]" value="Wednesday"/>Wednesday <input type="text" name="days[3][value]" />
PHP
<?PHP
$arr = $_POST["days"];
for ($i = 0; $i < count($arr); $i++) {
if (!empty($arr[$i]['day'])) {
echo $arr[$i]['day'] . " and.... its value is " . $arr[$i]['value'];
}
}
?>
在PHP中
<?php
if (isset($_POST['chk_group'])) {
$dayArray = $_POST['days'];
$decArray =$_POST['description'];
for ($i=0; $i<count($dayArray); $i++) {
$dayz=$dayArray[$i];
$description=$decArray[$i];
mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");
}
}
?>
嘗試在表單中使用description[dayname]
並在處理中使用$description=$_POST["description"][$dayz]
,則存在數組索引問題,因為如果未選中,則不會發送復選框。
here i my form i am having four checkboxes with each having a textbox for its description
<form action="" method="post">
<input type="checkbox" name="days[]" value="Sunday"/>Sunday <input type="text" name="description[Sunday]" />
<br/><input type="checkbox" name="days[]" value="Monday"/>Monday <input type="text" name="description[Monday]" />
<br/><input type="checkbox" name="days[]" value="Tuesday"/>Tuesday <input type="text" name="description[Tuesday ]" />
<br/><input type="checkbox" name="days[]" value="Wednesday"/>Wednesday <input type="text" name="description[Wednesday]" />
<input type="submit" name="submit" value="submit">
</form>
和php:if(isset($ _ POST [“ submit”])){
for($i=0;$i<count($_POST["days"]);$i++)
{
$dayz=$_POST["days"][$i];
$description=$_POST["description"][$dayz];
mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");
}
}
這可能會有所幫助
$str = '';
for($i=0;$i<count($_POST["days"]);$i++)
{
$dayz=$_POST["days"][$i];
$description=$_POST["description"][$i];
$str .= "(".$dayz.", ".$description.")";
if ((count($_POST["days"])-1) < $i) {
$str .= ',';
}
}
mysql_query("insert into transport_two (transport_id,name) values ".$str) ;
首先用不同的名稱命名每個文本輸入和復選框。
<form action="" method="post">
<input type="checkbox" name="days1" value="Sunday"/>Sunday
<input type="text" name="days1_1" /><br/>
<input type="checkbox" name="days2" value="Monday"/>Monday
<input type="text" name="days2_2" /><br/>
<input type="checkbox" name="days3" value="Tuesday"/>Tuesday
<input type="text" name="days3_3" /><br/>
<input type="checkbox" name="days4" value="Wednesday"/>Wednesday
<input type="text" name="days4_4" />
<input type="submit" name="submit" value="submit">
</form>
使用此代碼檢查選中了哪個復選框。
<?php
if(isset($_POST["submit"]))
{
for($i=0;$i<$number_of_days;$i++)
{
$dayz="days".$i;
$description=$dayz."_".$i;
if(isset($dayz))
{
mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");
}
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.