2017-01-18 3 views
0

Я делаю систему управления отпусками, используя PhP-Mysql.Изменение данных столбца таблицы при нажатии кнопки

У меня есть таблица, в которой пользователь вводит данные от своих пользователей. (имя, leavetype, fromdate, todate, руководитель, причина и статус). Только столбец статуса имеет предопределенное значение «Ожидание».

Теперь я хочу ввести две кнопки (Accept/Reject) для каждой строки. Которая на клике изменит значение для поля «Статус».

Я не уверен, как это сделать, я пробовал обновлять столбец таблицы, но он обновляется, только если есть Условие, которое не будет правильной процедурой для такого случая.

<div id="content"> 
<?php 
$connect = new mysqli("127.0.0.1","root","","leavedb"); 
$sql = "SELECT 
name, 
leavetype, 
fromdate, 
todate, 
supervisor, 
reason, 
DATEDIFF(todate,fromdate) as Days, 
status as Status 
FROM leavereq"; 
$result = $connect->query($sql);  
?> 

<table id="myTable"> 
    <tr>             
     <th>Name</th> 
     <th>Leave Type</th> 
     <th>From Date</th> 
     <th>To Date</th> 
     <th>Supervisor</th> 
     <th>Reason</th> 
     <th>No. of Days</th> 
     <th>Status</th> 
    </tr>         

    <?php 
     while ($report=$result->fetch_assoc()) 
     {         
     echo "<tr>"; 
     echo "<td>".$report['name']."</td>"; 
     echo "<td>".$report['leavetype']."</td>"; 
     echo "<td>".$report['fromdate']."</td>"; 
     echo "<td>".$report['todate']."</td>"; 
     echo "<td>".$report['supervisor']."</td>"; 
     echo "<td>".$report['reason']."</td>"; 
     echo "<td>".$report['Days']."</td>"; 
     echo "<td>".$report['Status']."</td>"; 
     echo "<td>" . '<input type="submit" name="approve" value="Approve">' . "</td>"; 
     echo "<td>" . '<input type="submit" name="reject" value="Reject">' . "</td>";         
     } 
    ?> 
</table> 
</div> 

ответ

1
//In the html : You have to add unique id for every <td> of status & also wants to change the input type of approve & reject...also require javascript 
// check below 
<script> 
function function_name(status_id,req) 
{ 
var status; 
status='status'+status_id; 
if(req=='approve') 
{ 
document.getElementById(status).innerHTML='approve'; 
//pass ajax call to update entry in db 
} 
else if(req=='reject') 
{ 
document.getElementById(status).innerHTML='reject'; 
//pass ajax call to update entry in db 
} 
</script> 

<table id="myTable"> 
    <tr>             
     <th>Name</th> 
     <th>Leave Type</th> 
     <th>From Date</th> 
     <th>To Date</th> 
     <th>Supervisor</th> 
     <th>Reason</th> 
     <th>No. of Days</th> 
     <th>Status</th> 
    </tr>         

    <?php 
$i=0; 
     while ($report=$result->fetch_assoc()) 
     {         
     echo "<tr>"; 
     echo "<td>".$report['name']."</td>"; 
     echo "<td>".$report['leavetype']."</td>"; 
     echo "<td>".$report['fromdate']."</td>"; 
     echo "<td>".$report['todate']."</td>"; 
     echo "<td>".$report['supervisor']."</td>"; 
     echo "<td>".$report['reason']."</td>"; 
     echo "<td>".$report['Days']."</td>"; 
     echo "<td id='status$i'>pending</td>"; 
     echo "<td>" . '<button type="button" name="approve"'.$i.' onClick="return function_name($i,approve);">Approve</button>' . "</td>"; 
     echo "<td>" . '<button type="button" name="reject"'.$i.' onClick="return function_name($i,reject);">Reject</button>' . "</td>"; 
     $i++;        
     } 
    ?> 
</table> 
+0

Не работает. Один столбец добавления показывает с предопределенным значением «ожидающий». Но ничего не происходит после нажатия кнопки «Принять/Отклонить» –

+0

, откуда получает значение «status_id»? –

+0

Его динамическое создание status_id ... проверить код в деталях ...: Ожидает ... После этого, если вы его не получите ... тогда я уверен, что вы не делать никаких поисков ... – pAsh

Смежные вопросы