爆炸数组中的值,不包括在mysql_query中

时间:2017-07-08 17:00:33

标签: php

我在数据库IT213中有值| --- | IT214 | --- | IT215 并希望爆炸这些价值观。

$subject_query=mysql_query("select * from students where id='$get_id'") or die(mysql_error());
$subject_row =mysql_fetch_array($subject_query);
$explode = explode("|---|", $subject_row['subject']);
foreach($explode as $subjects)
    {
    $query=mysql_query("select * from subject where code != ('$subjects') ") or die(mysql_error());
    }
while($row=mysql_fetch_array($query)) { ?>
    <option> 
    //echo to show values that are not included in the database
    </option>
    <?php }  ?>

如何不包含要从我的数据库中已存在的值列表中回显的值?

例如,我的数据库中已经有IT215,我希望我的选项框在选项框中不包含IT215。(选择范围从IT215,IT216,IT217到IT216和IT217)

1 个答案:

答案 0 :(得分:2)

查询可以做很多有力的事情。

SELECT * FROM subject
WHERE FIND_IN_SET(code, (
    SELECT REPLACE(subject, '|---|', ',')
    FROM students
    WHERE id = ?
)) = 0

当然,理想情况下,我会将您的数据库分开并将其标准化,以便您可以通过加入来实现结果,但我会采取我能得到的结果。

我也可能会因为使用don't even exists anymore这些功能而狠狠地使用它们,因为它们非常糟糕。拿起PDO,它好多了。