【问题标题】:How to insert the dynamically created text box values to db in php如何在php中将动态创建的文本框值插入到db
【发布时间】:2014-09-02 06:20:07
【问题描述】:

我的名字是 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 表值....

请问我该如何解决这个问题

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

【问题讨论】:

  • 先打印帖子并查看if ($_POST['fields']) { var_dump($_POST); 内部,看看打印的内容。在此处添加该结果,让我们看看,以便我们进一步为您提供帮助。
  • Website_URL、web_Link 两者应该具有相同的值吗?应该是什么
  • web_link 值是代码?
  • 是的,代码是 web_link 的文本框 ID

标签: php jquery mysql sql database


【解决方案1】:

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

$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].")";
}

【讨论】:

  • 我不想数。我是 php 新手。你有动态创建文本框并将值插入数据库的示例代码吗?
【解决方案2】:

假设你在看这个?

$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
}

【讨论】:

  • 这是 k 但此代码仅插入最后一个值
  • 是的。像这样 if ($_POST['fields']) { var_dump($_POST); //获取最后插入的用户ID $inserted_user_id = $db->last_insert_id(); //循环遍历添加的字段 foreach ( $_POST['fields'] as $key=>$value ) $code=$_POST['code']; { //插入网站表 $sql_website = sprintf("INSERT INTO website (Website_URL, web_Link) VALUES ('%s', '%s')", mysql_real_escape_string($value), mysql_real_escape_string($code[$key]) ); $result_website = $db->query($sql_website);
  • 不,这是插入第一个网站最后一个 web_link 和最后一个网站第一个 web_link...
  • 然后你这样做:$fields=$_POST['fields']; mysql_real_escape_string($fields[$countKey]), mysql_real_escape_string($code[$countKey])
  • 不,它也只插入第一个 texbox 组数据...我添加了一个图像 wid 你想要什么。我在 Photoshop 中编辑了这张照片...link
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多