Samuel John Paul Santos Samuel John Paul Santos - 4 months ago 8
SQL Question

Add an Accept and Decline Button on every Row

I'm trying to add a button on every row which I already did. When I click update which updates a certain field on the database it doesn't work. When the button is clicked it's redirected to the approve.php file.

<?php
$con=mysqli_connect("localhost","root","","rabco");// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM service_request");


echo "<table border='1'>
<tr>
<th>Service ID</th>
<th>Service Type</th>
<th>Schuduled Date</th>
<th>Scheduled Time</th>
<th>Client Reference
<th>Client ID</th>
<th>Admin ID</th>
<th>Special Instructions</th>
<th>Status</th>
<th>Approve</th>
<th>Decline</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Service_ID'] . "</td>";
echo "<td>" . $row['Service_type'] . "</td>";
echo "<td>" . $row['Sched_date'] . "</td>";
echo "<td>" . $row['Sched_time'] . "</td>";
echo "<td>" . $row['Client_reference'] . "</td>";
echo "<td>" . $row['Client_IDN'] . "</td>";
echo "<td>" . $row['Admin_IDN'] . "</td>";
echo "<td>" . $row['Special_instructions'] . "</td>";
echo "<td>" . $row['Request_status'] . "</td>";
echo "<td><form action='approve.php' method='POST'> <input type='hidden' name='accept' value='".$row["Service_ID"]."'/><input type='submit' name='submit' value='Approve'/></form></td>";
echo "<td><form action='decline.php' method='POST'><input type='hidden' name='decline' value='".$row["Service_ID"]."'/><input type='submit' name='submit' value='Decline'/></form></td>";
}
echo "</tr>";
echo "</table>";

mysqli_close($con);
?>



approve.php
<?php
$link = mysqli_connect("localhost", "root", "", "rabco");
if(isset($_GET["Service_ID"]))
{
$row_sr=$_GET["Service_ID"];
$sql="UPDATE service_request SET Request_status = 'Approved', Admin_IDN = '$_SESSION[Admin_ID]', Paid = 'Php 17,500', Balance = 'Php 32,500', Total_price = 'Php 50,000' WHERE Service_ID = '$row_sr'";
$result=mysqli_query($sql);
mysqli_query($link,$result);
if($result==1)
{
header('location: adminpage-sr.php');
}
}
?>

Answer

You are using method POST on your main file but in approve php you use $_GET ??

according to your approve.php file, you can change your button to :

"<td><a href='approve.php?Service_ID='.$row["Service_ID"].">Approve</a></td>"