Получение идентификатора резервирования на основе Table_Id в другой таблице. В этот день SQL-запрос получает уникальные заказы по дате и номеру таблицы. - PullRequest
0 голосов
/ 23 января 2019

Если я запускаю следующий запрос:

//The statement I get with an Empty reservation_ID
$sql = "SELECT O.Res_Datum, O.Res_ID, O.Tafel_Id,O.ReceiptID, SUM(MI.ItemPrice) AS TotalReceiptPrice
FROM Orders AS O INNER JOIN MenuItem AS MI ON O.MenuItemID = MI.MenuItemID
GROUP BY O.Res_Datum, O.Res_ID, O.Tafel_Id  ";

Я должен manually input the reservation_id in my orders table. Как я могу получить booking_id, связанный с таблицей и датой бронирования, из таблицы резервирования в таблицу заказов?

, поэтому мне нужно только ввести номер таблицы, дату и menuItemи мой запрос знает whatservation_id (reservering.Reservering_Id) is related to, что table number (reserveringen.Tafel_Id), что порядок on that date равен related до.

Я пытался запустить left join запрос, но это не сработало.Это вы можете найти в коде commented out.и в файле: bestelling.php

Надеюсь, я проясняю, мне очень трудно объяснить и отредактировать это так много.Я надеюсь, что когда вы запустите файлы, вы получите то, что я говорю.Также извините меня, если мой английский не самый лучший.Я не носитель английского языка.Спасибо.

Это моя база данных:

MenuItem: 
    MenuItemID  int(11)         
    ItemName    varchar(255)        
    ItemPrice   double

orders:
 OrderID    int(11)         
 MenuItemID int(11)         
 ReceiptID  int(11)         
 Res_Datum  date            
 Tafel_Id   int(11)         
 Res_ID     int(11) 


receipt:
ReceiptID       int(11)         
ReceiptPrice    double

reserveringen:  
    Reservering_Id  int(11)         
    Tafel_Id        int(11)         
    VoorNaam        varchar(255)            
    AchterNaam      varchar(255)            
    TelefoonNummer  varchar(255)        
    Email           varchar(255)        
    Res_Datum       date

tafels:
    Tafel_Id        int(11)         
    tafel_Nummer    int(11)         
    Aantal_Personen int(11) 

Bestelling.php:

<form action="/restaurant/maak_bestelling.php" method="POST">
      <h2>Enter Order</h2>

      Table Number:<br>
      <input type="text" name="tafelnummer" value=""><br><br>
      Receipt Id:<br>
      <input type="text" name="receiptid"   value=""><br><br>
      Menu_Item:<br>
      <input type="text" name="menu_item"   value=""><br><br>
      Date: <br>
      <input type="date" name="date"        value=""><br><br>

      <input type="submit" value="Submit">
    </form>

<h2>Pending Orders:</h2>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "restaurant";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

//MY Query i am trying to run
// $sql = "SELECT O.Res_Datum, R.Reservering_Id, O.Tafel_Id,O.ReceiptID, SUM(MI.ItemPrice) AS TotalReceiptPrice
// FROM Orders, Reserveringen AS O INNER JOIN MenuItem AS MI ON O.MenuItemID = MI.MenuItemID
// AS O LEFT JOIN Reservering_Id AS R on O.Reservering_Id = R.reservering_Id
// GROUP BY O.Res_Datum, O.Res_ID, O.Tafel_Id  ";

//The statement I get with an Empty reservation_ID
$sql = "SELECT O.Res_Datum, O.Res_ID, O.Tafel_Id,O.ReceiptID, SUM(MI.ItemPrice) AS TotalReceiptPrice
FROM Orders AS O INNER JOIN MenuItem AS MI ON O.MenuItemID = MI.MenuItemID
GROUP BY O.Res_Datum, O.Res_ID, O.Tafel_Id  ";


$result = $conn->query($sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "Res_datum: ". $row["Res_Datum"]. " ReservationID : " . $row["Res_ID"]. " - Table_Number: " . $row["Tafel_Id"]. " Total Order Price: " . $row["TotalReceiptPrice"]." ". "<br>";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);
?>


</div>

Maak_bestelling.php

<?php


$con = mysqli_connect('localhost','root','');

if(!$con) {
echo 'Not connected with server';
}

if(!mysqli_select_db ($con,'restaurant')) {
echo 'Database Not selected';
}

$tablenumber = $_POST['tafelnummer'];
$receiptid = $_POST['receiptid'];
$menu_item = $_POST['menu_item'];
$date = $_POST['date'];


$sql = "INSERT INTO Orders (orders.Tafel_Id, orders.ReceiptID, orders.MenuItemID,  orders.Res_Datum )
VALUES ('$tablenumber', '$receiptid', '$menu_item', '$date')";

if(!mysqli_query($con,$sql)){
  echo 'insert did not work';
}else {
  echo 'Order created successfully';
}

header("refresh:1; url=bestelling.php");





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