Как получить последнюю строку из таблицы в php / mysql? - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь получить последний добавленный идентификатор бронирования из таблицы бронирования, но я не знаю, как его получить.Сценарий: когда пользователь нажимает кнопку «отправить», запрос mysql сгенерирует parentBookID и сохранит userID, eventID в таблице бронирования. Затем запрос получит созданный parentBookID для вставки в таблицу bookingDetail, пользователь сделает несколько бронирований, и эти данные будут сохранены вbooking tableDetail с тем же parentID.

Проблема в том, что я не знаю, как получить текущий parentBookID для хранения в таблице bookingDetail от бронирования таблицы.

<?php

session_start();


if ( !isset($_SESSION['AUTHORIZED_USERNAME']) || empty($_SESSION['AUTHORIZED_USERNAME']) )  {
header("location:index.php");
}else{
$user=$_SESSION['AUTHORIZED_USERNAME'];
$userID= $_SESSION['AUTHORIZED_CUSTNO'];
$event=$_SESSION['EVENT_ID'];
 include('db.php');

 //check submitted totalDay
 if (isset($_POST['submit']) && isset($_POST['totalDay'])) {


//insert parentBookingID
$parent=mysql_query("INSERT into booking (custNo, eventID,dateBook) VALUES ('$userID','$event',NOW())");

//no logic
$queryParent="SELECT parentBookID from booking where custNo='$userID' and eventID='$event'";
$queryParentResult=mysql_query($queryParent);
while($parentBook = mysql_fetch_array($queryParentResult)){
    $parentBookID=$parentBook['parentBookID'];

$totalDay=$_POST['totalDay'];
$allBooth="";


foreach ($totalDay as $d) {

    echo $d;

    $bookingInfo  = $d;
    $bookingInfo = explode(" ", $bookingInfo);
    echo $bookingInfo[0]; // boothAlias
    echo $bookingInfo[1]; // boothID
    echo $bookingInfo[2]; // day



    $result = mysql_query("SELECT * FROM bookingDetail WHERE boothID='$bookingInfo[1]' and day='$bookingInfo[2]' and username='$user'");

    $num_rows = mysql_num_rows($result);

        if ($num_rows) {
            echo "Exist";
        }else{

    $str = "INSERT INTO bookingDetail (username, custNo, eventID, date, day, boothAlias, boothID, parentBookID) VALUES ('$user', '$userID','$event',NOW(),'$bookingInfo[2]','$bookingInfo[0]','$bookingInfo[1]','$parentBookID');";
    $res = mysql_query($str);

    if($res)
            echo 'Success';
    else
            echo 'Failure';

    $allBooth= substr($allBooth, 0, -2); 

echo "<p>Booth(s): <strong>$allBooth</strong>&nbsp;<strong>$user</strong>&nbsp;<strong>$event</strong><strong>$userID</strong></p>\r\n";

    }
}
    }

    header("refresh:5;url=mybooking.php");
echo "<img src='loading16.gif' style='margin-top:8px; float:left'/>";
echo 'You\'ll be redirected in about 5 secs. If not, click <a href="mybooking.php">here</a>.';  

}else{

echo "You do not make any booking";
    header("refresh:5;url=booking2.php");
    echo "<img src='loading16.gif' style='margin-top:8px; float:left'/>";
    echo 'You\'ll be redirected in about 5 secs. If not, click <a href="booking2.php">here</a>.';   
}

?>

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Если у вас есть AUTO_INCREMENT столбец в booking, вы можете использовать mysql_insert_id();, чтобы получить его.

0 голосов
/ 01 декабря 2011

вы можете установить столбец, такой как id или timestamp, чтобы вы могли использовать max () или order by id desc (язык SQL), чтобы получить то, что вы хотите

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