使用我的数据库搜索的搜索条件后,我确实得到了所需的记录,但我不想显示每个记录的所有字段(85个字段);相反,我只展示了其中的5个,然后希望提供一个超链接说明"点击进一步的详细信息",以便用户可以继续查看特定记录的所有字段。
例如,如果用户输入" abc"在“搜索”框中,数据库包含5条" abc"的记录,然后它显示所有5条记录,但只显示5个特定字段。但要查看所有的字段,比如第1" abc"记录,用户将点击"进一步的详细信息",这将指导他到另一个页面,其中包含该特定第一个abc记录的所有85个字段。
请引导我完成!我不知道要给出什么条件,因为我尝试使用标题(位置),但显示所有记录,并且甚至不采取特定处理的SQL查询!
答案 0 :(得分:1)
以下是您可以做的一个示例。它是一个自引用搜索页面,它首先使用通用查询来获取所有记录。然后,当它遍历每个记录时(仅抓取特定字段,它使用一个隐藏变量和主键/唯一ID的表单作为POST变量发送给自己(search.php)。然后,当该POST变量时如果检测到,则查询仅获取该1条特定记录并在WHILE循环中使用IF / THEN语句,显示所有80多个字段。
有更好的方法可以查询和处理表单数据,但这应该可以帮助您入门。如果有效,请选择此作为答案。
<?php
$query = "SELECT * FROM table";
if (!empty($_POST['id'])) {
$query = "SELECT * FROM table WHERE id_field = '" . $_POST['id'] . "'";
}
$query_info = mysql_query($query) or die(mysql_error());
$query_info_count = mysql_num_rows($query_info);
while($query_info_details = mysql_fetch_array($query_info)){
if ($query_info_count > 1) {
$field_a = $query_info_details['field_a'];
$field_d = $query_info_details['field_d']; // Say this is the Primary Key
$field_f = $query_info_details['field_f'];
$field_g = $query_info_details['field_g'];
$field_s = $query_info_details['field_s'];
echo "<form method='post' action='search.php'>";
echo "Name: " . $field_a . " - " . $field_f . " - ID: " . $field_d;
echo " - Location: " . $field_g . "(" . $field_s . ")";
echo "<input type='hidden' name='id' value='" . $field_d . "'>
<input type='submit' value='View This Record'><br><br>";
}
else {
// Display all fields for record using $query_info_details['field_X'] from above
}
}
?>
答案 1 :(得分:0)
$where_str="";
if(isset($_POST['searchBox']))
{
$searchStr=$_POST['searchText'];
$where_str="colx =". $searchStr ;
}
$standard_query ="select col1, col2,col3,col4,col5 from tableName ". $where_str;
然后显示
while($row=mysql_fetch_array($records))
{
echo"<a href='' onclick='openDetail(\"$row[index]\")'>$row[index] </a>";
...
}
<强>的Javascript 强>
function openDetail(index)
{
window.open("Detail.php?rowindex"+ index);
return false;
}
// Detail.php
if(isset($_GET['rowindex'])
{
$row_index=$_GET['rowindex'];
$detail_query="select * from tableName where index=$row_index";
...
}