PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 7
pegass Отправлено: 29 Ноября, 2011 - 12:48:02 • Тема: помогите сделать выборку по датам • Форум: Работа с СУБД

Ответов: 1
Просмотров: 628
пытаюсь сделать выборку записей пользователей из mysql
должно получиться что то вроде древа каталога

2011
ноябрь
21
запись
запись
22
запись
23
запись
итд
2010
май
1
запись


выбираем год
показываются все месяцы в которых есть записи
выбираем месяц показываются все дни где есть записи
и выбираем день показываются все записи за этот день.

2011
ноябрь
21
запись
запись
22
запись
23
запись
итд
2010
май
1
запись

по отдельности вроде всё просто, но всё вместе никак не получается выбрать.

вот структура таблицы
id_post | user_id | text | date (date)
pegass Отправлено: 21 Января, 2011 - 09:42:02 • Тема: Как сделать проверку есть ли ответ вопрос? • Форум: Программирование на PHP

Ответов: 4
Просмотров: 334
Мелкий Огроменное спасибо за помощь!!!!
И за подробный ответ.
И за то что не выложил готовый код а дал возможность подумать.
Радость Радость Радость
pegass Отправлено: 20 Января, 2011 - 16:21:22 • Тема: Как сделать проверку есть ли ответ вопрос? • Форум: Программирование на PHP

Ответов: 4
Просмотров: 334
Мелкий пишет:
0) используйте while ($переменная = mysql_fetch_и_далее_по_тексту) {}
Цикл с постусловием здесь абсолютно лишний.
1) не используйте printf там, где это не требуется, он работает медленнее print и echo
2) у вас проверка на существование ответов не внесена в цикл, к тому же вообще неудачно выполнена.
В цикле вывода информации поставьте условие
PHP:
скопировать код в буфер обмена
  1. if (условие) echo "есть ответы";
  2. else echo "ответов нет";

3) if ($v=1) выполнится всегда, аналогично if (1).
= присваивает значение, сравнивает == и === с проверкой типа
4) переменная $v вообще нигде не объявлена, кроме явно ошибочного объявления в условии.

Сделайте

в начале кода - ошибок выплывет куча.





Спасибо за развёрнутый ответ
вот такой получился код

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT *, DATE_FORMAT(dat, '%d.%m.%Y') AS dat  FROM faq    ORDER BY id DESC   ",$db);
  3.  
  4. while ($myrow2 = mysql_fetch_array($result))
  5.  
  6.  
  7. {
  8.        
  9.         if ($myrow2["v"]==1)
  10.         {
  11.         echo "<br>";
  12.         echo "<br>";
  13.         echo $myrow2["id"];
  14.         echo $myrow2["description"];
  15.         echo "<br>";
  16.         echo $myrow2["dat"];
  17.         echo "<b class='da'>есть ответ</b>  ";
  18.         echo "<b><a  href='faq_full.php?id=$myrow2[id]'>прочитать ответ</b></a><br>  ";
  19.    
  20.         }
  21.        
  22.        
  23. else
  24.             echo "<br>";
  25.                         echo "<br>";
  26.                         echo $myrow2["id"];
  27.                         echo $myrow2["description"];
  28.                         echo $myrow2["dat"];
  29.             echo "<b class='net'>нет  ответа </b>";
  30.                 echo "<br>";
  31.                 echo "<br>";
  32. }
  33.  




Вот то как он это выводит
121 вопрос
19.01.2011нет ответа
116 вопрос
09.01.2011нет ответа
115 Вопрос
24.12.2010есть ответ прочитать ответ
115 Вопрос
24.12.2010нет ответа
114 Вопрос
24.12.2010 есть ответ прочитать ответ
114 Вопрос
24.12.2010 нет ответа
113 Вопрос
20.12.2010 есть ответ прочитать ответ
113 Вопрос
20.12.2010 нет ответа
112 Вопрос
15.12.2010 есть ответ прочитать ответ
112 Вопрос
15.12.2010 нет ответа
109 Вопрос
03.12.2010 нет ответа
108 Вопрос
28.11.2010 нет ответа
106 Вопрос
18.11.2010 нет ответа
105 Вопрос
17.11.2010 нет ответа
104 Вопрос
17.11.2010 нет ответа

Очень странное происходит
некоторые вопросы выводятся из базы по два раза
один раз цикл говорит что ответ есть
а в другом ответа нет

в базе id у всех записей разный!!!

НА те вопросы у которых есть ответ он их выводит два раза Не понял
где ошибка не могу поймать
pegass Отправлено: 20 Января, 2011 - 13:09:59 • Тема: Как сделать проверку есть ли ответ вопрос? • Форум: Программирование на PHP

Ответов: 4
Просмотров: 334
Пишу страницу для сайта в формате вопрос ответ.

Страница уже готов и всё работает более чем

Но как всегда есть одно но

Нужно что бы при отображении вопроса было видно есть уже ответ на этот вопрос или нет.

