[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Несколько запросов соединить в один.
Forever
Думал использовать UNION, но друг загнал очень длинную речь о том, почему этого лучше не делать. Ничего не запомнил, кроме того, что этого лучше не делать . В общем, требуется объединить нижеследующие запросы в один.
SELECT medium FROM photos WHERE user="vasya" AND num > (SELECT num FROM photos WHERE medium = "'photo") ORDER BY num ASC LIMIT 1

SELECT medium FROM photos WHERE user="vasya" AND num < (SELECT num FROM photos WHERE medium = "'photo") ORDER BY num ASC LIMIT 1

SELECT medium FROM photos WHERE user="vasya" AND num < (SELECT num FROM photos WHERE medium = "'photo") ORDER BY num DESC LIMIT 1

SELECT medium FROM photos WHERE user="vasya" AND num > (SELECT num FROM photos WHERE medium = "photo") ORDER BY num DESC LIMIT 1
sergeiss
А ты не слушай этого друга, а просто попробуй сделать. Не вижу проблемы в том, чтобы объедитить несколько запросов через ЮНИОН.

Вот только сначала поясни, что ты хочешь сделать каждым запросом. Особенно вот эта часть непонятна (не должно работать вообще)
Цитата (Forever @ 14.07.2014 - 11:31)
num > (SELECT num FROM photos WHERE medium = "'photo")

Мало того, что там множественный результат сравнивается с числом, так еще и кавычки "кривые".

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vital
Для чего вообще эта жесть используется если не секрет?

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Forever
Цитата (sergeiss @ 14.07.2014 - 11:58)
Вот только сначала поясни, что ты хочешь сделать каждым запросом.

Я ЗНАЮ, что это п..ц)))), но вообще это мини-окно для просмотра изображения с прокруткой фотографий назад и вперед.

 $photo=$_GET['photo'];

//Отображение текущей фотографии
echo '<center> <img src="'.$photo.'" > </center>';

//запрос на предыдущее фото
$back = 'SELECT medium FROM photos WHERE user="'.$login.'" AND num > (SELECT num FROM photos WHERE medium = "'.$photo.'") ORDER BY num ASC LIMIT 1';
$backSQL = mysql_query($back);

If ($arr1 = mysql_fetch_array($backSQL)) {
$back_photo = $arr1['medium'];
echo '<a href="show_photo.php?photo='.$back_photo.'"> BACK </a>';
}

else {

$jump = 'SELECT medium FROM photos WHERE user="'.$login.'" AND num < (SELECT num FROM photos WHERE medium = "'.$photo.'") ORDER BY num ASC LIMIT 1';
$jumpSQL = mysql_query($jump);

If ($arr3 = mysql_fetch_array($jumpSQL)) {
$back_photo = $arr3['medium'];
echo '<a href="show_photo.php?photo='.$back_photo.'"> BACK </a>';
}

}





//запрос на следующее фото
$forward = 'SELECT medium FROM photos WHERE user="'.$login.'" AND num < (SELECT num FROM photos WHERE medium = "'.$photo.'") ORDER BY num DESC LIMIT 1';
$forwardSQL = mysql_query($forward);

If ($arr2 = mysql_fetch_array($forwardSQL)) {
$forward_photo = $arr2['medium'];
echo '<a href="show_photo.php?photo='.$forward_photo.'"> FORWARD </a>';
}

else {

$jump = 'SELECT medium FROM photos WHERE user="'.$login.'" AND num > (SELECT num FROM photos WHERE medium = "'.$photo.'") ORDER BY num DESC LIMIT 1';
$jumpSQL = mysql_query($jump);

If ($arr4 = mysql_fetch_array($jumpSQL)) {
$forward_photo = $arr4['medium'];
echo '<a href="show_photo.php?photo='.$forward_photo.'"> FORWARD </a>';
}

}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.