我想在查询中连接2个表以显示结果。
我在第一个表中有lastname
,firstname
等。
在第二个表我有training
,date
...mysql SELECT(需要连接到2个表格并显示搜索结果)
我也有第二个表的ID
参考链接姓氏和名字,以培训和日期。
因此,只要我在数据库中创建培训记录,就会为同一个人使用相同的ID。
我希望能够连接我的查询中的两个表,并显示结果,如果我搜索lastname
。
它还会列出他们已完成的所有培训,如果我在搜索中点击该名称。
我很新的MySQL数据库。
我正在使用phpmyadmin的MySQL和运行本地主机数据库的测试目的...
我目前可以搜索一个表,并提出结果,但我无法弄清楚它们的联合,并将名称列表作为链接显示在那里培训。并让它保持在打印输出顶部的名称...这是我使用的代码,我从教程中获得。
<form>
<div align="right">
<input type="button" value="Print Results" onClick="myprint()">
</div>
</form>
<?php
// TAKE THE INFORMATION FROM FORM.
$search = $_GET['search'];
// IF THERE IS NOT A KEYWORD GIVE AN ERROR
if (!$search)
echo "You didn't enter a keyword";
else
{
echo "<td>You searched for: <strong>$search </strong></td>";
mysql_connect('localhost','loginid','password');
mysql_select_db('trainingrecords');
[email protected]$_GET['id'];
//QUERY IS THE CODE WHICH WILL MAKE THE SEARCH IN YOUR DATABASE.
//I WROTE AN EXPLANATION ABOUT IT AFTER THE CODE.
$query="SELECT * FROM username
WHERE MATCH(lastname, firstname, location, created)
AGAINST('%$search%' IN BOOLEAN MODE)";
$result1 = MySQL_query($query);
if(!$result1) {
echo MySQL_error()."<br>$query<br>";
}
if (MySQL_num_rows($result1) > 0) {
echo "<table width='750' align='center' border='1'
cellspacing='2' cellpadding='2'>";
while($result2 = MySQL_fetch_array($result1)) {
//A short description from category.
$description = $result2['location'];
$searchPosition = strpos($description, $search);
$shortDescription = substr($description, $searchPosition, 150);
echo "<td><strong>{$result2['lastname']}
{$result2['firstname']}</td></strong><td>
$shortDescription</td><td>{$result2['created']}</td><tr/>";
}
echo "</table>";
} else {
echo "No Results were found in this category.<br>";
}
echo "<br>";
}
?>
感谢约翰这个伟大的工程!现在我唯一的问题是我的字符串搜索。当我搜索姓氏,并且如果有两个姓氏相同的人带来了他们两个,当我一起搜索姓氏姓氏。它似乎无视它,只是把两者都拉上来。我怎样才能让它在我的搜索中仅匹配名字和姓氏。而不仅仅是寻找并给我所有结果? – yeahwhatever
我也无法按姓氏或我选择的方式排序搜索。有没有办法让我的桌子上的每个领域的标题,如果你点击它们,它们通过该领域命令他们?并且默认是姓氏? – yeahwhatever