簡體   English   中英

如何使用PHP將動態文本框保存到數據庫

[英]How to save dynamic textbox to database using PHP

我在這里有我的 JS 腳本,當用戶單擊“添加項目”按鈕時,它會動態添加三個文本框。 保存在數據庫中時,三個文本框具有不同的字段。 但似乎在我的 PHP 代碼中它沒有從文本框中捕獲任何值。 在數據庫中它只顯示“數組”。 請幫我! 謝謝!

<script language="javascript">
row_no=0;
function addRow(tbl,row){
row_no++;
if (row_no<=20){
    if (row_no<=20){
if (row_no>=10){
var textbox  = row_no+'.)&nbsp;<input type="text" size = "50"  maxlength= "50" name= "desk_user[]">';}
if (row_no<10){
var textbox  = row_no+'.  )&nbsp;<input type="text" size = "20"  maxlength= "50" name= "desk_user[]">';}
var textbox2 = '<input type="text" size = "60" maxlength= "250" name= "desk_report[]">';
var textbox3 = '<input type="text" size = "60" maxlength= "250" name= "desk_action[]">';

var tbl = document.getElementById(tbl);
var rowIndex = document.getElementById(row).value;
var newRow = tbl.insertRow(row_no);
var newCell = newRow.insertCell(0);
newCell.innerHTML = textbox;
var newCell = newRow.insertCell(1);
newCell.innerHTML = textbox2;
var newCell = newRow.insertCell(2);
newCell.innerHTML = textbox3;
}
if (row_no>20){
alert ("Too Many Items. Limit of 20."); 
}
}
}

</script>

我的PHP代碼:

<?php

$con = mysql_connect ("localhost","root","nasi") or die
('cannot connect to database error: '.mysql_error());


if (isset($_POST['desk_user']) &&
isset($_POST['desk_report']) &&
isset($_POST['desk_action']))
{

$desk_user = $_POST['desk_user'];
$desk_report = $_POST['desk_report'];
$desk_action = $_POST['desk_action'];

if (!empty($desk_user)&& !empty($desk_report)&& !empty($desk_action)) {

mysql_select_db("csr", $con);
$sql = "INSERT INTO `desktoplaptop` (`desk_user`,`desk_report`,`desk_action`) VALUES ('$_POST[desk_user]','$_POST[desk_report]','$_POST[desk_action]') ";

if ($sql_run = mysql_query($sql)) {
                            echo 'ok.'; 
                                }
                        else {
                                    echo '*Sorry, we couldn\'t register you at this time. Try again later.';
                                    }
}

}

?>

您將獲得值作為數組,因為您已將文本框名稱定義為數組,

<input type="text" size = "20"  maxlength= "50" name= "desk_user[]">

像這樣修改你的代碼

 <?php

    $con = mysql_connect ("localhost","root","nasi") or die
    ('cannot connect to database error: '.mysql_error());


    if (isset($_POST['desk_user']) &&
    isset($_POST['desk_report']) &&
    isset($_POST['desk_action']))
    {

    $desk_user_arr = $_POST['desk_user'];//contains array value
    $desk_report = $_POST['desk_report'];//contains array value
    $desk_action = $_POST['desk_action'];//contains array value
    foreach($desk_user_arr as $key=>$desk_user) { //Loop through arrays
    if (!empty($desk_user) && !empty($desk_report[$key]) && !empty($desk_action[$key])) {
   mysql_select_db("csr", $con);
    $sql = "INSERT INTO `desktoplaptop` (`desk_user`,`desk_report`,`desk_action`) VALUES ('$desk_user','$desk_report[$key]','$desk_action[$key]') ";

    if ($sql_run = mysql_query($sql)) {
     echo 'ok.'; 
    } else {
      echo '*Sorry, we couldn\'t register you at this time. Try again later.';
    }
   }
  }
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM