2017-08-11 27 views
-1

這是我的代碼 我創建了一個表格來保存數據庫中的行第一次我在數據庫中添加5條記錄,然後我想輸入3或4個空白行,然後我想添加5或6行,他們必須從我的第一個counsellor開始,像現在他們從6開始。第一次輸入5輸入然後輸入4空行rows.now如果我輸入3現在行應該從6到8開始在數據庫中

<form action="" method="post"> 
    <input type="text" class="form-control-own" id="row_id" name="row_id"> 
    <input type="text" class="form-control-own" id="row" name="row"> 
    <input type="submit" name="submit1" id="submit1" value="Save"> 
    </form> 

這是PHP代碼

if(isset($_POST['submit1'])) { 
$RowId=$_POST['row_id']; 
$Rows=$_POST['row']; 
for($i = 1; $i <= $Rows; $i++) 
    { 
    $insert = mysqli_query($con,"INSERT INTO table1(rowId,rows)VALUES('".$RowId."','".$i."')"); 
echo "<h1> Saved</h1>"; 
    } 
} 
+1

對不起,但我不明白你爲什麼想這樣做(這看起來不合邏輯)。你能解釋一下你爲什麼要這樣做嗎? – Neodan

+1

@Neodan先生。我在反手座椅選擇項目上工作,我需要添加可用的座位,然後一些空白的行,然後再次可用的座位。我們無法將空行作爲座位數。因此,我需要使用此類查詢 – krish

+0

研究'mysqli prepared statements'是因爲您的查詢看起來不安全。用空的數據行填滿數據庫不是好習慣。 – mickmackusa

回答

1

如果要使用標準的表單字段作爲用戶界面,我可能會用一個多選框,列出A1,A2,A3... B1,B2... etc去這將使UX非常簡單直觀,特別是在選擇連續的相鄰座位時。

另外,你會真的很喜歡你的界面,以奠定the seat map from your other question和一系列巧妙定位的複選框。在跨設備和瀏覽器進行設計時,這需要更謹慎的開發。

如果您不得不面對諸如「保留」和「付費」之類的座位狀態,您將不得不另外考慮。否則,您應該對座位進行簡單處理爲「不可用」 - 因爲數據庫表中有一行匹配EventID & SeatID;或「Available」(可用) - 因爲沒有與特定EventID & SeatID匹配的行。

我真的沒有看到在數據庫中將Row LetterSeat Number中分離出來的好處。如果它以任何方式幫助你將它們分開,那很好。我想我在桌上只有兩個主鍵:EventIDSeatIDSeatID將是一個字母,後跟(可選零填充)數字。例如:

  • 如果你有每行少於10個席位:A1A2, ... B1` ...
  • 如果你有每行不到100個座位:A01A02,...... B01。 ..

通過給每個座位一個唯一的ID,您可以避免使用空行膨脹數據庫以「定位」可用和不可用座位的要求。

即使您在每行中的座位之間存在差距,但從數據庫設計的角度來看,這並不重要。只分配SeatIDs,一切都應該變得更容易編程。

相關問題