我正在建立一个专门用于夜总会和夜间活动的社交网站。
在其他表中,我有一个用户表,事件表和场所表。
我真的很感兴趣的是Facebook特别是如何能够查询和返回不仅是用户的匹配,还有一排又一页的页面,广告等。我确定大多数正在阅读此内容的人都试过了facebook搜索
我的问题是在我的情况下,我应该:
在search.php上的每个表格上执行3个单独的LIKE%搜索%。
绘制3个单独的表格,以显示空白时折叠的相关查询中匹配的结果(在同一search.php上),即
在search.php中
//query users table
$query_user = "SELECT user_first_name, user_last_name, username, picture_thumb_url, avatar FROM users JOIN picture ON users.user_id = picture.user_id
AND picture.avatar=1 ORDER BY users.user_id";
$result_users = mysql_query($query_user, $connections) or die(mysql_error());
$row_result_users = mysql_fetch_assoc($wid_updates);
//query events table
$query_event = "SELECT event_thumb_url, event_name, event_venue, event_date FROM event WHERE event_name LIKE '%".$search_value."%'";
$event = mysql_query($query_event, $connections) or die(mysql_error());
$row_event = mysql_fetch_assoc($event);
$totalRows_event = mysql_num_rows($event);
//query establishments table
$query_establishment = "SELECT establishment_thumb_url, establishment_name, location_id, establishment_pricing FROM establishment
WHERE establishment_name LIKE '%".$search_value."%'";
$establishment = mysql_query($query_establishment, $connections) or die(mysql_error());
$row_establishment = mysql_fetch_assoc($establishment);
$totalRows_establishment = mysql_num_rows($establishment);
我的HTML:
<table max-width="500" name="users" border="0">
<tr>
<td width="50" height="50"></td>
<td width="150"></td>
<td width="150"></td>
<td width="150"></td>
</tr>
</table>
<table width="500" name="events" border="0">
<tr>
<td width="50" height="50"><a href="#profile.php"><img src="Images/<?php echo $row_event['event_thumb_url']; ?>"
border="0" height="50" width="50"/></a></td>
<td width="150"><?php echo $row_event['event_name']; ?></td>
<td width="150"><?php echo $row_event['event_venue']; ?></td>
<td width="150"><?php echo $row_event['event_date']; ?></td>
</tr>
</table>
<table width="500" name="establishments" border="0">
<tr>
<td width="50" height="50"><a href="#profile.php"><img src="Establishment_Images/<?php echo $row_establishment['establishment_thumb_url']; ?>"
border="0" height="50" width="50"/></a></td>
<td width="150"><?php echo $row_establishment['establishment_name']; ?></td>
<td width="150"><?php echo $row_establishment['location_id']; ?></td>
<td width="150"><?php echo $row_establishment['establishment_pricing']; ?></td>
</tr>
</table>
我没有为用户表填充PHP echo。
这只是为了让您了解我想要做的事情。任何帮助?
答案 0 :(得分:0)
我想说有很多不同的方法可以解决这个问题,但我会一次搜索所有表格,并按相关性顺序显示结果。说实话,我从来不需要为两个以上的表执行此操作,但是以下链接可能会帮助您进行MySQL查询link text
虽然此链接用于全文搜索而不是LIKE功能