это не ответ на мой вопрос!(PHP:$id = getIdFromAstral(); $result = getResultById($id);
$arr = array(1,4,9,20);
function getResult($id){
//Функция возвращает инфу с БД (чего то) по id
}
foreach($arr as $value){
$result = getResult($value);
echo $result['поле чего то'];
}
function getResult($array){
//преобразование массива айдишников в строку
$list_id = implode(',', $array);
//запросс
$query = 'SELECT `все поля` FROM `таблица` WHERE `id` IN("$list_id")';
//Возвращаем массив по выбранным id
}
$arr = getResult($arr);
foreach($arr as $value){
echo $value['поле чего то'];
}
Второй вариант ужасен.какая здесь разница???
Однозначно второй лучше, только не забудь про шаблонизатор для вывода и ORM и/или QB для запросов.какой вариант будет правильней и быстрее???
$arr = array (
array('id'=>1,'дополнительное поле'=>'что-то'),
array('id'=>4,'дополнительное поле'=>'что-то'),
array('id'=>9,'дополнительное поле'=>'что-то'),
array('id'=>20,'дополнительное поле'=>'что-то')
);
да. всегда. не надо использовать возможности суперглобавлов лишь потому, что они суперглобалы.Стоит ли принимать $_GET параметр в функцию?
яснопонятно, но мне это пака ещё не надо, я не знаком с ООП!(((да. всегда. не надо использовать возможности суперглобавлов лишь потому, что они суперглобалы.
функция или метод должны принимать явное значение и это должно быть прозрачно.
функция или метод не должны быть черным ящиком.
однозначного ответа не может быть.с этим все ясно, спасибо)
2-й вопрос: какой вариант будет правильней и быстрее???
а это надуманная задача из разряда говнокода. ты сейчас как бы пишешь интерфейс над СУБД, поэтому не надо то-то надумывать. у функций, отвечающие за получение данных из СУБД, не должно быть знаний о твоей бизнес-логике и прочих частных операциях.а если с формы придет массив айдишников, и каждому айдишнику будет привязано "что-то", например
и нужно вывести всю инфу по этим айдишникам и добавить каждому айдишнику поле => 'что-то' при выводе!PHP:$arr = array ( array('id'=>1,'дополнительное поле'=>'что-то'), array('id'=>4,'дополнительное поле'=>'что-то'), array('id'=>9,'дополнительное поле'=>'что-то'), array('id'=>20,'дополнительное поле'=>'что-то') );
как это реализовать? 2-й вариант уже не сработает(
спасибо, то что нужно) вы меня спасли) Вы единственный человек, который меня понял в этой задачи. Не знал что можно все это реализовать одним запросом, а то я тут уже начал лепить велосипед, ещё раз БОЛЬШОЕ СПАСИБО)Код:select актеры.*, count(роли.id) as "количество общих фильмов" from роли left join актеры on роли.id_actor = актеры.id where id_movie in( select id_movie from роли where id_actor = $айди_1 ) group by актеры.id
Передавать содержимое такой формы в json в теле POST.а если с формы придет массив айдишников, и каждому айдишнику будет привязано "что-то", например
и нужно вывести всю инфу по этим айдишникам и добавить каждому айдишнику поле => 'что-то' при выводе!PHP:$arr = array ( array('id'=>1,'дополнительное поле'=>'что-то'), array('id'=>4,'дополнительное поле'=>'что-то'), array('id'=>9,'дополнительное поле'=>'что-то'), array('id'=>20,'дополнительное поле'=>'что-то') );
как это реализовать? 2-й вариант уже не сработает(
Нет, это не надуманный говнокод, а обычная практика для сложных форм с большим количеством логики на клиенте.а это надуманная задача из разряда говнокода. ты сейчас как бы пишешь интерфейс над СУБД, поэтому не надо то-то надумывать. у функций, отвечающие за получение данных из СУБД, не должно быть знаний о твоей бизнес-логике и прочих частных операциях.
ещё маленький вопрос, как теперь сортировать по количеству общий фильмов, то есть чем больше общих фильмов, тем выше актер при выходе, пример:Код:select актеры.*, count(роли.id) as "количество общих фильмов" from роли left join актеры on роли.id_actor = актеры.id where id_movie in( select id_movie from роли where id_actor = $айди_1 ) group by актеры.id
получаю ошибку(order by количество общих фильмов