А сейчас получается так

посетитель видит вопрос - кликает по нему переходит на страницу с ответом но там пока ответа нет.


Так вот надо что бы было понятно есть ответ на вопрос или нет что бы н кликать зря Радость
вот так это выглядит

************
Как на Вашем сайте можно направить жалобу администрации?
прочитать ответ
20.12.2010
Здравствуйте,мне назначили ?
прочитать ответ
15.12.2010
Почему в вашем центре нет специалиста ?
прочитать ответ
03.12.2010

************

А хочется вот так
Как на Вашем сайте можно направить жалобу администрации?
прочитать ответ нет ответа
20.12.2010
Здравствуйте,мне назначили ?
прочитать ответ есть ответ
15.12.2010
Почему в вашем центре нет специалиста ?
прочитать ответ есть ответ
03.12.2010

Вся информация выводиться из базы
из таблицы FAQ

id text author data title mail user_n v

поле v имеет два значения
1 и 0
1 -есть ответ
0 нет ответа

вот код который отвечает за вывод вопросов

PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT *, DATE_FORMAT(dat, '%d.%m.%Y') AS data FROM faq    ORDER BY id DESC LIMIT 7 ",$db);
  2. $myrow2 = mysql_fetch_array($result);
  3.  
  4. $myrow3["v"]=$v;
  5. if ($v=1)
  6. {
  7.         $da='есть ответ
  8. }
  9.  
  10. else
  11.  
  12. {
  13. $no='нет ответа
  14. }
  15.  
  16. do
  17. {
  18.  
  19. printf ("<div  border='0'>
  20.  <tr>
  21.    <td>
  22.          <div  >
  23.          <a class='board_linc' href='faq_full.php?id=%s'>%s</a>
  24.          <br> <b><a class='board_linc' href='faq_full.php?id=%s'>
  25.          прочитать  ответ</a></b> </div>
  26.          <span id='board_cat_data'> %s </span>%s %s
  27.  
  28.                
  29.         </td>
  30.  </tr>
  31. </div>",$myrow2["id"],$myrow2["description"],$myrow2["id"],$myrow2["dat"],$da,$no);
  32.  
  33. }
  34.  
  35. while ($myrow2 = mysql_fetch_array($result));


И получается вот такой вот вывод
прочитать ответ
11.10.2010 Есть ответ
привет
прочитать ответ
11.10.2010 Есть ответ
привет
прочитать ответ
11.10.2010 Есть ответ


то етсь везде выводиться что етсь ответ.
а он етсь не везде.


никак не могу дорубить как сделать что бы
у строки в базе стоит значение 1 то вывести фразу есть ответ
а если у строки стотит 0 то вывести фразу нет ответа.
pegass Отправлено: 16 Ноября, 2010 - 13:08:04 • Тема: Нужно в одном запросе вывести все посты и показать кто автор этих постов. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 430
Viper пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `a`.`id_post`, `a`.`text`, `a`.`id_users`, `b`.`login`
  2. FROM `posts` AS a
  3. LEFT JOIN `users` AS b ON `b`.`id_users` = `a`.`id_users`


pegass пишет:
все посты вытаскиваются вот этим запросом SELECT * FROM posts

рекомендую так не делать, а явно указывать названия полей, даже если нужно выбрать все поля.


Круто!! Спасибо!!!!
вот что получилось )

Вся правда о медицине2010-11-16 Рабцун Евгений Анатольевич
красота страшная сила2010-11-16 Юсубова Екатерина Викторовна
ещё одна проверчная статья2010-10-18 Постнов Вячеслав Валентинович
красивые картинки2010-10-18 Постнов Вячеслав Валентинович

Закатив глазки Закатив глазки Закатив глазки
pegass Отправлено: 16 Ноября, 2010 - 12:21:00 • Тема: Нужно в одном запросе вывести все посты и показать кто автор этих постов. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 430
Viper пишет:
LEFT JOIN может быть поможет, хотя не уверен т.к. телепаты в отпусках. Хоть бы структуру этих таблиц привели для наглядности.

таблица с постами (posts_
id_post
title
text
id_users

таблица с пользователями
(users)
id_users
login
password
avatar
disk_blog
всем постам в таблице posts присваиваются значение id_users
то етсь чей пост.

все посты я вытащил вот этим запросом SELECT * FROM posts
но для меня не очень понятно как сделать так что бы рядом с название вводился и автор этого поста.
pegass Отправлено: 16 Ноября, 2010 - 10:46:59 • Тема: Нужно в одном запросе вывести все посты и показать кто автор этих постов. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 430
помогите кто чем может
есть две таблицы
1.Хранит посты posts
2 Данные пользователей users

Нужно в одном запросе вывести все посты и показать кто автор этих постов.

Понимаю что нав это делаеться очень просто но пока никак не могу догнать что и кченму.
какой запрос сделать к базе что бы это получить.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB