0
我需要根據所選單選按鈕從數據庫中選擇一個表格。我認爲這將工作的方式是,1)通過確定在if語句中選擇了哪個單選按鈕併爲其分配一個變量;以及2)將該變量分配給PDO中用於連接的$ dbname(表的變量)。我在嘗試中沒有取得成功,所以我需要知道如何從if語句中獲取變量並在PDO中使用它(或者告訴我更好的解決方案)。使用單選按鈕從數據庫中選擇表格
示例HTML(有三個單選按鈕):
<div id="radio_buttons">
<label for="p_book">Book</label>
<input type="radio" name="p_radio" id="p_book" value="p_book">
<label for="p_article">Article</label>
<input type="radio" name="p_radio" id="p_article" value="p_article">
<label for="journal">Journal</label>
<input type="radio" name="p_radio" id="p_journal" value="p_journal">
</div> <!-- end radiobuttons -->
如何定位在PHP單選按鈕:
if (isset($_POST['edify_button'])) {
if(isset($_POST['p_radio'])) {
$radio_values = $_POST['p_radio'];
if ($radio_values == 'p_book') {
$dbname = 'books'; //this is the name of the table
return $dbname;
}elseif ($radio_values == 'p_article') {
$dbname = 'articles';
return $dbname;
}elseif ($radio_values == 'p_journal') {
$dbname = 'journals';
return $dbname;
}
}else{
echo 'unchecked';
}
}
然後我想,不知何故,得到該變量來計算在PDO中:
function connect($dbname, $servername) {
//$dbname is supposed to be retrieved from the if-statement
$servername = "localhost";
$username = "admin";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
我也試着把if語句放在connect()中,以防connect()沒有從if語句訪問變量:沒有成功。
我在網上搜索了一個像瘋子這樣的信息,但沒有運氣。如果你知道一個涵蓋這些東西的教程,請發佈它。
你不能在'if'語句中使用'return' ,它只是從函數返回一個值。你如何調用你的'connect()'函數? –
爲什麼在函數中設置'$ servername'時,它是一個參數? – Barmar
周杰倫:if語句最初是一個函數,但是返回(但thx的信息,沒有意識到這一點)。 connect()從具有require_once的html文件調用:'filename.php';和一個我創建的變量,它指的是連接($ connect =「connect」;然後調用它:$ connect();)Barman:這是因爲我曾經使用這些參數從php文件中調用函數,像這樣:$ connect(name,server); - 我知道有錯誤,但你們會怎麼做?問題是,從字符串變量(表名)中檢索值並將其添加到PDO中。 –