gpt4 book ai didi

php - 从不同的列中选择

转载 作者:行者123 更新时间:2023-11-29 11:03:41 26 4
gpt4 key购买 nike

我试图从表中的不同列中进行选择,然后使用 MYSQL 搜索字段值。我已经搜索过谷歌,但我设法得到的最多的是使用 IN 和 LIKE 查询,这对我想要实现的目标没有多大帮助。

<?php
//get rows query
$query = $db->query("SELECT * FROM categories WHERE cat_parent = 'Root'");
while($row = $query->fetch_assoc()){
$cat_name = $row["cat_name"];
?>
<li><a href="$id"><?php echo $cat_name; ?></a>
</li>
<?php } ?>

<?php
//get rows query
$query = $db->query("SELECT * FROM categories WHERE cat_parent = cat_name");
while($row = $query->fetch_assoc()){
$cat_name = $row["cat_name"];
?>
<li class="dropdown"><a href="$cat_id" class="dropdown-toggle" data-toggle="dropdown"><?php echo $cat_name; ?></a>
<div class="dropdown-menu">
<div class="dropdown-inner">
<ul class="list-unstyled">
<li><a href="$cat_id">$cat_name</a></li>
</ul>
</li>
</div>
</div>
</li>
<?php } ?>

此代码将从同一行中进行选择,这不是我需要的,我需要它从 cat_name = cat_parent 的所有表中进行选择,例如,如果 cat 父级是 Electronics 并且 cat_name 是笔记本电脑,则笔记本电脑必须显示在电子设备下方。

我希望我的问题很清楚。

更新:我成功地正确显示了所有类别并进行了过滤,除非它们彼此重复。这是新代码:

<?php
$query = $db->query("SELECT * FROM categories WHERE cat_parent = 'Root' AND cat_parent NOT IN (SELECT cat_name FROM categories)");
while($row = $query->fetch_assoc()){
$parent_cat_name = $row["cat_name"];

?>
<li>
<a href="$id">
<?php echo $parent_cat_name; ?>
</a>
</li>
<?php
$query1 = $db->query("SELECT * FROM categories WHERE cat_parent = '".$parent_cat_name."'");
while($row = $query1->fetch_assoc()){
$cat_name = $row["cat_name"];
?>
<li class="dropdown">
<a href="$cat_id" class="dropdown-toggle" data-toggle="dropdown">
<?php echo $parent_cat_name; ?>
</a>
<div class="dropdown-menu">
<div class="dropdown-inner">
<ul class="list-unstyled">
<li><a href="$cat_id"><?php echo $cat_name?></a></li>
</ul>
</div>
</div>
</li>
<?php
}
}
?>

我试图找到一个 MYSQL 查询来过滤所有值为“Root”并且不在列 cat_name 内的类别。

最佳答案

根据您问题中的信息,这应该可以满足您的要求。

<?php
$query = $db->query("SELECT * FROM categories WHERE cat_parent = 'Root'");
while($row = $query->fetch_assoc()){
$parent_cat_name = $row["cat_name"];

?>
<li>
<a href="$id">
<?php echo $parent_cat_name; ?>
</a>
</li>
<?php
$query = $db->query("SELECT * FROM categories WHERE cat_parent = '".$parent_cat_name."'");
while($row = $query->fetch_assoc()){
$cat_name = $row["cat_name"];
?>
<li class="dropdown">
<a href="$cat_id" class="dropdown-toggle" data-toggle="dropdown">
<?php echo $cat_name; ?>
</a>
<div class="dropdown-menu">
<div class="dropdown-inner">
<ul class="list-unstyled">
<li><a href="$cat_id">$cat_name</a></li>
</ul>
</div>
</div>
</li>
<?php
}
}
?>

上面的代码将子类别 while() 循环放置在父循环内部,以便它将检索 cat_parent 与其所在父类别匹配的所有子类别。

关于php - 从不同的列中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773726/

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