gpt4 book ai didi

php - MYSQL 选择并连接结果

转载 作者:行者123 更新时间:2023-11-29 07:32:31 25 4
gpt4 key购买 nike

您好,我正在寻找我们在工作中使用的小系统。该系统使用 3 个表格:报价、工作和详细信息。这些表中有几个字段,但我关注的字段如下:

这是一个sqlfiddle对于我的表和 mysql 语句

引言

  • quote_id
  • quotes_title

工作

  • job_id
  • job_quoteid - job_quoteid 存储作业所属的报价的 ID

详细信息

  • details_id
  • 详细信息行
  • details_quoteid - details_quoteid 存储与详细信息相关的报价的 ID,可以有多个详细信息链接到报价

然后,我的搜索是根据输入的搜索词查看每个表格,并显示 quote_id、job_id、quote_title 和details_line。

这是我当前用于搜索的代码:

$fetch = mysql_query("SELECT * FROM quotes AS qts 
LEFT JOIN jobs AS jbs ON qts.quote_id=jbs.job_quoteid
JOIN details AS dts ON qts.quote_id=dts.quote_detailsid

WHERE concat(' ',qts.quote_code,qts.quote_id) like '%$param%'
OR qts.quote_title REGEXP '^$param'

OR concat(' ',jbs.job_code,jbs.job_id) like '%$param%'

OR dts.details_line LIKE '%$param%'
");

while ( $row = mysql_fetch_object( $fetch ) ) {
$sResults .= '<tr id="'. $row->job_id . '">';
$sResults .= '<td><a href="../../jobs.php?action=viewJob&amp;job_id='. $row->job_id .'">'. $row->job_code . $row->job_id .'</a></td>';
$sResults .= '<td><a href="../../quotes.php?action=viewQuote&amp;quote_id='. $row->quote_id .'">' . 'Q' . $row->quote_id . '</a></td>';
$sResults .= '<td>' . $row->quote_title . '</td>';
$sResults .= '<td>' . $row->details_line . '</td>
</tr>';
}

现在我需要一些进一步的助手,搜索可以工作,但例如,如果我输入“NCR”作为搜索词,它将显示 4 个结果,这是因为我的 quote_title 为“NCR Sets” ”并且该引用有 4 个细节行附加到它(这些细节行不包含单词 NCR),但显然它显示 4,因为它发现包含单词“NCR”的 quote_id 位于每个细节行中。因此,我的结果页面在表行中各有 4 个结果,并显示 quote_id、job_id、job_title 和明细行,我希望它看起来是在一个 job_id 和 quote_id 下显示 4 个详细信息。如果我要手动对表格进行编码,我会做如下的事情来给你一个想法:

<table>
<tr>
<td>quote_id</td>
<td>job_id</td>
</tr>
<tr>
<td>quote_title</td>
</tr>
<tr>
<td>details_line</td>
<td>details_line</td>
<td>details_line</td>
<td>details_line</td>
</tr>
</table>

我希望这是有道理的,并且有人可以将我推向正确的方向。

提前致谢。

伊恩

最佳答案

最简单的方法是将查询的所有输出存储起来,即 $row->job_id$row->quote_id 等数组(或变量)并检查下一个 job_idquote_id 是否唯一。为此,您可以使用 in_array()功能。

然后,您可以设置一个 if 语句,如果新的 id 则在现有 tr 内附加 td > 已经存在,或者只需添加一个新的 tr

I could try and write a working code for it should you wish for it. For that, a Fiddle would be easy!

关于php - MYSQL 选择并连接结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32116294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com