我是一名PHP初學者,我正在嘗試製作一個庫存管理系統。這是我的功能,使倉庫名稱和項目名稱的另一個下拉列表。當我選擇倉庫下拉菜單時,我可以看到該倉庫的庫存;然而,當我選擇特定產品時,我什麼都看不到。Php中的下拉列表沒有提供正確的值
非常感謝!
function ViewWarehouseItems()
{
?>
<div class="navigation">
<h2> View the Inventory</h2>
</div>
<p>Select a Warehouse Location</p>
<script>
function get_Items(value)
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("table").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getitems.php?id="+value,true);
xmlhttp.send();
}
</script>
<form>
<select name='warehouse_location' onchange="get_Items(this.value)">
<option value='0'>..Select..</option>
<?php
$sql="SELECT * from warehouses";
$result=$this->connection_string->query($sql);
while ($row = $result->fetch_assoc())
{
$warehouse_id=$row['warehouse_id'];
$warehouse_location=$row['warehouse_location'];
?>
<option value="<?php echo $warehouse_id; ?>"><?php echo $warehouse_location; ?></option>
<?php
}
?>
</select>
</form>
<p>Select an Item</p>
<form>
<select name='item_name' onchange="get_Items(this.value)">
<option value='0'>..Select an item..</option>
<?php
$sql="SELECT * from items";
$result=$this->connection_string->query($sql);
while ($row = $result->fetch_assoc())
{
$item_id=$row['item_id'];
$item_name=$row['item_name'];
?>
<option value="<?php echo $item_id; ?>"><?php echo $item_name; ?></option>
<?php
}
?>
</select>
</form>
<?php echo "<br>"."<br>" ?>
<div id="table"></div>
<?php
}
這是我在上面的函數中使用的另一個php文件。
<!DOCTYPE html>
<html>
<body>
<?php
$id = intval($_GET['id']);
echo $id;
include_once "dbConnect.php";
include_once "items.php";
include_once "warehouse.php";
$sql="SELECT * FROM items WHERE warehouse_id = $id";
$result = mysqli_query($conn,$sql);
?>
<div class="forum_header">
<div class="item_topics_header">Warehouse ID</div>
<div class="item_topics_header">Warehouse Location</div>
<div class="item_topics_header">Item ID</div>
<div class="item_topics_header">Item Name</div>
<div class="item_topics_header">Inventory</div>
</div>
<?php
$item_obj=new Items($conn);
$warehouse_obj=new Warehouse($conn);
while($row = mysqli_fetch_array($result)) {
$warehouse_id=$row['warehouse_id'];
//$warehouse_location=$row['warehouse_location'];
$wl=$warehouse_obj->GetWarehouseLocation($warehouse_id);
$item_id=$row['item_id'];
$i=$item_obj->GetItemName($item_id);
//$item_name=$row['item_name'];
$item_quantity=$row['item_quantity'];
?>
<div class="forum_lines">
<div class="item_replies_header"><?php echo $warehouse_id; ?></div>
<div class="item_replies_header"><?php echo $wl; ?></div>
<div class="item_replies_header"><?php echo $item_id; ?></div>
<div class="item_replies_header"><?php echo $i; ?></div>
<div class="item_replies_header"><?php echo $item_quantity; ?></div>
</div>
<?php
}
mysqli_close($conn);
?>
</body>
您可能想要檢查選擇值是否正確傳遞。有時你需要使用 this.options [this.selectedIndex] .value 還要向mysql查詢添加一些錯誤檢查,看它是否被正確執行。如果直接打開getitems.php?id = 1,會發生什麼情況? –