gpt4 book ai didi

php - 显示2个表中不相关的数据

转载 作者:行者123 更新时间:2023-11-29 17:48:21 25 4
gpt4 key购买 nike

尝试从 2 个不同且基本上不相关的表中显示数据。不希望它们加入,只是离散输出在选择框中如下所示:

类别:表 1 中的当前类别(这部分有效)

表 2 中的完整类别列表(空选项标签的正确数量,没有显示数据)

DB connection code:

//DB CONNECTION//
$dbcnx = mysqli_connect("localhost", $DBASEUSER, $DBASEPASSWORD, $DBASE);

//Main Showcase

$sql = "SELECT * FROM `dprods`";
//////HEADER in main page
<?php
$ID=$_GET['ID'];
$CAT=$_GET['cat'];
?>
//////Main SECTION
<?php
require "db_conn.php";
$sql2 = "SELECT * FROM $DBTABLE WHERE ID=$ID";
$getinfo = mysqli_query($dbcnx, $sql2);
$row = mysqli_fetch_assoc($getinfo);
$PROD = $row['dtitle'];
$PRICE = $row['dprice'];
$PP = $row['dpplink'];


echo "<tr>
<td width=\"12%\">
<div align=\"right\"><b><font face=\"Arial, Helvetica, sans-serif\" size=2>Product
Category: &nbsp;&nbsp;</font></b></div>
</td>
<td colspan=2 width=\"88%\"><select name=\"dcat\"><option value=\"$CAT\">Current Category: $CAT</option>";
$dcat = "SELECT * FROM 'dcat'";
$getcat = mysqli_query($dbcnx, $dcat);
$row2 = mysqli_fetch_assoc($getcat);
while($row2 = mysqli_fetch_assoc($result))
{ echo " <option value=\"".$row2["dcategory"]."\">".$row2["dcategory"]."</option>";
}
echo "".$row["dprice"]."</select>
</tr>
<tr>
<td width=\"12%\">&nbsp;</td>
<td width=\"24%\">&nbsp;</td>
<td width=\"64%\">&nbsp;</td>
</tr>
<tr>
<td width=\"12%\">
<div align=\"right\"><b><font face=\"Arial, Helvetica, sans-serif\" size=2>Product
Title: &nbsp;&nbsp;</font></b></div>
</td>
<td width=\"24%\"> <b><font face=\"Arial, Helvetica, sans-serif\" size=2>
<input type=\"text\" name=\"Title\" value=\"".$row["dtitle"]."\" size=35 maxlength=25>
</font></b><b><font face=\"Arial, Helvetica, sans-serif\" size=2> &nbsp;&nbsp;</font></b></td>
<td width=\"64%\"><b><font face=\"Arial, Helvetica, sans-serif\" size=2>Price</font></b>:
&nbsp;&nbsp; <b><font face=\"Arial, Helvetica, sans-serif\" size=2>
<input type=\"text\" name=\"Price\" value=\"".$row["dprice"]."\" maxlength=10 size=20>
</font></b></td>
</tr>
<tr>
<td width=\"12%\">&nbsp;</td>
<td width=\"24%\">&nbsp;</td>
<td width=\"64%\">&nbsp;</td>
</tr>
<tr>
<td width=\"12%\">
<div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=2><b>PayPal
Link:&nbsp;&nbsp;&nbsp;</b></font></div>
</td>
<td colspan=2><font face=\"Arial, Helvetica, sans-serif\"><b>http://www.paypal.com</b>
</font>
<input type=\"text\" name=\"PP\" value=\"".$row["dpplink"]."\" size=50>
<font face=\"Arial, Helvetica, sans-serif\">Only put in what follows paypal.com</font></td>
</tr>

";
mysqli_close($dbcnx);
?>

我已经工作和研究了几个小时,现在我非常困惑,狼疮诱发的瑞士奶酪大脑没有帮助。我想我已经非常接近了,只是无法从第二个表中获取数据来显示。我们将不胜感激任何建议,但请尽可能简单。我在研究中看到的一些复杂代码让我更加困惑。谢谢!

最佳答案

尝试在您的选择查询中包含 getcat,如下所示:

$dcat = "SELECT 'dcategory', 'getcat' FROM 'dcat'";

$getcat = mysqli_query($dbcnx, $dcat);

while($row2 = mysqli_fetch_assoc($getcat))
{
echo " <option value=\"".$row2["getcat"]."\">".$row2["getcat"]."</option>";
}

echo "</select>"

您还可以使用 $dcat = "SELECT * FROM 'dcat'";,但上面的方法可能稍微更有效。

此外,我不知道在哪里为此代码设置 $result while($row2 = mysqli_fetch_assoc($result))

看起来 $result 未设置,因此它显然会给您带来不良结果。

您还在 while 循环之外执行 $row2 = mysqli_fetch_assoc($getcat);,这将在进入循环之前获取第一行。循环将从第二行开始。

请查看http://php.net/manual/en/mysqli-result.fetch-assoc.php

此外,正如评论中提到的,您的脚本将受到 SQL 注入(inject)。您需要修复它,使其尽可能安全。阅读评论中的链接,并确保您使用 prepared statements

关于php - 显示2个表中不相关的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49616118/

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