gpt4 book ai didi

php - 显示具有多个值的唯一列名称

转载 作者:行者123 更新时间:2023-11-30 23:30:13 25 4
gpt4 key购买 nike

我有一个连接两个表的查询

SELECT DISTINCT prescriptions.prescription, prescription_history.dosage
FROM prescriptions
LEFT OUTER JOIN prescription_history ON prescriptions.prescription=prescription_history.prescription

现在处方表有两个字段主键和处方名称,处方历史有 4 个字段,其中处方名称是处方的外键。为了让这更清楚一点。

Prescriptions table:
id prescription
1 advair
.. ....

等等

Prescription_History
id prescription account_num dosage
1 advair 989 20mcg
2 advair 567 50mcg
.. ... ... ...

等等。

如果我要输出这个来创建复选框,我希望看到处方名称后跟剂量:

Advair   Symbicort
20mcg 140/4.5
50mcg 120/4.5

等等

但是,我得到的是两次处方名称,然后是剂量。

Advair  Advair   Symbicort   Symbicort
20mcg 50mcg 140/4.5 120/4.5

等等

我如何能够一次显示处方名称,然后显示该处方的所有剂量。我尝试使用 array_unique 但它只会输出一个处方名称后跟剂量并且它会忽略所有其他处方名称,即使它们不相同也是如此

最佳答案

听起来您想要做的是链接这两个表,然后遍历它们,找到处方的每个唯一实例,并找到与其对应的每个剂量。您可以这样做的一种方法是将处方作为唯一键的数组,然后是与每个处方相对应的剂量/处方历史记录。所以你可以做这样的事情(未经测试):

$sql = "SELECT DISTINCT prescriptions.prescription, prescription_history.dosage, prescription_history.account_num FROM prescriptions LEFT OUTER JOIN prescription_history ON  rescriptions.prescription=prescription_history.prescription"
$result = mysql_query($sql) or die("MySQL-Error: " . mysql_error());
$arr = array();
while ($new = mysql_fetch_row($result)) {
if (array_key_exists($new[0], $arr)) {
array_push($arr[$new[0]], array($new[1], $new[2]));

} else {
$arr[$new[0]] = array();
array_push($arr[$new[0]], array($new[1], $new[2]));
}
}

之后,您可以使用 foreach 循环对其进行迭代:

foreach ($arr as $key) {
print "Prescription: " . $key
foreach($key as $value) {
print_r$value;
}

关于php - 显示具有多个值的唯一列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090107/

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