从db获取用户并附加到元素

时间:2016-10-23 10:39:18

标签: javascript php jquery html ajax

这可能是一个简单的问题,但让我忙碌了一小时。

我在表reservations

中有以下脚本生成所有有效预订
require("../includes/connect.php");
function dispAllReservations(){
    $i= 1;
    global $db;
    $date = date('Y-m-d');
    $sql ="SELECT * FROM
        reservations WHERE pickup_date > '$date'";
    $statement = $db->prepare($sql);
    $statement->execute();
    $bookings = $statement->fetchAll();
    $statement->closeCursor();
    echo'<table cellpadding="0" cellspacing="0" class=
     "table-responsive gzblog-table" id="gzhotel-booking-booking-id">
     <thead>
              <tr>
                <th class="date-th">Reservation ID</th>
                <th class="title-th">Car Group</th>
                <th>Pickup Date</th>
                <th>Return Date</th>
                <th>Customer</th>
                <th>Email</th>
                <th>Amount</th>
                <th></th>
                <th></th>
                <th></th>
               </tr>
       </thead>
        <tbody>';
    foreach($bookings as $booking){
        if($i%2 == 0){
            $class = 'odd';
        }
        else{
            $class = 'even';
        }
        echo' <tr class='.$class.'>';
        echo'<td>'.$booking['res_id'].'</td>';
        echo'<td>'.$booking['car_group'].'</td>';
        echo'<td>'.$booking['pickup_date'].'</td>';
        echo'<td>'.$booking['return_date'].'</td>';
        echo'<td>'.$booking['renter_name'].'</td>';
        echo'<td>'.$booking['email'].'</td>';
        echo'<td>AMOUNT HERE</td>';
        echo'<td><a class="btn btn-primary btn-sm fancybox" href="#email">
        <span class="glyphicon glyphicon-envelope"></span></a>
        </td>';
        echo'<td><a class="btn btn-success btn-sm">
        <span class="glyphicon glyphicon-pencil"></span></a>
        </td>';
        echo'<td><a class="btn btn-danger btn-sm icon-delete">
        <span class="glyphicon glyphicon-trash"></span></a>
        </td>';
        echo'</tr>';
    }//foreach
    echo'</tbody>';
    echo'</table>';
   }//function

脚本的输出生成以下内容

enter image description here

我的问题/问题

单击删除按钮时 - 我需要确保删除正确的预约,与编辑按钮相同,如果单击编辑按钮我需要确保编辑正确的用户。

我需要做什么

  • 我猜我需要找到一种方法将循环中每个用户的相应值附加到元素。
  • 我在想一个文本框设置display none,然后回显value属性中的值,但这不起作用......

我真的被困在这里任何建议都会受到赞赏

注意:所有电子邮件都是虚构的

3 个答案:

答案 0 :(得分:1)

试试这个:

<a class="btn btn-primary btn-sm fancybox" href="#email" onclick="onDelete(your-id)">
  <span class="glyphicon glyphicon-trash"></span>
</a>

<a class="btn btn-primary btn-sm fancybox" href="#email" onclick="onEdit(your-id)">
  <span class="glyphicon glyphicon-pencil"></span>
</a>

创建此功能:

<script>
    //Delete function
    function onDelete(id){
        $.ajax({
           // do someting
        });
    }

    // Edit function
    function onEdit(id){
        $.ajax({
           // do someting
        });
    }
</script>

答案 1 :(得分:0)

您根本没有告诉我们您想要如何编辑/删除您的预订,但根据您使用的标签,您可以采用这种方法......

1)在PHP脚本中,在行或单元格上生成数据属性,如下所示:

<tr data-id="put_reservation_id_here">

2)然后使用jQuery将动作挂钩到表中的各个元素:

$('#gzhotel-booking-booking-id').on('click', '.icon-delete', function() {
   var reservationId = $(this).closest('tr').data('id');
   // now you have reservation ID and do whichever AJAX call with it
});

答案 2 :(得分:0)

您可以在html中使用数据属性,然后使用javascript获取数据属性值。

示例:

在你的按钮中:

<a class="btn btn-danger btn-sm icon-delete" data-id="your_Id"><span class="glyphicon glyphicon-trash"></span></a>

将your_Id替换为正确的ID。

然后在onClick事件上使用javascript:

$(this).data('id'); 

这将检索处理操作所需的ID。

希望这有帮助。