gpt4 book ai didi

php - 如何从一个 inner-join-where 查询中将获取的结果显示到 2 组不同的 div 中?

转载 作者:行者123 更新时间:2023-11-28 10:16:06 24 4
gpt4 key购买 nike

我在将结果显示到不同的 div 时遇到问题。

我有这个 html 代码:

<div class="grid_10 alpha omega">
<div class="grid_5 alpha paddingtop10">
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 1</p></div>
<div class="clear"></div>
<div class="grid_5" id="content"><p>Subsubcategories 1</p></div>
<div class="clear"></div>
</div>
<div class="grid_5 omega paddingtop10">
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 2</p></div>
<div class="clear"></div>
<div class="grid_5" id="content"><p>Subsubcategories 2</p></div>
<div class="clear"></div>
</div>
<div class="grid_5 alpha paddingtop10">
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 3</p></div>
<div class="clear"></div>
<div class="grid_5" id="content"><p>Subsubcategories 3</p></div>
<div class="clear"></div>
</div>
<div class="grid_5 omega paddingtop10">
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 4</p></div>
<div class="clear"></div>
<div class="grid_5" id="content"><p>Subsubcategories 4</p></div>
<div class="clear"></div>
</div>

etc ...

</div>
<div class="clear"></div>

我正在使用 960grid 系统,alpha 类正在清除左侧的 5px 填充,而 omega 正在清除右侧的 5px 填充。除了 paddingtop10 之外,其他类仅针对颜色。

这是我试图在我的 html 中实现的 php 代码结构:

if ($stmt = mysqli_prepare($connect, "SELECT subcategories.subcat_name, subsubcategories.subsubcat_name, subcategories.subcat_ID FROM subcategories INNER JOIN subsubcategories ON subcategories.subcat_ID=subsubcategories.subcat_ID WHERE subcategories.cat_ID = ? OR subcategories.extra_cat_ID = ? ORDER BY subcategories.subcat_name, subsubcategories.subsubcat_name ASC")){
mysqli_stmt_bind_param($stmt, "ii", $cat_ID, $cat_ID);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $subcat_name, $subsubcat_name, $subcat_ID);
$lastcat = 0;
while (mysqli_stmt_fetch($stmt)){
if($lastcat != $subcat_ID){
$lastcat = $subcat_ID;
echo "<br>";
echo $subcat_name;
echo "<br>";
echo "<br>";
}

echo $subsubcat_name;
echo "<br>";
}
}

我想通过 php 生成 alpha 和 omega div,但我不确定该怎么做。我尝试了这段代码,但它并没有像我希望在我的 html 示例代码中显示的那样给我正确的结果:

if ($stmt = mysqli_prepare($connect, "SELECT subcategories.subcat_name, subsubcategories.subsubcat_name, subcategories.subcat_ID FROM subcategories INNER JOIN subsubcategories ON subcategories.subcat_ID=subsubcategories.subcat_ID WHERE subcategories.cat_ID = ? OR subcategories.extra_cat_ID = ? ORDER BY subcategories.subcat_name, subsubcategories.subsubcat_name ASC")){
mysqli_stmt_bind_param($stmt, "ii", $cat_ID, $cat_ID);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $subcat_name, $subsubcat_name, $subcat_ID);
$lastsubcat = 0;
while (mysqli_stmt_fetch($stmt)){
echo '<div class="grid_5 alpha paddingtop10">';
echo '<div class="grid_5" id="titlescontent"><p class="titlebar">';
if($lastsubcat != $subcat_ID){
$lastsubcat = $subcat_ID;
echo $subcat_name;
}
echo '</p></div>';
echo '<div class="clear"></div>';
echo '<div class="grid_5" id="content"><p>';
echo $subsubcat_name;
echo '</p></div>';
echo '<div class="clear"></div>';
echo '</div>';
echo '<div class="grid_5 omega paddingtop10">';
echo '<div class="grid_5" id="titlescontent"><p class="titlebar">';
if($lastsubcat != $subcat_ID){
$lastsubcat = $subcat_ID;
echo $subcat_name;
}
echo '</p></div>';
echo '<div class="clear"></div>';
echo '<div class="grid_5" id="content"><p>';
echo $subsubcat_name;
echo '</p></div>';
echo '<div class="clear"></div>';
echo '</div>';
}
}

知道我需要如何完成这项工作吗?

感谢您的帮助!

最佳答案

我唯一能想到的就是使用计数器来跟踪您何时处于第一次或最后一次迭代。即使循环只有一项,这也会起作用。

$values = mysqli_stmt_fetch($stmt);
$i = 0;
$len = count($values);
while ($values) {
$i++;
...
if ($i == 1) {
// add alpha class
}
...
if ($i == $len) {
// add omega class
}
}

这对您有什么启发吗?

关于php - 如何从一个 inner-join-where 查询中将获取的结果显示到 2 组不同的 div 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24206688/

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