gpt4 book ai didi

php - 从数据库中获取一个值,并使用 for 循环填充 php 中的下拉菜单

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

我已经创建了一个相当大的动态网站作为一个项目,除了一个功能之外,一切都正常。

我正在使用 PHP 来显示从我的数据库填充的 HTML 表。我可以获取 ip_stock 的值,这是一个 int 值,我想获取该值,并对其进行 for 循环,以填充表中要购买的每个项目的下拉菜单。每个项目在 ['ip_stock'] 中都有不同的值。这是我的代码,减去顶部的一些 HTML,这不是很相关,但是连接已建立并且成功,我的 forloop 不起作用,并且如果我将其放入选择代码本身也不起作用。

   <?php 

$pagerows = 5;

if (isset($_GET['p']) && is_numeric($_GET['p'])) {
$pages=$_GET['p'];
} else {
$query = "SELECT COUNT(ip_id) FROM in_product";
$result = mysqli_query($dbhandle, $query);
$rows = @mysqli_fetch_array($result, MYSQLI_NUM);
$records = $rows[0];

if ($records > $pagerows) {
$pages = ceil($records/$pagerows);
}else{
$pages = 1;
}
}

if (isset($_GET['s']) && is_numeric ($_GET['s'])) {
$start = $_GET['s'];
}else{
$start = 0;
}


echo "<table class='tableadmin2'>
<tr>
<td class='td2'><b>Add&nbsp;to&nbsp;Cart: </b></td>
<td class='td2'><b>Product Information: </b></td>
<td class='td2'><b>Product Photo: </b></td>
<td class='td2'><b>Select Amount: </b></td>
</tr>";

$display6="SELECT *
FROM in_product LIMIT $start, $pagerows; " ;
$displayResult6 = @mysqli_query($dbhandle, $display6)
or die(mysqli_error($dbhandle));

while($row6 = mysqli_fetch_array($displayResult6, MYSQLI_ASSOC)) {
$i = 1;
$x = $row6['ip_stock'];
$y = " ";
for($i = 1; $i <= $x; $i++) {
$y = "<option value=' . $i . '> $i </option>";
}
echo "<tr>
<input type='hidden' id='prod' value='" . $row6['ip_id'] . "' /></td>
<td class='td2'><a href='addcartInstate.php?ip_id=" . $row6['ip_id'] . "'>Add To Cart&nbsp</a></td>
<td class='td2'><strong> " . $row6['ip_name'] . " </strong><br> " . $row6['ip_desc'] . " <br> $" . $row6['ip_price'] . " </td>
<td class='td2'><img alt='first' src=" . $row6['ip_image'] . " width='300' height='250'></td>
<td class='td2'><br>
<b>Quantity:&nbsp;&nbsp;</b><br>
<select id='orderIn_quantity' name='orderIn_quantity'>
<option value='Select'> Select </option>
$y
</select>
</td>
</tr>";
}
echo "</table>";

if(isset($_POST['orderIn_quantity'])) {
$orderIn_quantity = $_POST['orderIn_quantity'];
}

if($pages > 1) {
echo '<p class="table3">';
$current = ($start/$pagerows) + 1;
if ($current != 1) {
echo '<a href="instate.php?s=' . ($start - $pagerows) . '&p=' . $pages . '">Previous Page </a>';
}
if ($current != $pages) {
echo '<a href="instate.php?s=' . ($start + $pagerows) . '&p=' . $pages . '">Next Page </a> ';
}
}
?>

最佳答案

据我所知,它只会显示最后一个值,对吗?因为你不断地用新的选项覆盖你以前的选项。您需要使用string concatenation .

你需要改变

$y = "<option value=' . $i . '> $i </option>";

// this will append new string to previous string
$y .= "<option value=' . $i . '> $i </option>";

关于php - 从数据库中获取一个值,并使用 for 循环填充 php 中的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27065736/

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