<html>
<body>
<form method="post" action="#">
<h1> AB_NO</h1>
<input type=text name="excel"> //input values that need to be checked for presence in database.
<input type=submit name="submit">
</form>
<?php
session_start();
if(isset($_POST['submit']))
{
$host="localhost";
$user="root";
$password="";
$db="green";
$table="manitable";
mysql_connect("$host","$user","$password") or die("Cannot Connect");
mysql_select_db("$db") or die("Cannot select DB!");
$var=$_POST['excel'];
$sql="SELECT * FROM manitable WHERE (ab_no = '$var')";
$result=mysql_query($sql);
$data_item=array();
$items=array();
if (mysql_num_rows($result) == 1) {
print 'Product Exists' ;
while ($row = mysql_fetch_array($result)) {
$data_item['doc_no'] = $row['doc_no'];
$data_item['ab_no'] = $row['ab_no'];
$data_item['od_id'] = $row['od_id'];
$items[] = $data_item;
}
print_r($items);
}
else {
print 'Sorry, this Product is not present' ;
}
}
?>
</body>
</html>
上面的代码是我正在使用的代码。
name=excel
的表单字段一次包含不同的字符串。在输入的每个值上,我希望它存储在$items
数组中。如果在数据库中存在,则检查在表单字段中输入的值。如果存在,则必须将其与其他列值一起存储在$items
数组中。最初在字段中输入值,该值以及相应的列条目存储在items数组中。
索引值为0的items数组将保存发送的表单值中的相应值。现在,当第二个值再次通过表单时,我希望它作为items数组中的第二个条目存储在数组中。
数据库中的manitable
表包含以下列:
doc_no
ab_no
od_id
输出结果为:
Product ExistsArray ( [0] => Array ( [doc_no] => 202344223341312 [ab_no] => SMLP3105153342 [od_id] => ODRD3028479929633865301 ) )
我希望将与db值比较匹配的新ab_no
条目添加到items数组的[1],[2]等索引中。
提前致谢。
答案 0 :(得分:2)
不会提交包含action="#"
的表单。 URL中的#
称为片段,并且(除其他外)用于引用文档中具有id
属性的元素。
由于您在同一个文件中处理表单,因此您应该省略action
属性:
<form method="post"></form>
答案 1 :(得分:0)
如果您想在提交后存储值,则需要使用会话。
首先开始一个会话,如果没有,或者就像你现在已经拥有它一样。
推荐的PHP版本&gt; = 5.4.0
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
来源:http://www.php.net/manual/en/function.session-status.php
对于PHP的版本&lt; 5.4.0
if(session_id() == '') {
session_start();
}
然后将$data_item
存储在会话中,而不是$items
数组。
$_SESSION['items'][] = $data_item;
$items = $_SESSION['items'];
然后你可以print_r()
你的$ items。
并且不要忘记将您的行动排除在Sverri所说的表格之外。