PHP код:
![Выделить весь код](images/misc/selectcode.png)
if (isset($menu1) && !in_array($categ['category'], $menu1))
$menu1[]=$categ['category'];
$i++;
Это не правильно) Тут две операции внутри блока if, поэтому надо ставить фигурные скобки)
PHP код:
![Выделить весь код](images/misc/selectcode.png)
$menu1[0] = $categ['category'];
do {
printf ("<option value='$i'>%s</option>", $categ['category']);
if (isset($menu1) && !in_array($categ['category'], $menu1))
$menu1[]=$categ['category'];
$i++;
}
while ($categ = mysql_fetch_array($result));
Это ведь не должно работать, нэ? Смотри, сначала присваиваешь нулевое значение в $menu1, но ведь $categ ещё не "отфетчена_аррэем". Далее идёт исполнение блока, но переменной $categ всё ещё нет. И лишь после этого используется mysql_fetch_array();
Что, если написать вот так:
PHP код:
![Выделить весь код](images/misc/selectcode.png)
$menu1[0] = 0;
while($categ = mysql_fetch_array($result)) {
if (isset($menu1) && !in_array($categ['category'], $menu1))
$menu1[$i]=$categ['category'];
printf ("<option value='$i'>%s</option>", $categ['category']); // этот кусок я тоже чуток не понял... Просто не в курсе, что оно делает:)
$i++;
}