2011-12-01 4 views
0

私はテーブル予約から最新の追加bookingIDを取得しようとしますが、取得方法はわかりません。 シナリオ:ユーザが「送信」ボタンをクリックすると、mysqlクエリはparentBookIDを生成し、userID、eventIDをテーブル予約に格納します。このクエリは作成されたparentBookIDをtableDetailテーブルに挿入し、複数の予約を行い、同じparentBookIDを持つテーブルbookingDetail。php/mysqlのテーブルから最新の行を取り出す方法は?

問題は、現在の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>.'; 
} 

?> 
+0

を望むものを手に入れるのid DESC(SQL言語)で最大()または順序を使用することができます。 http://stackoverflow.com/search?q=php+mysql_insert_id –

+0

[最終インサートIDの選択](http://stackoverflow.com/questions/2266604/select-last-insert-id) –

答えて

1

あなたはbookingAUTO_INCREMENT列を持っていると仮定すると、あなたはそれを得るためにmysql_insert_id();を使用することができます。

+0

適用方法このmysql_insert_id()?私はいくつかのサンプルを読んだが、私は自分のコーディングでそれを適用する方法をしていない。 – mcheng

+0

'$ parentBookID = mysql_insert_id();のようなIDを取得する'予約 'に行を挿入した後、 – rabusmar

0

あなたは、IDやタイムスタンプなどの列を設定することができ、あなたは、あなたが `)(`にmysql_insert_idを呼び出す必要が

関連する問題