php - 选择下拉值检查并显示数据库中是否不存在

标签 php mysql arrays mysqli

我已经 <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/

相关文章:

C增加int数组地址?

c++ - 如何连接二维数据数组

python - 将数据分组到数组中(python)

javascript - PHP call_user_func 像 Javascript 调用一样绑定(bind) thisArg

php - Apache JMeter 不执行 HTML 页面中的 Javascript

mysql - SQL 查询显示不正确的数据

mysql - MacOS连接本地mysql出错

php - 使用 Codeigniter 将复选框数组中的数据插入数据库

php - GEOIP 和获取计算机 IP 地址位置?

php - 一个查询中的多个数学值