0

你好!我想在我的数组中添加额外的 2 个 textarea 和一个下拉列表,它们将被插入到我的 mysql 数据库中。

我已经有一个 textarea 用于:

  1. 姓名
  2. 用户名

我想补充

  1. 密码
  2. 组(这是一个下拉列表,我将从 mysql 中的组表中获取数据)

这是我到目前为止所得到的:

<?php
require_once "connect_to_mysql.php"; 
if($_POST['name'] || $_POST['username'])
{

$array=$_POST['name'];
$array2=$_POST['username'];

foreach ($array as $i => $name) {
    $username = $array2[$i];


//$sql=mysql_query("insert into hobbies(hobby)values('$hobby')")

$sqlCommand = "INSERT INTO test(name, username) VALUES ('$name', '$username')";

$query = mysql_query($sqlCommand) or die (mysql_error());

}
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jquery Duplicate Fields Submit Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="reCopy.js"></script>
<script type="text/javascript">
$(function(){
  var removeLink = ' <a class="remove" href="#"    onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return     false">remove</a>';
$('a.add').relCopy({ append: removeLink});  
});
</script>
<style type="text/css">
body{ font-family:Arial, Helvetica, sans-serif; font-size:13px; }
.remove {color:#cc0000}
.input{ border: solid 1px #006699; padding:3px}

</style>
</head>

<body>

<div style="background-color:#ffffcc; padding:4px; border:#333 1px solid">9lessons     programming Blog. Topics focused about jquery, ajax, mysql, php and java. <a     href="http://9lessons.info">http://9lessons.info</a></div>
   <form method="post" action="">
   <p class="clone"> <input type="text" name="name[]" class='input'/> 
     <input type="text" name="lastname[]" class='input' id="lastname[]"/> 
     <input type="text" name="username[]" class='input' id="username[]"/> 
     <input type="text" name="password[]" class='input' id="password[]"/>
   <?php
require_once "connect_to_mysql.php"; 
$part_id = $_SESSION['part_id'];
$query="SELECT * FROM groups WHERE part_id = '$part_id'";
$result = mysql_query($query);

echo '<select name="group" id="group">';
while($row=mysql_fetch_array($result)){ 
echo '<option value="' . $row['group'] . '">'. $row['group'] . '</option>';
}
echo '</select>'; 
?></p>
   <p><a href="#" class="add" rel=".clone">Add More</a></p>
   <input type="submit" value=" Submit " />
   </form>
</body>
</html>
4

1 回答 1

1

乔纳森,不想冒犯,但我认为你正在处理一个只会让你陷入困境的样本。我也怀疑英语不是你的第一语言。

1) 仔细查看创建表单,然后响应其数据的示例。查看http://html.net/tutorials/php/lesson11.php 您将使用 post 方法来提交数据。

2)接下来看看数据库设计,特别是第一个范式。看看你是否能找到一个例子来说明为什么这很重要。您需要了解如何创建表以支持“多对多”关系。(提示,一个用户可以有多个爱好,他们可能有三个、五个或一个爱好。你如何在数据库中管理它?)我要求你这样做是因为当你了解如何使重复条目存储时正确地,您将准备好向您的用户询问适当的问题,以尽可能简单地获取您需要的数据。

3) 我希望您学习如何使用 PDO(php 数据对象)表示法进行数据库处理。它并不是那么困难,如果出现任何问题肯定会有所帮助。PDO 的东西提供了更好的反馈。http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

4) 你需要学习一点关于安全、登录和会话的知识。

5)你的标题“Jquery Duplicate Fields Submit Form”让我很困惑......如果有重复的东西,为什么必须提交?当我得到一个副本时,我通常把多余的扔掉。

6) 当我们讨论 jquery 的主题时,我还建议您参考 try.jquery.com 教程。这将对您在 jquery 和 CSS 方面有很大帮助。您将学习如何隐藏和取消隐藏用户表单上的字段(因此您甚至不必使用该功能 removelink)显然如果用户看不到他们无法填写的字段。

我几乎宁愿看到您扔掉整个文件(我认为您是从其他地方复制的)并从头开始,然后沿着您当前所在的路径前进。

(左箭头、感叹号--html 注释--> 和//php 注释是您刚开始时的朋友。使用简单的注释和逻辑结构来设计您希望文件执行的操作。然后返回并编码为您简单的英文描述。

我会告诉你,如果你在复制一些东西并且你有不止一两个你不理解的概念,那么你绝对会失败。最好花点时间,慢慢学习并了解正在发生的事情。

告诉我你才刚刚开始的事情。整个 array / array2 的事情似乎没有意义。如果您已经有一些来自用户的字段,并且想要填写更多,那么在表单页面上,让您的程序填写您已经知道的字段。请记住,在表单上隐藏项目非常容易。如果您想取消隐藏通过 javascript 很容易做到的事情

我会说,你肯定有可能在你的东西之上,我的解释完全基于英文翻译的差异。在那种情况下,大量的道歉。我的回答无意冒犯。我希望看到您能够帮助自己并准确了解正在发生的事情。

祝你好运。

于 2013-09-19T07:55:27.050 回答