добавление 2 номера из базы данных - PullRequest
0 голосов
/ 15 января 2019

Привет, мне нужна помощь с моим кодом.
это мой sql код

session_start();
$User = $_SESSION['username'];
include './auth.php';
$result = mysqli_query($conn,"Select * from booking where 
booking_id=".$_SESSION['booking']."");
if( mysqli_num_rows($result) >0){
    while ($rows = mysqli_fetch_array($result)){
    $q = mysqli_query($conn,"SELECT roombook.totalroombook AS total, room.room_name AS name, roombook.total_adult AS adult, roombook.total_children AS children, roombook.rate AS rate, roombook.chrate AS chrate, roombook.sst AS sst, roombook.infant AS infa
                                                            FROM roombook
                                                            LEFT JOIN room ON roombook.room_id = room.room_id
                                                            WHERE roombook.booking_id =".$rows['booking_id'].";");
                                                            echo 
mysqli_error($conn);

В этом разделе мой оригинальный код.

$s=1;
echo"<table>";
echo "                <tr><td><b>Quantity</b></td><td><b> Room Type</b><br> </td><td style=\"width:200px;\"><b>Number Pax </b></td><td><b>Total (RM)</b></td><td><b> sst (6%)(rm)</b></td><td><b> Total After sst(6%)</b></td></tr>";
while($r = mysqli_fetch_array($q)){

echo "                <tr><td>".$r['total']."</td><td><b> ".$r['name']."</b><br> </td><td>".$r['adult']." adult </td><td><b>RM".$r['adult']*$r['rate']."</b></td> <td><b>RM".$r['sst']*6/100 ."</b></td>";
if(isset($r["children"])){
echo "                <tr><td></td><td><b> </b><br> </td><td>".$r['children']."child </td><td><b>RM".$r['children']*$r['chrate']."</b></td><td><b>RM".$r['sst']*6/100 ."</b></td>";
}
if(isset($r["infa"])){
echo "                <tr><td ></td><td><b> </b><br> </td><td>".$r['infa']."Infant </td><td><b>RM".$r['infa']*90 ."</b></td><td><b>RM".$r['sst']*6/100 ."</b></td>";
}


}
echo"                                                       <tr><td style=\"border:none;\"></td><td style=\"border:none;\"></td><td style=\"border:none;\"></td><td style=\"border:none;\"></td>";
echo"                                                           <td style=\"width:100px;\">Total</td>";
echo"                                                           <td  style=\"width:100px;\"> <b>RM".$rows['total_amount']."</b></td>";
echo"                                                       </tr>";
echo"                                                       <tr><td style=\"border:none;\"></td><td style=\"border:none;\"></td><td style=\"border:none;\"><td style=\"border:none;\"></td>";
echo"                                                           <td style=\"width:100px;\">40% Deposit Due</td>";
echo"                                                           <td  style=\"width:100px;\"><b>RM".$rows['deposit']."</b></td>";
echo"                                                       </tr>";

echo"                                                   </table>";

код будет производить это origanal

из этого кода я хочу вычислить число в каждой строке под общим числом столбцов total RM и sst. отобразить в столбце total after sst. (см. изображения предполагают, что черная область - то, где я хочу к значению).

я уже пробовал этот код

$s=1;
echo"<table>";
echo "                <tr><td><b>Quantity</b></td><td><b> Room Type</b><br> </td><td style=\"width:200px;\"><b>Number Pax </b></td><td><b>Total (RM)</b></td><td><b> sst (6%)(rm)</b></td><td><b> Total After sst(6%)</b></td></tr>";
while($r = mysqli_fetch_array($q)){

echo "                <tr><td>".$r['total']."</td><td><b> ".$r['name']."</b><br> </td><td>".$r['adult']." adult </td><td><b>RM".$r['adult']*$r['rate']."</b></td> <td><b>RM".$r['sst']*6/100 ."</b></td> <td><b>RM" .((int)$r['adult'])*((int)$r['rate']) + ((int)$r['sst']) * 6/100 . "</b></td>";
if(isset($r["children"])){
echo "                <tr><td></td><td><b> </b><br> </td><td>".$r['children']."child </td><td><b>RM".$r['children']*$r['chrate']."</b></td><td><b>RM".$r['sst']*6/100 ."</b></td>";
}
if(isset($r["infa"])){
echo "                <tr><td ></td><td><b> </b><br> </td><td>".$r['infa']."Infant </td><td><b>RM".$r['infa']*90 ."</b></td><td><b>RM".$r['sst']*6/100 ."</b></td>";
}


}

после попытки кода я получил изображение ошибки.

Я уже проверил метод (int) для вызова значения из базы данных как целого числа, но из того, что я пробовал, не работает

Мне нужна помощь, как реализовать метод (int) в моем коде.

1 Ответ

0 голосов
/ 15 января 2019

Вы должны поместить в скобки все свои вычисления, прежде чем объединять их со строкой:

echo "                <tr><td>".$r['total']."</td><td><b> ".$r['name']."</b><br> </td><td>".$r['adult']." adult </td><td><b>RM".($r['adult']*$r['rate'])."</b></td> <td><b>RM".($r['sst']*6/100) ."</b></td> <td><b>RM" .( ((int)$r['adult'])*((int)$r['rate']) + ((int)$r['sst']) * 6/100) . "</b></td>"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...