[英]Displaying the entire row after searching
因此,我可以搜索整个数据库,但是我需要一种将$ db_tb_atr_name =“ location”更改为所有列的方法。 我需要搜索任何关键字并返回整行。 现在返回的只是位置。 我不知道如何更改代码以实现此目的。
<?php
if(isset($_GET['submit'])){
$db_host="localhost";
$db_username="megan";
$db_password="megan";
$db_name="megan";
$db_tb_name="user";
$db_tb_atr_name="location";
mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");
$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE
CONCAT(id_user,fname,lname,location,email,phone_number,username) LIKE '%".$query."%'");
echo "<h2>Search Results</h2><ol>";
while($data_fetch=mysql_fetch_array($query_for_result))
{
echo "<li>";
echo substr($data_fetch[$db_tb_atr_name], 0,160);
echo "</li><hr/>";
}
echo "</ol>";
mysql_close();
}
?>
如果我将$ db_tb_atr_name更改为$ db_tb_name,它将根本无法工作
不要那样做。 尝试这样的事情:
$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE CONCAT(id_user,fname,lname,location,email,phone_number,username) LIKE '%".$query."%'");
echo "<h2>Search Results</h2><ol>";
while($data_fetch=mysql_fetch_assoc($query_for_result))
{
echo "<li>";
echo substr(implode(",", $data_fetch), 0,160);
echo "</li><hr/>";
}
echo "</ol>";
我将您的mysql_fetch_array切换为mysql_fetch_assoc。 现在,您可以有一个更有条理和更相关的响应。
另外,我对您的$ data_fetch进行了内爆,这意味着它会将不同的列连接在一起,并以列分隔。
我们可以随时将其更改为您所需的方式,但是您所需的输出没有详细说明。
您还可以执行以下操作:
$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE CONCAT(id_user,fname,lname,location,email,phone_number,username) LIKE '%".$query."%'");
echo "<h2>Search Results</h2><ol>";
while($data_fetch=mysql_fetch_assoc($query_for_result))
{
echo "<li>";
foreach($data_fetch as $row => $value){
echo "Row: $row - $value<br />";
}
echo "</li><hr/>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.