Php - mysql veri dışlamak nasıl

5 Cevap php

Aşağısında Listesi Menüsünden bazı ülkelerde dışlamak nasıl? Şimdi benim kod veritabanından ülke adının tümü listelenir.

Örnek I List Menüsünden Arnavutluk ülkeyi dışlamak istiyorum. Bu koda göre bunu uygulamak için nasıl.

Kod

    <?php $select_country=mysql_query("SELECT * FROM tbl_country ORDER BY country_name ASC")?>
    <select name="country"  onchange="return get_country(this.value);">
        <option value=""><?=SELECT_COUNTRY?></option>
        <? while($country=mysql_fetch_array($select_country)) {?>
           <option  <? if($_SESSION['getcountry']==$country['id']){ ?> selected="selected"<? }?> value="<?=$country['id']?>">
           <?=$country['country_name']?></option>
        <? } ?>
    </select>

Mysql

id    country_name
1   Afghanistan
2   Aland Islands
3   Albania
4   Algeria
5   American Samoa
6   Andorra

5 Cevap

Sonuç kümesinden bu satırı hariç Ya:

SELECT * FROM tbl_country WHERE country_name != "Albania" ORDER BY country_name ASC

Yoksa PHP ile atlama:

<?php
    while($country=mysql_fetch_array($select_country)) {
        if ($country['country_name'] == 'Albania') {
            continue;
        } ?>
    <option <?php if($_SESSION['getcountry']==$country['id']){ ?> selected="selected"<? }?> value="<?=$country['id']?>"><?=$country['country_name']?></option>
<?php } ?>
"SELECT * FROM tbl_country WHERE country_name <> "Albania" ORDER BY country_name ASC"

"<>" "! =" Eşdeğerdir ve ikisi de 'eşit değildir' demek, bu yüzden teoride COUNTRY_NAME tanımlı eşit değil tablodaki tüm kayıtları seçmek gerekir "Arnavutluk."

Ben de o aşağıdaki eserlerini, düşünüyorum:

"SELECT * FROM tbl_country WHERE country_name NOT IN("Albania","other_country_name", "another_country_name") ORDER BY country_name ASC"

Sen hariç istediğiniz ülkelerin bir dizi ayarlayabilirsiniz ...

<?php

$excludeArray = array('Albania','United States') ;

$select_country=mysql_query("SELECT * FROM tbl_country ORDER BY country_name ASC");

echo <<<HTML
    <select name="country"  onchange="return get_country(this.value);">
    <option value=""><?=SELECT_COUNTRY?></option>
HTML;

while($country=mysql_fetch_array($select_country)) {
  if (!in_array($country['country_name'],$excludeArray)) {
    $selected = ($_SESSION['getcountry']==$country['id'] ? 'selected="selected"' : '');
    echo "<option value='" . $country['id'] . "' " . $selected . ">" . $country['country_name'] . "</option>" ;
  }
echo "</select>";


?>

Ben sorunuzu anladım varsa:

 mysql_query("SELECT * FROM tbl_country WHERE country_name <> 'Algeria' ORDER BY country_name ASC")

neden sadece veri tabanı üzerinde bir durumu yapmak değil mi? Örneğin albania status show kullanabilirsiniz daha SELECT FROM country WHERE status='show'