Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: выборка из таблицы и сортировка по алфавиту [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Описание: выборка из таблицы и сортировка по алфавиту...
dubasua
Отправлено: 29 Июня, 2013 - 21:19:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Покажите запрос, полностью как есть.
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 21:22:27
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




dubasua пишет:
Покажите запрос, полностью как есть.



PHP:
скопировать код в буфер обмена
  1. <?PHP    
  2. $result = mysql_query("SELECT * FROM `$view`",$db);
  3. $myrow = mysql_fetch_array($result);
  4. for ($a = 0; $a++ < mysql_num_fields($result);) {
  5. if (!empty($myrow["song$a"]))
  6. {
  7. printf ("<li>%s</li>
  8. ", $myrow["song$a"]);
  9. }
  10. }
  11. ?>
 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 21:28:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Вы конечно можете отсортировать результат прямо в запросе, указывая поля в приоритетном порядке, например вот так:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM {$view} ORDER BY song1,song2,song30

Но я бы рекомендовал использовать для этого инструменты PHP.
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 21:31:31
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Но пока указанный запрос не работает. Выводит только 30 полей song1,song2 и т.д до song30 из строки id=1. А этих строк 140...
 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 21:35:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Попробуйте вот так
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT ALL * FROM {$view} ORDER BY song1,song2,song30 LIMIT 0
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 21:38:29
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




dubasua пишет:
Попробуйте вот так
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT ALL * FROM {$view} ORDER BY song1,song2,song30 LIMIT 0


теперь ничего не выводит, даже ошибки
мне кажется здесь что-то не так:

(Отредактировано автором: 29 Июня, 2013 - 21:39:36)

 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 21:47:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Покажите результат этого кода
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM `$view` ORDER BY `song1`,`song2` LIMIT 1,140",$db);
  3. while ( $myrow = mysql_fetch_assoc ( $result ) ){
  4.    var_dump( $myrow );
  5. }
  6.  
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 21:52:12
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




dubasua пишет:
Покажите результат этого кода
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM `$view` ORDER BY `song1`,`song2` LIMIT 1,140",$db);
  3. while ( $myrow = mysql_fetch_assoc ( $result ) ){
  4.    var_dump( $myrow );
  5. }
  6.  


Вылезла в кучу вся информация этой таблицы
 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 21:54:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Ну вот, а говорили что не работает. Поехали дальше, что Вам конкретно нужно?
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 21:57:48
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




dubasua пишет:
Ну вот, а говорили что не работает. Поехали дальше, что Вам конкретно нужно?


Нужно вытащить из этой таблицы все поля с именем song1,song2, и.т.д до song30 из каждой строки таблицы с id=1 до id=140 и отсортировать по алфавиту.

Т.е. в таблице 140 строк с id=1 до id=140 и в каждой строке есть 30 полей начиная с song1 до song30. 140*30 = 4200 полей. Но не все поля song заполнены. Пустые выводить не нужно.

(Отредактировано автором: 29 Июня, 2013 - 22:00:23)

 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 22:03:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Ok! Если Вы враг своей базе то делайте вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM `$view` ORDER BY
  3. `song1`,`song2`,`song3`,`song4`,`song5`,
  4. `song6`,`song7`,`song8`,`song9`,`song10`
  5. LIMIT 1,140",$db);
  6. while ( $myrow = mysql_fetch_assoc ( $result ) ){
  7.    foreach ( $myrow as $song ) {
  8.       echo $song,'<br/>';
  9.    }
  10. }
  11.  
  12.  
  13.  
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 22:08:53
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




dubasua пишет:
Ok! Если Вы враг своей базе то делайте вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM `$view` ORDER BY
  3. `song1`,`song2`,`song3`,`song4`,`song5`,
  4. `song6`,`song7`,`song8`,`song9`,`song10`
  5. LIMIT 1,140",$db);
  6. while ( $myrow = mysql_fetch_assoc ( $result ) ){
  7.    foreach ( $myrow as $song ) {
  8.       echo $song,'<br/>';
  9.    }
  10. }
  11.  
  12.  
  13.  


Так выходит меньше информации, но с картинками и т.д. Мне не так нужно...

Таблица = это муз. группа. 140 строк - это дискография. поля song (varchar максимум100) - название песни. Нужно просто вывести список всех песен этой группы по алфавиту.

(Отредактировано автором: 29 Июня, 2013 - 22:12:51)

 
 Top
teddy
Отправлено: 29 Июня, 2013 - 22:15:07
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




relfi пишет:
Нифига неработает!

А это не удивительно. Вы то мой код используете, то свой, то мой код + ваш код с несоответствующими поправками...
 
 Top
relfi
Отправлено: 29 Июня, 2013 - 22:20:31
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




teddy пишет:
relfi пишет:
Нифига неработает!

А это не удивительно. Вы то мой код используете, то свой, то мой код + ваш код с несоответствующими поправками...


Но в итоге так и не работает ни Ваш, и не наш...
 
 Top
dubasua
Отправлено: 29 Июня, 2013 - 22:27:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Ну вот тогда держите ссыль, там все написано.
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]0/en/select[dot]html
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB