Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пропадают строки при группировке GROUP by
 
 автор: gofree   (19.08.2011 в 14:45)   письмо автору
 
 

Почему при запросе

("SELECT * FROM `price` WHERE brand = '".mysql_escape_string($_GET['a'])."' GROUP by name ORDER BY name ASC"); 


Выводит все наименования, кроме первого по алфавиту?

т.е. в таблице:
Апельсин
Апельсин
Груша
груша
груша
яблоко

А выводит : груша, яблоко

  Ответить  
 
 автор: cheops   (19.08.2011 в 15:44)   письмо автору
 
   для: gofree   (19.08.2011 в 14:45)
 

А WHERE-условие здесь не может играть роль? Если его убрать ситуация не меняется?
brand = '".mysql_escape_string($_GET['a'])."'

  Ответить  
 
 автор: gOFREe   (19.08.2011 в 17:27)   письмо автору
 
   для: cheops   (19.08.2011 в 15:44)
 

Нет, не меняется, выводит все, кроме первой строчки идущей по алфавиту.
Если вывести без группировки, то выводит все.

  Ответить  
 
 автор: gOFREe   (19.08.2011 в 19:57)   письмо автору
 
   для: gOFREe   (19.08.2011 в 17:27)
 

Странно, уже все посмотрел, не хочет первую запись выводить и все тут.. мистика...

  Ответить  
 
 автор: Valick   (19.08.2011 в 20:10)   письмо автору
 
   для: gOFREe   (19.08.2011 в 19:57)
 

покажите запрос и код обработки

  Ответить  
 
 автор: gOFREe   (19.08.2011 в 20:40)   письмо автору
 
   для: Valick   (19.08.2011 в 20:10)
 

Понял в чем дело... у меня перед циклом вывода информации из базы стоял mysql_reusult(); относящийся к этому же запросу, из-за него и было это недоразумение... Подскажите почему? И как можно вывести инфу до цикла из одной строчки. запрос и вывод такой:


<?
function dbquery($query) {
    
$result = @mysql_query($query);
    
    if (!
$result) {
        die( 
'<h1>Ошибка!</h1><br><h4>'.$query.'</h4><bR>'.mysql_error().'');
        return 
false;
    } else {
                 
                return 
$result;
                
        }
}

function 
dbarray($query) {
    
$result = @mysql_fetch_assoc($query);
    if (!
$result) {
        echo 
mysql_error();
        return 
false;
    } else {
        return 
$result;
    }
}
$m dbquery("SELECT * FROM `price` WHERE brand = '".mysql_escape_string($_GET['a'])."' GROUP by name ASC"); 

echo 
mysql_result($m0'putdate');

while( 
$d dbarray($m) ) {
echo 
$d['name'].'<br>';
}
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования