我正在使用 PHP、javascript 和 mysql 创建此搜索功能。
这段代码运行正常。我在 html 搜索框中输入了一些数据,该搜索框将 %keyword% 发送到此 PHP 函数,该函数返回我想要的数据。
$query = "SELECT id,fornavn,efternavn,adresse,postnr,city,tlf,kon,email,fodselsdag FROM kunde WHERE email LIKE '%$keyword%' OR fornavn LIKE '%$keyword%'";
$result = mysqli_query($dbc,$query);
if($result){
if(mysqli_affected_rows($dbc)!=0){
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
listings($row['fornavn'],$row['efternavn'], $row['email'],$row['adresse'],$row['tlf'],$row['postnr'],$row['city'],$row['fodselsdag'],$row['id'],$bartype);
}
我有另一个表,其中存储了与另一个 ID 相关的来自上述 SQL 的 ID。该表如下所示:
Table name: vip
Colmns: id, brugerid, barid
现在我想在上面的代码中自定义SQL,所以它只选择在vip表中也有关系的数据。
我是这样做的:
SELECT *, kunde.id as kundeid FROM kunde,vip WHERE vip.brugerid = kunde.id AND vip.barid =1 AND email LIKE '%$keyword%' OR fornavn LIKE '%$keyword%';
实际上,每当我添加多个表时,php 代码就会停止工作。知道为什么会这样吗?我怎样才能做到这一点?
任何帮助将不胜感激
最佳答案
http://dev.mysql.com/doc/refman/5.0/en/join.html
SELECT *, kunde.id as kundeid FROM kunde INNER JOIN vip ON (vip.brugerid = kunde.id) WHERE kunde.id=1 AND email LIKE '%$keyword%' OR fornavn LIKE '%$keyword%'
关于php - while($row = mysqli_fetch_array($result)){ 选择多个表时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133130/