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 :: Вывод даты 1 раз

 PHP.SU

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


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

> Без описания
sprinter
Отправлено: 26 Августа, 2013 - 18:50:15
Post Id


Новичок


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


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




День добрый,
прошу сильно не пинать только начал ковырять PHP. Прошу помочь мне решить следующую ситуевину:

Есть небольная БД. В таблице идут записи и у каждой записи есть дата ее внесения ее туда. Как замутить так чтоб при показе всей инфы из БД дата высвечивалась только 1 раз.
В примеру каждый день вносились 5 записей. Сейчас у меня выводится так:

1, 26 aug 2013 Test1, Test 123
2, 26 aug 2013 Test2, Test 123
3, 26 aug 2013 Test3, Test 123
4, 26 aug 2013 Test4, Test 123
5, 26 aug 2013 Test5, Test 123
6, 27 aug 2013 Test1, Test 123
7, 27 aug 2013 Test2, Test 123
8, 27 aug 2013 Test3, Test 123
9, 27 aug 2013 Test4, Test 123
10, 27 aug 2013 Test5, Test 123

Хотелось бы чтоб выводилось так (чтоб дата отображалась только раз и не дублировалась):

1, 26 aug 2013 Test1, Test 123
2, Test2, Test 123
3, Test3, Test 123
4, Test4, Test 123
5, Test5, Test 123
6, 27 aug 2013 Test1, Test 123
7, Test2, Test 123
8, Test3, Test 123
9, Test4, Test 123
10, Test5, Test 123

Намудрил код такой:

$ath = mysql_query("select * from ticket order by date desc;");
if($ath)
{
echo "<table border=1 cellspacing=1 cellpadding=0>";
while($data = mysql_fetch_array($ath))
{
echo "<tr><td colspan=4></td></tr>
<tr><td><a href=edit.php?id=".$data['id'].">edit&nbsp;</a></td><td>".$data['date']."</td><td width=85>".$data['subject']."</td><td>".$data['body']."</td></tr>
}
echo "</table>";
}

хелп... Растерялся

(Отредактировано автором: 26 Августа, 2013 - 18:50:47)

 
 Top
Мелкий Супермодератор
Отправлено: 26 Августа, 2013 - 18:54:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




PHP:
скопировать код в буфер обмена
  1. $sLastRowDate = null;
  2. while (/**/) {
  3. if ($sLastRowDate == $data['date']) {
  4. $sLastRowDate = $data['date'];
  5. echo 'первое упоминание даты '.$data['date'];
  6. }
  7. }


-----
PostgreSQL DBA
 
 Top
sprinter
Отправлено: 26 Августа, 2013 - 19:18:59
Post Id


Новичок


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


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




Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. $sLastRowDate = null;
  2. while (/**/) {
  3. if ($sLastRowDate == $data['date']) {
  4. $sLastRowDate = $data['date'];
  5. echo 'первое упоминание даты '.$data['date'];
  6. }
  7. }


Че то не получается интегрировать. Объясни как прикрутить его плз.
(Добавление)
Народ помогите пожалуйста. Что поделать не догоняю я пока что и куда вставлять.
 
 Top
loktionov272
Отправлено: 26 Августа, 2013 - 20:52:18
Post Id


Гость


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


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




sprinter пишет:
интегрировать

1. Test1 Test 123 | 26 aug 2013
2. Test11 Test 4123
3. Test12 Test 7123 | 27 aug 2013
4. Test16 Test 9123
5. Test17 Test 123123
PHP:
скопировать код в буфер обмена
  1. $data = array(
  2.     array(1, '26 aug 2013', 'Test1 Test 123'),
  3.     array(2, '26 aug 2013', 'Test11 Test 4123'),
  4.     array(3, '27 aug 2013', 'Test12 Test 7123'),
  5.     array(4, '27 aug 2013', 'Test16 Test 9123'),
  6.     array(5, '27 aug 2013', 'Test17 Test 123123')
  7. );
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. $date = null;
  16. foreach($data as $v) {
  17.     echo $v[0] .'. ' . $v[2];
  18.  
  19.     if($date != $v[1])
  20.         echo ' | ' . $v[1];
  21.  
  22.     $date = $v[1];
  23.     echo '<br/>';
  24. }
 
 Top
sprinter
Отправлено: 26 Августа, 2013 - 21:04:19
Post Id


Новичок


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


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




Ниче что в $data находится все из sql запроса?

(Отредактировано автором: 26 Августа, 2013 - 21:06:08)

 
 Top
loktionov272
Отправлено: 26 Августа, 2013 - 21:10:11
Post Id


Гость


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


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




sprinter пишет:
Ниче

Ниче
(Добавление)
Только не нужно говорить, что этот код не рабочий, это лишь пример. Результат работы уже привёл.
 
 Top
sprinter
Отправлено: 26 Августа, 2013 - 21:34:12
Post Id


Новичок


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


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




loktionov272 скрипт что то выводит тока я чето не догоняю что именно. Вот пример:

1.
1.
.
.
6.2 | u
6.2
9.- | 0
9.-
l. | c
l.
a. | i
a.
2. |
2.
.
.
6.2 | u
6.2
9.- | 1
9.-
v.a | n
v.a
h.e | c
h.e
3. |
3.

Такого в базе не наблюдаю. Может я че то криво прописал.
 
 Top
scarzie
Отправлено: 26 Августа, 2013 - 21:39:13
Post Id


Новичок


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


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

[+]


sprinter пишет:
Может я че то криво прописал.
- да, 100%.
Полный код в студию (в смысле не полный-полный, а именно этот кусок).
 
 Top
loktionov272
Отправлено: 26 Августа, 2013 - 21:40:28
Post Id


Гость


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


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




sprinter пишет:
Может я че то криво прописал.

Свои значения то подставь
 
 Top
sprinter
Отправлено: 26 Августа, 2013 - 21:43:18
Post Id


Новичок


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


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




Вот весь код:

$ath = mysql_query("select * from ticket order by date desc;");
if($ath)
{
echo "<table border=1 cellspacing=1 cellpadding=0>";

$date = null;

while($data = mysql_fetch_array($ath))
{

foreach($data as $v) {

echo $v[0] .'. ' . $v[2];

if($date != $v[1])
echo ' | ' . $v[1];
$date = $v[1];
echo '<br/>';

}
echo "<tr><td colspan=4></td></tr>
<tr><td><a href=edit.php?id=".$data['id'].">edit&nbsp;</a></td><td>".$data['date']."</td><td width=85>".$data['subject']."</td><td>".$data['body']."</td></tr>";
}
echo "</table>";
}
(Добавление)
Все допер!!!
Спасибо Мелкий за намек. Все оказалось не так запутано!

(Отредактировано автором: 26 Августа, 2013 - 21:48:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB