繁体   English   中英

如何在PHP中将动态创建的文本框值插入db

[英]How to insert the dynamically created text box values to db in php

我的名字叫fairooj,是php和jquery的新名称。 我有个问题。 我需要你的帮助。

<script type="text/javascript">
var count = 0;
$(function(){
$('p#add_field').click(function(){
count += 1;
$('#container').append(
'<strong>Link #' + count + '</strong><br />' 
+ '<input id="field_' + count + '" name="fields[]' + '" type="text" />'
+ '<input id="code_' + count + '" name="code[]' + '" type="text" /><br />' );

});
});
</script> 

这是我添加更多文本框的脚本。

这是我将其插入数据库的代码

<?php
//If form was submitted
if (isset($_POST['btnSubmit'])) {

//create instance of database class
$db = new mysqldb();
$db->select_db();

//Insert static values into users table
$sql_user = sprintf("INSERT INTO users (Username, Password) VALUES ('%s','%s')",
mysql_real_escape_string($_POST['name']),
mysql_real_escape_string($_POST['password']) );  
$result_user = $db->query($sql_user);


//Check if user has actually added additional fields to prevent a php error
if ($_POST['fields']) {

//get last inserted userid
$inserted_user_id = $db->last_insert_id();

//Loop through added fields
foreach ( $_POST['fields'] as $key=>$value ) {

//Insert into websites table
$sql_website = sprintf("INSERT INTO websites (Website_URL, web_Link) VALUES ('%s', '%s')",
      mysql_real_escape_string($value), mysql_real_escape_string($value) );  
$result_website = $db->query($sql_website);
$inserted_website_id = $db->last_insert_id();


//Insert into users_websites_link table
$sql_users_website = sprintf("INSERT INTO users_websites_link (UserID, WebsiteID) VALUES ('%s','%s')",
      mysql_real_escape_string($inserted_user_id),
  mysql_real_escape_string($inserted_website_id) );  
$result_users_website = $db->query($sql_users_website);

}

} else {

?>

**问题web_Link sql表正在重复Website_URL表值。...

请我怎么解决这个

正在等待您的回复。.**

假设您正在寻找这个?

$code=$_POST['code'];
$fields=$_POST['fields'];

mysql_real_escape_string($value), mysql_real_escape_string($code[$key]) );  

详情

$countKey=0; // add this Line

//foreach ($_POST['fields']) {
for($i=0;$i<count($fields);$i++){

   $result_website = $db->query("INSERT INTO websites (Website_URL, web_Link) VALUES ('".$fields[$countKey]."', '".$code[$countKey]."')");  

  $countKey=$countKey+1; // add this Line
}

如果我有两个要插入数据库的数组,那么我有一种计算数组大小的方法,如下所示

$arry1=array("abc","def");
$arry2=array("efg","hij");
$count=sizeof($arry1);
for($i=0;$i<$count;$i++)
{
     echo $sql="INSERT INTO tablename (`col1`,`col2`) VALUES (".$arr1[$i].",".$arry2[$i].")";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM