|
|
|
| Есть таблица в которой есть поля pos, image_id и hide. Нужно выяснить image_id с максимальным и минимальным pos у которого hide = 'show';
Я сделал так:
<?php
$query = "SELECT image_id as 'min', pos FROM images WHERE hide = 'show' ORDER BY pos LIMIT 1";
$min_q = mysql_query($query);
if($min_q) $min = mysql_result($min_q, 0, 'min'); else exit(mysql_error());
$query = "SELECT image_id as 'max', pos FROM images WHERE hide = 'show' ORDER BY pos DESC LIMIT 1";
$max_q = mysql_query($query);
if($max_q) $max = mysql_result($max_q, 0, 'max'); else exit(mysql_error());
echo "min-".$min;
echo "<br>max-".$max;
?>
|
Тут два обращения к бд. Можно ли получить те же результаты более изящным способом? | |
|
|
|
|
|
|
|
для: alek_chita
(18.02.2007 в 19:40)
| | Может и нельзя сделать лучше?? | |
|
|
|
|
|
|
|
для: alek_chita
(18.02.2007 в 19:40)
| | Можно поступить следующим образом
SELECT MIN(image_id) as 'min', MAX(image_id) as 'max' FROM images WHERE hide = 'show'
|
Это если вам никакие больше поля не нужны, если поле pos обязательно, лучше остановиться на вашем варианте. | |
|
|
|