我已经 <select>
将字母填充为值的下拉列表如下
<select name="brand" required="required">
<option value="">Select Brand</option>
<?php foreach (range('A', 'Z') as $letter) {?>
<option value="<?php echo $letter;?>"><?php echo $letter;?></option>
<?php } ?>
</select>
现在我想检查数据库中已经存在的字母表。简单的方法是使用 Ajax
检查, 可以查询 change
如果选定的字母表已存在于数据库中,则函数并设置警报,但仅使用 PHP
即可
第一次获取已存储alphabets
来自数据库
<?php $sql = mysql_query("SELECT * FROM brand");
while($row=mysql_fetch_array($sql)){
$brandalphabet = $row["brandalphabet"];
}
?>
还有字母表;
$letter = range('A', 'Z');
在此之后我完全失去了如何检查哪个字母表退出以及如果根本不存在字母表怎么办,那么如何填充 <select>
仅包含数据库中不存在的字母的下拉列表。
注意: mysql 仅供引用,我使用的是 mysqli prepare 语句,我也喜欢 PDO,所以请避免 mysql deprecated 警告。
最佳答案
改变query和columnName,同样,完成数组直到Z。
<?php
$alphabetArray = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
try
{
$s = $conn->query("SELECT * from brand ")
}
catch(PDOException $e)
{
echo $e->getMessage();
}
$arr = array();
?>
<select name="something">
<?php
while($alphabets = $s->fetch(PDO::FETCH_OBJ))
{
$arr[] = $alphabets->brandname;
}
foreach($alphabetArray as $alphabet)
{
if(!in_array($alphabet, $arr))
{
?>
<option value="<?php echo $alphabet; ?>"><?php echo $alphabet; ?></option>
<?php
}
}
?>
</select>
关于php - 选择下拉值检查并显示数据库中是否不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31765548/