Как правильно задать условие измения статуса заказа?

Рейтинг: 0Ответов: 0Опубликовано: 07.06.2023

Недавно только начала изучать основы PHP, да и разработку сайта в целом. Не могу разобраться как правильно задать условие. У меня есть таблица с заказами order_info. В данной таблице есть столбец для статуса заказа status_id. Так вот, мне нужно чтобы пользователь мог изменить свой статус заказа, если только status id = 7 ("Готов к выдаче") на значение 8 ("Получен"). Как правильно мне написать это условие и впихнуть в свой код?

<?
$connect=mysqli_connect('localhost','root','','cosm');  
$sql=mysqli_query($connect,"select * from order_info");  
if (isset($_GET['o_id']) && isset($_GET['status_id'])) {  
     $o_id=$_GET['o_id'];  
     $status_id=$_GET['status_id'];  
     mysqli_query($connect,"update order_info set status_id='$status_id' where o_id='$o_id'");  
     header("location:user_order.php"); 
     die();  
}  
?>
 <table border="1" align="center" class = "table">
       <tr>
           <th align="center" width="10%">Номер заказа</th>
           <th align="center" width="10%">Статус заказа</th>
           <th align="center" width="10%">Действие</th>
       </tr>
<?php
       $servername = "localhost";
       $username = "root";
       $password = "";
       $dbname = "cosm";


                // Создаем соединение
       $connect = mysqli_connect($servername, $username, $password, $dbname);

       // Check connection
       if (mysqli_connect_errno()){
           echo "Failed to connect to MySQL: " . mysqli_connect_error();
       }

    $u_id = $_COOKIE['u_id'];
    $_SESSION['u_id'] = $row['u_id'];
   $sql= "SELECT * FROM order_info LEFT JOIN status_info ON order_info.status_id = status_info.status_id WHERE u_id='$u_id'";
     $result=mysqli_query($connect,$sql);//result is a PHP array

       $num_rows=mysqli_num_rows($result);
           
$i=0;
       while ($row = mysqli_fetch_assoc($result)){
           $o_id=$row["o_id"];
           $status_id=$row["name"];

echo "<tr>";
           echo "<td align='center'>".$o_id."</td>";
           echo "<td align='center'>".$status_id."</td>";
            ?>
            <td>  
                          <select onchange="status_update(this.options[this.selectedIndex].value,'<?php echo $row['o_id'] ?>')">  
                            <option value="">Изменить статус</option> 
                               <option value="8">Получено</option>
                      </td>
            <?php
           echo "</tr>";
           $i++;
           
       }
       mysqli_close($connect);
   ?>
   
   </table>
   <br><br>
 
<script type="text/javascript">  
     function status_update(value,o_id){  
          //alert(id);  
          let url = "http://brancy/downloadable-files/brancy-html/user_order.php"; 
           window.location.href= url+"?o_id="+o_id+"&status_id="+value;   
     }  
</script>  

Ответы

Ответов пока нет.