Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Selected


Автор: Kirill Baranov 18.4.2005, 19:00
Код

                <select name="rubrika[]" size="6" multiple class="form">
                  <?
    $r2 = MySQL_Query("SELECT * FROM v_kategorii ORDER BY name") or die (mysql_error());    
        while ($row2 = mysql_fetch_array($r2)) {
            echo "<option value=\"".$row2[id]."\">".$row2[name]."</option>";
        }
?>
                </select>



Вот такой вот кодец... так а фишка в том, что надо чтобы был selected только тот пункт, который есть в базе у юзера id, а у юзера столбец с категориями этими содержит только их номера. То есть categories - 12 43 75 1 2 3 56... эти категории через пробел, потом они должны разбиваться explode по пробелам и сравниваться с тем, что есть в коде вначале моего поста... и если равны, то писать selected, что значит они отмечены. Вот как это сделать?! я честно говоря запутался уже что-то.

Автор: Mont 18.4.2005, 19:36
чего-то ни чего не понял... может потому что ночь уже...
но можно сделать так:
Код

$select='';
if (сравнение категорий){$select='selected';}
echo "<option value=\"".$row2[id]."\" ".$select.">".$row2[name]."</option>";

вот...
я просто не понял момент про сравнение, что с чем и откуда берется

Автор: Kirill Baranov 18.4.2005, 20:44
гы... задачка была довольна запутана... не пойму как, но я её решил - одни скобки и табуляции. Вообще ужас конечно, теперь сижу разбираюсь как все стало работать... делал все на автомате. Извините за тревогу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)