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中。 –