2016-04-15 47 views
0

我在PHP中很新,因此我一直無法弄清楚如何根據我們選擇的複選框運行不同的代碼片段。所以我會請求你的幫助。根據PHP中複選框的選擇運行不同的代碼

在我的第一頁中,我有2個複選框,它們是從mySQL數據庫填充的值。這兩個值取自一個名爲「校園」的數據庫表。這是第一個頁面的代碼:

<html> 
<body> 

<form action="functions_two.php" method="POST"> 

<div id="collegelane">College Lane campus:</div> 

<?php 

// to connect to database 
require("user_connection.php"); 

$q = mysqli_query($connect, "SELECT * FROM `campus`"); 
    while ($line = mysqli_fetch_assoc($q)) { 
    echo '<input type="checkbox" name="car" 
      value="'.$line['room'].'">'.$line['room'].'</br>'; 
    } 

?> 

</br> 
</br> 

<input type="submit" name="next" Value="next"/> 
</form> 

</body> 
</html> 

這是代碼的輸出上面 https://i.imgur.com/SEecNuL.png

現在,你可以看到它有兩個複選框值「C450」和「E300」。當我選擇這兩個值中的任何一個時,它會將我帶到第二頁,其中值被回顯出來。但是,我想要它的回聲是根據我所做的選擇的另一段代碼。

說如果我選擇「C450」我希望它運行下面這段代碼,它可以創建從名爲C450的數據庫表中的值另一個複選框,我已經創建了:如果我選擇

<form action="final_page.php" method="POST"> 

<?php 

// to connect to database 
require("user_connection.php"); 

// checkbox populated with values from database 
$r = mysqli_query($connect, "SELECT * FROM `C450`"); 
    while ($line = mysqli_fetch_assoc($r)) { 
    echo '<input type="checkbox" name="bike" 
      value="'.$line['computer_no'].'"><label>'.$line['computer_no'].'</label></br>'; 
    } 

?> 

</br> 

<input type="submit" name="next" Value="next"/> 
</form> 

</body> 
</html> 

然而, 「E300」我希望它運行下面的代碼,這也創建了其值來自數據庫表E300的複選框。

<form action="final_page.php" method="POST"> 

<?php 

// to connect to database 
require("user_connection.php"); 

// checkbox populated with values from database 
$s = mysqli_query($connect, "SELECT * FROM `E300`"); 
    while ($line = mysqli_fetch_assoc($s)) { 
    echo '<input type="checkbox" name="bike" 
      value="'.$line['computer_no'].'"><label>'.$line['computer_no'].'</label></br>'; 
    } 

?> 

</br> 

<input type="submit" name="next" Value="next"/> 
</form> 

</body> 
</html> 
+0

看.php) – RiggsFolly

回答

0

在`if` [手冊中(http://php.net/manual/en/control-structures.if使用下面的條件,如果在你的第二頁

// checks for the post method 
if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
$checked_value = $_POST['car']; // replace car to what ever it is in html form 
} 

// checkbox populated with values from database 
$s = mysqli_query($connect, "SELECT * FROM {$checked_value}"); 
+0

會發生什麼'if($ _SERVER ['REQUEST_METHOD']!=='POST'){' – RiggsFolly

+0

查詢將失敗,因爲$ checked_value將會是未定義的,我已經看到很多類似你的代碼 – RiggsFolly

相關問題