echo "<select multiple name='category[]' size='6'>
$category = explode(",",$myrow_edit[category]);
// загрузка категорий
$result_category=mysql_query("SELECT category_name FROM category");
$count = mysql_num_rows($result_category);
for ($i=0; $i<$count; $i++) {
$var = mysql_result($result_category, $i);
foreach ($category as $v) {
if ($v == $var) {
printf ("<option selected value='%s'>%s", $var, $var);}
else { printf ("<option value='%s'>%s", $var, $var);}}}
echo "</select>"
Но при таком коде каждая опция повторяется по столько раз, сколько элементов в массиве $category. Как это обойти? У кого какие идеи будут?
Спустя 2 часа, 14 минут, 47 секунд (16.09.2010 - 06:09) Lenarfate написал(а):
Цитата |
Но при таком коде каждая опция повторяется по столько раз, сколько элементов в массиве $category. Как это обойти? У кого какие идеи будут? |
судя по этому коду, он вообще не должен работать
Спустя 1 час, 31 минута, 28 секунд (16.09.2010 - 07:40) Kuliev написал(а):
Спустя 1 час, 46 минут, 21 секунда (16.09.2010 - 09:27) Denhell написал(а):
Цитата |
судя по этому коду, он вообще не должен работать |
Будет, т.к. это только часть кода.
Цитата |
Посмотри как здесь выводят данные в таблицу и переделай также под свой селект |
С этим проблем нет, ведь задача состоит не просто вывести, но и сравнить с массивом, а если значения массива совпадают, то сделать эти опции выделенными.
Спустя 12 минут, 18 секунд (16.09.2010 - 09:39) Kuliev написал(а):
Цитата (Denhell @ 16.09.2010 - 11:27) | ||||
Будет, т.к. это только часть кода.
С этим проблем нет, ведь задача состоит не просто вывести, но и сравнить с массивом, а если значения массива совпадают, то сделать эти опции выделенными. |
Ну так сравнивай, в чем проблема?
Спустя 3 минуты, 48 секунд (16.09.2010 - 09:43) Michael написал(а):
Вот без этого:
просто каждую опцию проверяй находится ли она в массиве. Типа так:
foreach ($category as $v) {
просто каждую опцию проверяй находится ли она в массиве. Типа так:
$var = mysql_result($result_category, $i);
$sel = '';
if (in_array($var, $category)) $sel = 'selected';
echo '<option ' . $sel . 'и так далее...'
Спустя 15 минут, 27 секунд (16.09.2010 - 09:58) Denhell написал(а):
Цитата (Michael @ 16.09.2010 - 06:43) |
Вот без этого:foreach ($category as $v) { просто каждую опцию проверяй находится ли она в массиве. Типа так:
|
Вот спасибо! Как раз что надо! Все заработало!