我提前感谢您的回复。
我有几页我正在处理的订单,但我确信修复一个会为我提供足够的知识来修复其他订单。在这种情况下,我会向您展示daytasks.php
部分。基本上,我可以对第一行进行功能更改,但不能修改第二行,第三行等。使用功能按钮不会对这些行执行任何操作。 daytasks.php
调用fetchdaytasks.php
来获取基于日期的信息,该日期要求./functions/additions.js
执行Javascript,Javascript调用函数相应的脚本来执行请求的操作。
e.g。我有两个订单,每个订单都在各自的<tr>
中,我可以修改第一行,即带有任何功能的ID#28
,但是第二行,ID#35
我无法修改,它根本不会做任何改动。
daytasks.php
<div class="form-group">
<br />
<center>
<div class="input-group">
<input type="date" id="search_text" name="search_text" />
</div>
<div id="result"></div>
</center>
</div>
fetchdaytasks.php
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$id=$row['id'];
$orderdate=$row['date'];
$order=$row['order'];
$status=$row['status'];
echo "
<td><center>$id</center></td>
<td><center>$orderdate</center></td>
<td><center>$order</center></td>
<td><center>$status</center></td>
<form>
<td><center><button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button> <button type='button' name='btn_unship' id='btn_unship' class='btn btn-xs btn-danger btn_delete'>UNSHIP</button> <button type='button' name='btn_bo' id='btn_bo' class='btn btn-xs btn-danger btn_delete'>BACKORDER</button> <button type='button' name='btn_fbo' id='btn_fbo' class='btn btn-xs btn-danger btn_delete'>FBO</button><br />
<button type='button' name='btn_cancel' id='btn_cancel' class='btn btn-xs btn-danger btn_delete'>CANCEL</button> <button type='button' name='btn_return' id='btn_return' class='btn btn-xs btn-danger btn_delete'>RETURN</button> <button type='button' name='btn_dam' id='btn_dam' class='btn btn-xs btn-danger btn_delete'>DAMAGED</button> <button type='button' name='btn_lost' id='btn_lost' class='btn btn-xs btn-danger btn_delete'>LOST</button></td>
</form>
</tr>
";
}
}
else
{
echo "No Orders For This Date";
}
additions.js
$("#btn_ship").click(function(){
var changeid = $( this ).data('id');
var myData={"changeid":changeid};
$.ajax({
url : "./functions/shiporder.php",
type: "POST",
data : myData,
success: function(data,status,xhr)
{
$("#status_text").html(data);
$('#changeid').val();
}
});
});
./functions/shiporder.php
<?php
include_once('/home/brandina/public_html/eldis/config/config.php');
$changeid = $_POST['changeid'];
if(mysqli_query($connect, "UPDATE `orders` SET `status`='SHIP' WHERE `id`='$changeid'"))
?>
答案 0 :(得分:1)
看起来您在循环中打印出带有按钮的订单行,但按钮都具有相同的id
,而HTML元素在页面中必须有unique IDs一个人:
<button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button>
然后你通过jQuery附加一个on-click处理程序,但你定位id btn_ship
,所以它只被附加到该元素的第一个实例(第一行),所以它只适用于之一:
$("#btn_ship").click(function(){
我建议您通过在$id
的while循环中将fetchdaytasks.php
附加到<button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button>
,而不是打印出来来使ID唯一:
<button type='button' name='btn_ship' id='btn_ship_$id' class='btn btn-xs btn-success' data-id='$id'>SHIP</button>
additions.js
和use the common name
element按钮用于将点击处理程序附加到$("#btn_ship").click(function(){
中的每个处理程序,因此代替:
$('input[name="btn_ship"]').click(function(e) {
做的:
dplyr::recode