我如何将它们从第二个查询中排除?
Posted
技术标签:
【中文标题】我如何将它们从第二个查询中排除?【英文标题】:How would I exclude them from the 2nd query? 【发布时间】:2015-08-30 20:55:44 【问题描述】:我注释掉了这个部分来检查我们到目前为止得到了什么:
echo "
<div class='formTitle' style='position: relative; text-align: center; margin-top: 20px'>Medals</div>
<table class='profileTable' id='medalTable' style='border-top-width: 0px'>
";
$mID = $_GET['mID'];
$result = $mysqli->query("SELECT * FROM ".$dbprefix."clanawards_members WHERE maa_member_id = '$mID'");
while($row = $result->fetch_assoc())
//RETRIEVE ALL COLUMN NAMES then run a foreach to run each one through the next query
foreach($row as $key => $val)
// $result = $mysqli->query("SELECT * FROM ".$dbprefix."clanawards WHERE EXISTS name = '$key'");
// while($row = $result->fetch_assoc())
// $awardName = $row['name'];
// $description = $row['description'];
echo "
<tr><td class='main' align='center'>$key<br>$awardName</td></tr>
";
//
echo "</table>";
这给了我我正在寻找的表格列列表,但我们添加了评论部分,它给了我这个:
致命错误:在第 34 行的 PREVIOUSFOLDERS/include/profile/_medals.php 中对非对象调用成员函数 fetch_assoc()
第二个查询中的 while 子句是什么...我认为这与 EXISTS 位于错误位置或没有按照我想要的方式工作有关,但我之前从未使用过 EXISTS。
列或 $keys 包含 3 个列名,不会出现在下一个数据库中。
【问题讨论】:
【参考方案1】:不确定我是否理解这一点,但我认为这就是你想要的:
while ($row = $result->fetch_assoc())
foreach ($row as $key => $val)
$result = $mysqli->query(...);
在循环内部,$key
将是列名,$val
将是该列在该行的值。
我不确定“Award”是列名还是实际的单元格值,但您可以将 $key
或 $val
替换为 $Award
(尽管如果需要,它应该是 $award
保持一致...:)
)
【讨论】:
好的做了一点编辑我将如何添加如果存在第二个查询?以上是关于我如何将它们从第二个查询中排除?的主要内容,如果未能解决你的问题,请参考以下文章
仅当执行第一个查询的记录集中没有记录时,SPARQL 从第二个查询返回记录