如何解决如何在 html 中使用 select 标签来选择特定的 sqlite3 查询与 php?
我尝试过的是使用 if 语句和 switch 语句,但它仍然无法正常工作,因为它进入默认值:“出错了”,我已经编码了,但我不确定出了什么问题
<form action="index.PHP" method="post" id="formSelect">
<div id="chosen">
<label for="pkCountry" class="blue">Choose a country:</label>
<select name="chooseCountry" id="choose">
<option value="start">select...</option>
<option value="Australia">Australia</option>
<option value="India">India</option>
<option value="Pakistan">Pakistan</option>
<option value="England">England</option>
<option value="South Africa">South Africa</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Bangladesh">Bangladesh</option>
<option value="West Indies">West Indies</option>
</select>
<?PHP
$db = new sqlite3('cricket.db');
if (!$db) {
echo $db->lastErrorMsg();
}
else {
switch (isset($_POST['formCountry'])){
case 'India':
$command = $db->query("SELECT * FROM batsman WHERE country = 'India';");
$db->exec($command);
break;
case 'Australia':
$command1 = $db->query("SELECT * FROM batsman WHERE country = 'Australia';");
$db->exec($command1);
break;
case 'England':
$command2 = $db->query("SELECT * FROM batsman WHERE country = 'England';");
$db->exec($command2);
break;
case 'Pakistan':
$command3 = $db->query("SELECT * FROM batsman WHERE country = 'Pakistan';");
$db->exec($command3);
break;
case 'Bangladesh':
$command4 = $db->query("SELECT * FROM batsman WHERE country = 'Bangladesh';");
$db->exec($command4);
break;
case 'Sri Lanka' :
$command5 = $db->query("SELECT * FROM batsman WHERE country = 'Sri Lanka';");
$db->exec($command5);
break;
case 'South Africa':
$command6 = $db->query("SELECT * FROM batsman WHERE country = 'South Africa';");
$db->exec($command6);
break;
case 'West Indies':
$command7 = $db->query("SELECT * FROM batsman WHERE country = 'West Indies';");
$db->exec($command7);
break;
default:
echo "<br>something went wrong</br>";
$db->close();
}
}
?>
解决方法
您在寻找chooseCountry
时选择的名称是$_POST['formCountry']
您应该将您的开关更新为
switch ($_POST['chooseCountry']){
此外,isset
函数仅返回布尔值、true
或 false
。您不能在交换机中使用它。如果想避免警告,需要在switch前加一个if
if(isset($_POST['chooseCountry'])) {
switch ($_POST['chooseCountry']){
// CODE
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。