如果存在,则不选择PHP循环
我想问一下这是否可行?通过选择一个项目的名称将其计算为库存,并对所选项目进行num_行,在第二个循环中,该项目将不会被选中,因为它在第一个循环中已被选中 i、 e 我有这张桌子 我有两份苹果,一份鸡肉 这是我的密码如果存在,则不选择PHP循环,php,mysql,sql,while-loop,Php,Mysql,Sql,While Loop,我想问一下这是否可行?通过选择一个项目的名称将其计算为库存,并对所选项目进行num_行,在第二个循环中,该项目将不会被选中,因为它在第一个循环中已被选中 i、 e 我有这张桌子 我有两份苹果,一份鸡肉 这是我的密码 $sql = "SELECT * FROM products"; $res = mysqli_query($con,$sql); while($row = mysqli_fetch_assoc($res)){ $stock_query = "SELECT * FROM p
$sql = "SELECT * FROM products";
$res = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($res)){
$stock_query = "SELECT * FROM products WHERE name = '".$row['name']."' LIMIT 1";
$stock_res = mysqli_query($con,$stock_query);
while($stock_row = mysqli_fetch_assoc($stock_res)) {
$stocks_count = "SELECT * FROM products WHERE name = '".$stock_row['item_name']."' AND category = '".$stock_row['category']."'";
$stock_count_res = mysqli_query($con,$stocks_count);
$stock_available = mysqli_num_rows($stock_count_res);
echo $stocks_available; //output here is 2
echo $stock_row['category'].'<br/>';
echo $stock_row['name'].'<br/>';
}
}
输出是
回路1
2.蔬菜和苹果存货是什么
蔬菜
苹果
环路2
2.蔬菜和苹果存货是什么
蔬菜
苹果
环路3
1.肉鸡汤怎么样
肉
鸡
如何避免第二个循环
我不是做SQL注入的黑客,我有尊严。我正在建立自己的系统。
一切从头开始。试试这段代码,它可能会对你有所帮助
$sql = "SELECT distinct a.name, (SELECT distinct b.category FROM products b
WHERE b.name=a.name) as 'category', (select count(c.name) from products c where c.name=a.name) as 'count' FROM products a";
$res = mysqli_query($con,$sql);
$rows=[];
while($row = mysqli_fetch_assoc($res)){
echo "Name: " . $row["name"] . "<br/>";
echo "Category: " . $row["category"] . "<br/>";
echo "Count: " . $row["count"] . "<br/><br/>";
}
答案并没有针对各种情况进行测试。请在您的项目中针对各种案例场景进行测试。
在将来开始使用准备好的语句,这些语句非常简单和棒。mysqli函数已弃用。
祝你一切顺利 了解防止SQL注入的预处理语句mysqli_prepare?yes prepare->bind->executean以及可能在一个查询中获得所有这些结果的联接SQL语法。实际上,仔细看,所有这些查询都在同一个products表中。我想你只需要去喝杯咖啡,然后回来重新思考一下你是如何做你想做的事情的谢谢你的好意!希望我将来能学会那些新的密码。。这里有很多自吹自擂的程序员低估了其他程序员的知识,希望有一天你会成功!你了解我的处境,非常感谢!你100%的工作真的帮了我很多:谢谢you@AzeRonquillo感谢您的评论和代码反馈。我相信你很快就能学会编码。这里有很多自吹自擂的程序员,但请不要生气,最终我们都在这里互相帮助:。再次感谢您的好意评论。很高兴有你在这里。祝你一切顺利
$sql = "SELECT distinct a.name, (SELECT distinct b.category FROM products b
WHERE b.name=a.name) as 'category', (select count(c.name) from products c where c.name=a.name) as 'count' FROM products a";
$res = mysqli_query($con,$sql);
$rows=[];
while($row = mysqli_fetch_assoc($res)){
echo "Name: " . $row["name"] . "<br/>";
echo "Category: " . $row["category"] . "<br/>";
echo "Count: " . $row["count"] . "<br/><br/>";
}