【发布时间】:2014-08-19 07:08:59
【问题描述】:
大家好,我正在使用这个脚本来制作动态网络表单(如果需要,添加新的输入)。
<form method="post" action="">
<table class="dd" width="100%" id="data">
<tr>
<td>Vin</td>
<td width="99%"><input name="vin1" id="vin1" type="text" /></td>
</tr>
</table>
<input name="sub" type="submit" value="Submit values"/>
<input type="button" id="addnew" name="addnew" value="Add new item" />
<input type="hidden" id="items" name="items" value="1" />
</form>
<?php var_dump ($_POST); ?>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
var currentItem = 1;
$('#addnew').click(function(){
currentItem++;
$('#items').val(currentItem);
var strToAdd = '<tr><td>Vin</td><td width="17%"><input name="vin'+currentItem+'" id="vin'+currentItem+'" type="text" /></td></tr>';
$('#data').append(strToAdd);
});
});
//]]>
</script>
它运行良好,并且还用数字命名每个输入,所以在我的例子中它是:vin1、vin2、vin3... 问题是我不确定如何告诉 PHP 处理这些数据。因为我正在使用类似的东西:
public function fetchByVinEvidence() {
$success = false;
try{
$con = new PDO( DB_HOST, DB_USER, DB_PASS );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM evidence_calculations WHERE vin = :vin LIMIT 5";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
$stmt->execute();
while ($row = $stmt->fetch()){
echo "<tr>";
echo "<td>#4</td>";
echo "<td>".$row['street']."</td>";
echo "<td>".$row['city']."</td>";
echo "<td>".$row['claim_number']."</td>";
echo "<td>".$row['country']."</td>";
echo "<td><a href =\"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\">detail</a></td>";
echo "</tr>";
}
}catch(PDOExeption $e){
echo $e->getMessage();
echo $con->errorInfo();
}
return $success;
}
对于单个输入,但我如何为多个输入编辑它,我是 PHP OOP 的新手,所以我真的不知道如何进行正确的循环,如何限制一切以不让用户将数以百万计的东西发送到数据库一次等等。你们能帮我编辑一下我的 PHP 脚本,以便能够处理来自多种表单的数据吗?
谢谢!
【问题讨论】:
标签: javascript php jquery sql