Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
Пишу для DLE модуль, который выводит баллы, заработанные в игре. Столкнулся с тем, что цикл выводит один показатель из базы, а должен выдать 10 значений, отсортированных по убыванию. В запросе я указываю критерий выдачи 10. Ошибка может или в самом запросе (перед циклом) или в цикле. Сделал описание строк. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Могу предоставить структуру таблицы, если будет нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 21:31 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
ну var_dump() и вперед. Вывели запрос сделали в phpmyadmin (или что там у вас). Вывели $sql_score посмотрели что там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 23:06 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
smartonОшибка может или в самом запросе (перед циклом) или в цикле. Ну так определитесь, в SQL-запросе ошибка или в обработке результатов запроса. 1. Посмотрите текст запроса. Возможно, используемые при сборке запроса переменные имеют не то значение, которое ожидаете. 2. Выполните запрос к БД с использованием альтернативных средств (консоль, phpMyAdmin и т.п.). 3. По результатам уже смотрите, 10 ли строк возвращается (запрос правильный) или одна. А еще в базе может быть недостаточно данных для возвращения десяти строк результата, но достаточно для одной строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 23:16 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
vkleА еще в базе может быть недостаточно данных для возвращения десяти строк результата, но достаточно для одной строки. Ну уж нет. На это я бы сразу обратил внимание ))) В базе 5 значений, а получаю только один. Буду проверять, учитывая ваши рекомендации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 23:29 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
Вот, что я выяснил. 1. Выполняю запрос в phpMyAdmin: Код: sql 1. 2. 3. 4. 5. 6. получаю выборку: Здесь все правильно. 2. Выполняю код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. получаю только одну строку: Но я выполняю код через Код: php 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 01:03 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
Наверняка, так все строки получите: Код: php 1. 2. 3. А вообще, смотрите, что там этот super_query() делает и что возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 01:18 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
vkleНаверняка, так все строки получите: Код: php 1. 2. 3. Да, получил все строки. В коде я уже пробовал заменить цикл foreach на while, но это проблему не решало. А вообще, в движке везде используется foreach. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 01:30 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
vkleА вообще, смотрите, что там этот super_query() делает и что возвращает. Функция super_query() Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. У меня происходит взрыв мозга, когда я пытаюсь вникнуть в super_query() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 02:11 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
smartonУ меня происходит взрыв мозгаСтранно, запрограммировано вроде некое неразрушающее, а то даже и созидающее воздействие на мозг: Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 07:56 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
Что-то мне подсказывает, что единичка, переданная вторым параметром в super_query(), означает что возвращать надо только одну строку. По крайней мере, в этой ветке кода не вижу цикла выборки множества строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 07:59 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
vklesmartonУ меня происходит взрыв мозгаСтранно, запрограммировано вроде некое неразрушающее, а то даже и созидающее воздействие на мозг: Код: php 1. 2. 3. У меня могзг не кэшируется и возвращает error А при второй попытке - echo "Access denied"; vkleЧто-то мне подсказывает, что единичка, переданная вторым параметром в super_query(), означает что возвращать надо только одну строку. По крайней мере, в этой ветке кода не вижу цикла выборки множества строк. Эту единичку я проверял. Без нее запрос не выполняется. Насколько я понял, она работает как true. Можно 1 заменить на true, запрос выполнится успешно. В общем, не в ней беда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 22:39 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
Для примера приведу код вывода (показа) всех комментариев к заметке. Этот код заведомо правильный и выводит все комментарии из базы к определенной заметке. Так вот, не вижу принципиальной разницы в логике построения моего кода и этого. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 22:48 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
С помощью var_dump() выяснил, что получаю 5 строк до $tpl->compile('content'); Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Думаю, что нужно компилировать контент в цикле. Но $tpl->compile('content'); отказывается компилировать в цикле. Нужно создавать отдельный $tpl->compile()? Знающие DLE, подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 21:48 |
|
||
|
Цикл выводит только одну строчку из БД (DLE)
|
|||
|---|---|---|---|
|
#18+
В целом разобрался, но нужно еще допиливать и непонятны некоторые детали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 00:01 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38706660&tid=1462567]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 409ms |

| 0 / 0 |
