0

当我提交下面的表格时,它第一次搜索有效,但是如果我尝试另一个搜索,它会给我相同的答案,例如:首先我搜索“operat”--->它返回例如“操作后缀”然后如果我搜索“flight”--->它再次返回“operational suffix” 下面你会找到代码,提前谢谢你!

<form name="form1" id="form1" class="form-inline" method="GET" action="index.php">
<select name="select">
<option value="" selected="selected"></option>    
<option value="Data Element Name">Data Element Name</option>    
<option value="Term">Term</option>    
<option value="Diagram">Diagram</option>  
</select>
<input type="text" name="search" id="search">
<input type="submit" class="btn">
</form>
<table id="resultTable"></table> 

<?php
function connection(){
/*****************************************************************************/
//Get values from the form
$search = $_GET['search'];
$select = $_GET['select'];
/*****************************************************************************/
//Define needed values to log in
$dbhost='localhost';
$dbusername='username';
$dbuserpass='pass';
$dbname = 'db_name';
/*****************************************************************************/
// connect to the mysql database server
$connection=mysql_connect ($dbhost, $dbusername, $dbuserpass);
/*****************************************************************************/
//select the database
mysql_select_db($dbname) or die('Cannot select database');
/*****************************************************************************/
//Create the Query
$result="SELECT name from tbl_name WHERE stereotype LIKE 'Term' AND name LIKE '%$search%' ";
/*****************************************************************************/
//Sending the request
$req =mysql_query($result,$connection);
if (!$req )
{
die(mysql_error());
}
/*****************************************************************************/
//Loop to stock results on an array 
$array=array();
$i=0;
while($data = mysql_fetch_assoc($req))
{ 
$array[$i]=$data['name'];
$i=$i+1;
}
/*****************************************************************************/
//return the result to javascript
return json_encode($array);
/*****************************************************************************/
}
?>
<script>
$('#form1').submit(function() {  
$('#resultTable').empty();
alert(document.forms["form1"]["search"].value);
if (document.forms["form1"]["select"].value=="Term" ){
var tab=<?php echo connection();?>;
for(i=0;i<tab.length;i++) {$('#resultTable').append('<tr><td>'+tab[i]+'</td></tr>');}
}
return false;
});
</script>
4

1 回答 1

1

这是因为 html 和 php 的顺序错误。正常流量:

  1. 设置变量
  2. 创建数据库连接
  3. 在数据库中插入/更新东西
  4. 从数据库中选择东西
  5. 显示东西

在您的情况下,这些东西是在您的表单呈现后插入的

如果不是您的情况,请尝试检查您是否使用 javascript 或离线存储的东西。

于 2013-01-25T17:19:12.237 回答