Модальный внутри PHP цикла while с удалением и редактированием возвращает только билет 1-й строки - PullRequest
0 голосов
/ 23 мая 2018

Я показываю билеты и использовал цикл while для отображения каждого на столе.Кнопка редактирования работает нормально для каждого цикла, однако для кнопки удаления я не могу передать значение тикета, который я специально хочу удалить.Функция работает следующим образом: после нажатия кнопки удаления она перейдет к модальному режиму для подтверждения удаления, но всегда удаляет 1-ю строку.Мне нужно получить конкретное значение билета для передачи в deleteconfirm.php Ниже приведен код, который я использовал.

 $stats = $_REQUEST['stats'];
 $query20 ="SELECT * FROM user WHERE status='$stats' ORDER BY date_received 
 DESC";

 $result2 = mysqli_query($datalog,$query20);

      while( $row = mysqli_fetch_assoc( $result2 ) ){ 


        if($row['task5']!=''){

          $tasks = $row['task'].'/'.$row['task1'].'/'.$row['task2'].'/'.$row['task3'].'/'.$row['task4'].'/'.$row['task5'];
        }
          elseif($row['task4']!=''){

          $tasks = $row['task'].'/'.$row['task1'].'/'.$row['task2'].'/'.$row['task3'].'/'.$row['task4'];
        }
             elseif($row['task3']!=''){

          $tasks = $row['task'].'/'.$row['task1'].'/'.$row['task2'].'/'.$row['task3'];
        }
               elseif($row['task2']!=''){

          $tasks = $row['task'].'/'.$row['task1'].'/'.$row['task2'];
        }
                    elseif($row['task1']!=''){

          $tasks = $row['task'].'/'.$row['task1'];
        }
                      elseif($row['task']!=''){

          $tasks = $row['task'];
        }



        echo
        "<tr>

          <td>{$row['ticket']}</td>
          <td>{$row['date_received']}</td>
          <td>{$row['subject']}</td>
          <td>{$row['property']}</td>
          <td>$tasks</td>
          <td>{$row['territory']}</td>
          <td>{$row['loadername']}</td>
          <td>{$row['seniorname']}</td>
          <td>{$row['qaname']}</td>

         <td><a href=editticket.php?supe=".$row['ticket']."  target='_top'> 
         <span class='glyphicon glyphicon-edit'></span></a>
         <button class='open-homeEvents' id='btnPopModal' href='#' data- 
         toggle='modal' data-target='#confirmdelete' data- 
          id=".$row['ticket']." >  <span class='glyphicon glyphicon-trash' 
          style='color:red'></span></button>";

         echo"

          <div class='modal fade' id='confirmdelete' role='dialog'>
             <form method='POST' action='deleteconfirm.php' id='delcon' >

          <div class='form-group'>
           <div class='modal-dialog'>

           <div class='modal-content'>
           <div class='modal-header'>
            <button type='button' class='close' data-dismiss='modal'>&times; 
           </button>
            <h4 class='modal-title'>Confirm Delete</h4>
            </div>

            <div class='modal-body'>
            <p>Are you sure you want to Delete Ticket <b> <input 
      type='hidden' name='eventId' id='eventId'/>
      <span id='idHolder' name='idHolder'></span> 
             </b>?</p>
            <p>If Yes please confirm indicating reason below:</p>

            <p><textarea id='res' name='res' required></textarea></p>
                <input hidden id='delc' name='delc' value=".$row['ticket']." 
           />
            </div>
            <div class='modal-footer'>
            <button class='btn btn-default'  href='#' type='submit' 
           target='_parent'>Yes</button>

            <button type='button' class='btn btn-default' data- 
            dismiss='modal'>No</button>
            </div>

            </div>

            </div>
            </div>
            </div>
            </form>



         </td>
        </tr>\n";} ?>

Ниже приведен код для deleteconfirm.php

<?php

session_start();

require_once('datalog.php');

$delc=$_POST['delc'];
$tak= $_POST['tak']; 
$res=$_POST['res'];





  if(isset($_REQUEST['delc'])&&$_REQUEST['delc']!=''
  &&isset($_SESSION['SESS_USER_NAME'])){


           $tickets=$delc;
           $delid=$_SESSION['SESS_USER_NAME'];
           $query22="SELECT * from memberinfo WHERE username='$delid'";
           $result22=mysqli_query($datalog,$query22);
             while( $row1 = mysqli_fetch_assoc( $result22 ) ){

                $delby=$row1['full_name'];

             }

                $query23="SELECT * from user WHERE ticket='$delc'";
           $result23=mysqli_query($datalog,$query23);
            while( $row = mysqli_fetch_assoc( $result23 ) ){
            $subject= $row['subject'];
            $property= $row['property'];
            $country= $row['country'];
            $city= $row['city'];
            $validity= $row['validity'];
            $remarks= $row['remarks'];
            $priority= $row['tagging'];
            $territory= $row['territory'];
            $status= $row['status'];
            $date_received= $row['date_received'];
            $loader= $row['loadername'];
            $senior= $row['seniorname'];
            $qa= $row['qaname'];
           }

           $query1="INSERT INTO deletehistory (iddeleted_by,deleted_by,deletereason,subject,property,task,country,city,validity,remarks,ticket,priority,status,date_received,loader,qa,senior,territory) values ('".$delid."','".$delby."','".$res."','".$subject."','".$property."','".$tak."','".$country."','".$city."','".$validity."','".$remarks."','".$delc."','".$priority."','".$status."','".$date_received."','".$loader."','".$qa."','".$senior."','".$territory."')";
           $result1=mysqli_query($datalog,$query1);



        }  


            $query4="DELETE FROM user WHERE ticket='$delc' ";
          $result4=mysqli_query($datalog,$query4);
            header("location: delete.php");
?> 

Надеюсь, что кто-то может просветить меня об этом, заранее спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете использовать данные в теге кнопки удаления, например здесь

<button class='open-homeEvents' id='btnPopModal' href='#' data- 
         toggle='modal' data-target='#confirmdelete' data- 
          whatever="$row['ticket']" >

И использовать jquery js для получения данных в модальном

   <script type="text/javascript">    
         $('#confirmdelete').on('show.bs.modal', function (event) {
          var button = $(event.relatedTarget); // Button that triggered the modal
          var recipient = button.data('whatever'); // Extract info from data-* attributes
          // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
          // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
          var modal = $(this);
          modal.find('#eventId').val(recipient);

    })
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...