Функция и параметры

KotOFF

Новичок
Есть 2 страницы: например - kino.php и actor.php
Есть БД, в ней 2 таблицы - фильмы и актеры
Есть функция вывода информации с БД
PHP:
function getInfo($kino, $actor){
    //Если 1-й параметр равен NULL
    if(empty($kino)){
        //Делаем запрос на выборку всех актеров
        $query = 'SELECT * FROM `actor`';
    }
    //Если 2-й параметр равен NULL
    else{
        //Делаем запрос на выборку всех фильмов
        $query = 'SELECT * FROM `kino`';
    }
    $result = mysql_query($query);
    $array = array();
    while($row = mysql_fetch_assoc($result)){
        $array[] = $row;
    }
    //Возвращаем массив актеров, или массив фильмов
    return $array;
}
Если страница kino.php, то выводим информацию по фильмах
PHP:
print_r(function getInfo('kino', NULL));
Если страница actor.php, то выводим информацию по актерах
PHP:
print_r(function getInfo(NULL,'actor'));
Вопрос: Можно ли так применять параметры к функции (NULL), если нет, то почему???
Если честно, то код работает, но что то мне подсказывает, что этот код не имеет права на жизнь?
 

С.

Продвинутый новичок
А зачем два параметра? Одного хватит:
PHP:
print_r(function getInfo('kino'));
print_r(function getInfo('actor'));
 

KotOFF

Новичок
А зачем два параметра? Одного хватит:
PHP:
print_r(function getInfo('kino'));
print_r(function getInfo('actor'));
ну а если вместо параметра строк - 'kino' и 'actor' будет подставляется переменная, мне же в функции нужно делать проверку что выводить!
вот я и спрашиваю правильно ли это?
 

С.

Продвинутый новичок
По твоему коду не видно, что там пердусмотрена какая-то переменная. Но даже если и так, то:
PHP:
print_r(function getInfo('kino',$var));
print_r(function getInfo('actor',$var));
 

KotOFF

Новичок
По твоему коду не видно, что там пердусмотрена какая-то переменная. Но даже если и так, то:
PHP:
print_r(function getInfo('kino',$var));
print_r(function getInfo('actor',$var));
вы мне скажите, можно ли так использовать код, как на моем примере?
 

С.

Продвинутый новичок
Если код работает, то его использовать можно. Другое дело, что это уродский код.
 

KotOFF

Новичок
Если код работает, то его использовать можно. Другое дело, что это уродский код.
спасибо за ответы)
2-й вопрос:
PHP:
//Простоя функция для проверки: существуeт ли $var
function getResult($var){
    //Если существует
    if(isset($var)){
        return true;
    }
    //Если нет
    else{
        return false;
    }
}
//Проверка на странице, если не существует переменная $string
if(getResult($string) == false){
    echo 'Печалька:)';
}
//Если существует переменная $string
else{
    echo 'Все ок';
}
вопрос: проверять функцию на существование переменной вместо false на null, это одно то же???
 

С.

Продвинутый новичок
$var у тебя явно объявлен и существовать будет всегда.
 

KotOFF

Новичок
3-й вопрос, и думаю последний)
есть "ОДНА" функция вывода информации с БД, для примера - таблица (статьи), есть 3 страницы, мне нужно выводить статьи на каждой странице по разному, то есть сортировка разная при выборке, логично ли принимать в функцию параметр "сортировка", что бы знать на какой странице сортировать??? или это опять мой многоколесный велик?)
 

полудух

Итсист
3-й вопрос, и думаю последний)
есть "ОДНА" функция вывода информации с БД, для примера - таблица (статьи), есть 3 страницы, мне нужно выводить статьи на каждой странице по разному, то есть сортировка разная при выборке, логично ли принимать в функцию параметр "сортировка", что бы знать на какой странице сортировать??? или это опять мой многоколесный велик?)
мог бы и 1 раз запросить базу, а внутри пхп уже сортировать 3 разные таблицы
запросами конечно удобнее, но 3 запроса делать не лучше
 

полудух

Итсист
потому что база - самое слабое место всегда

но вообще задача довольно странная
если на одной странице таблицу надо представить в 3х разных видах, то это ajax и 1 таблица
а если на 3х разных страницах, то это отдельные запросы
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
C чего такие заявления? У меня вот самое слабое место сейчас это легаси код. База летает, диск тоже.
 
Сверху