使用jquery和ajax调用一个php文件加载数据到多个div
Using jquery and ajax to call a php file to load data into multiple divs
感谢您点击这个问题,我正在尝试添加一个新功能,每当我点击一个按钮时,它都会将多行项目加载到 div。
这是我的 div
代码
<div id="add_items_row"></div>
这是按钮
<div class="col-sm-2 add_items">
<button
type="button" id="add_items" name="add_items" class="btn btn-primary"
onclick="add_items()"> <?php echo $add_items_btn; ?>
</button>
</div>
这是函数
function add_items() {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
txt = xmlhttp.responseText;
$(txt).clone().prependTo( "#add_items_row");
}
}
xmlhttp.open("GET", "../php/add_items.php");
xmlhttp.send();
}
这是我的 add_items.php 文件中的代码
$sql = mysqli_query($conn, "SELECT id, item_name, item_qty FROM inventory WHERE active = 1");
while($row = mysqli_fetch_array($sql)){
$item_id = $row['id'];
$item_name = $row['item_name'];
$item_qty = $row['item_qty'];
}
$display_row = '
<div class="col-md-4">
<input type="hidden" class="small form-control" name="item_id[]" value="'.$item_id .'">
<input type="text" class="small form-control" name="item_name[] readonly value="'.$item_name .'">
<input type="text" class="small form-control" name="item_qty[] readonly value="'.$item_qty .'">
</div>
';
echo $display_row;
SQL 语句在我的数据库中有效,它 returns 多行,但是在页面本身上它只向 add_items_row div 添加了一项。
此外,当我打开 add_items.php 页面时,它也只显示一项。
我怀疑问题出在我的 add_items.php 文件或函数中。
感谢那些读过我的问题的人,我是编程新手,任何见解或建议都会帮助我。
我将代码更改为此,项目显示出来了。
$sql = mysqli_query($conn, "SELECT id, item_name, item_qty FROM inventory WHERE active = 1");
$display_row = '';
while ($row = mysqli_fetch_array($sql)) {
$item_id = $row['id'];
$item_name = $row['item_name'];
$item_qty = $row['item_qty'];
$display_row .= '
<div class="col-md-4">
<input type="hidden" class="small form-control" name="item_id[]" value="' . $item_id . '">
<input type="text" class="small form-control" name="item_name[] readonly value="' . $item_name . '">
<input type="text" class="small form-control" name="item_qty[] readonly value="' . $item_qty . '">
</div>
';
}
echo $display_row;
感谢您点击这个问题,我正在尝试添加一个新功能,每当我点击一个按钮时,它都会将多行项目加载到 div。
这是我的 div
代码<div id="add_items_row"></div>
这是按钮
<div class="col-sm-2 add_items">
<button
type="button" id="add_items" name="add_items" class="btn btn-primary"
onclick="add_items()"> <?php echo $add_items_btn; ?>
</button>
</div>
这是函数
function add_items() {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
txt = xmlhttp.responseText;
$(txt).clone().prependTo( "#add_items_row");
}
}
xmlhttp.open("GET", "../php/add_items.php");
xmlhttp.send();
}
这是我的 add_items.php 文件中的代码
$sql = mysqli_query($conn, "SELECT id, item_name, item_qty FROM inventory WHERE active = 1");
while($row = mysqli_fetch_array($sql)){
$item_id = $row['id'];
$item_name = $row['item_name'];
$item_qty = $row['item_qty'];
}
$display_row = '
<div class="col-md-4">
<input type="hidden" class="small form-control" name="item_id[]" value="'.$item_id .'">
<input type="text" class="small form-control" name="item_name[] readonly value="'.$item_name .'">
<input type="text" class="small form-control" name="item_qty[] readonly value="'.$item_qty .'">
</div>
';
echo $display_row;
SQL 语句在我的数据库中有效,它 returns 多行,但是在页面本身上它只向 add_items_row div 添加了一项。
此外,当我打开 add_items.php 页面时,它也只显示一项。
我怀疑问题出在我的 add_items.php 文件或函数中。 感谢那些读过我的问题的人,我是编程新手,任何见解或建议都会帮助我。
我将代码更改为此,项目显示出来了。
$sql = mysqli_query($conn, "SELECT id, item_name, item_qty FROM inventory WHERE active = 1");
$display_row = '';
while ($row = mysqli_fetch_array($sql)) {
$item_id = $row['id'];
$item_name = $row['item_name'];
$item_qty = $row['item_qty'];
$display_row .= '
<div class="col-md-4">
<input type="hidden" class="small form-control" name="item_id[]" value="' . $item_id . '">
<input type="text" class="small form-control" name="item_name[] readonly value="' . $item_name . '">
<input type="text" class="small form-control" name="item_qty[] readonly value="' . $item_qty . '">
</div>
';
}
echo $display_row;