Показать сообщение отдельно
  #12 (permalink)  
Старый 19.02.2015, 12:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от kiberchainik Посмотреть сообщение
вот что ...
function selectFiltri() {
            $this->Connect();
            
            $select = mysql_query("select seo_name from filtri");
            $arraySel = mysql_fetch_array($select);
            $num = mysql_num_rows($select);
            
            if ($num == "0") {
                echo"Фильтров еще нет";
            } else {
                do {
                    echo "<option value='".$arraySel['seo_name']."'>".$arraySel['seo_name']."</option>";
                } while ($arraySel = mysql_fetch_array($select));
            }
        }


это обработчик
Это не обработчик, это нет слов...

Фильтр по английски - filter, а не filtri, ну отвыкайте вы от этого жаргона, полусмеси непонятно чего с чем.

Функция mysql_fetch_array() без указания вторым аргументом типа возвращаемых данных, возвращает два идентичных набора, один индексный, второй ассоциативный. А вам это нужно? Зачем напрягать SQL пустыми задачами? Изучать, или эту использовать как необходимо, или именно ту, что возвращает необходимое (есть кроме нее).

if ($num == "0")... вообще оригинально. И прежде чем проверять количество полученных рядов, нужно проверить удачно ли вообще завершился запрос, если ошибки SQL у вас не обрабатываются глобально.

do ... while вообще не к месту. И где вы это только выкапываете, уже на стольких форумах эту пакость вижу, но до сих пор не знаю где вы ее черпаете.

Коли html, значит изменить список выгоднее так:

$("#listFilter").html('<option value="" style="color:gray">Seleziona...</option>'+response)

PS. Изменил value="0", на value="", проверять не пустое ли проще будет, а такая проверка желательна.

Последний раз редактировалось laimas, 19.02.2015 в 13:10.
Ответить с цитированием