ФорумПрограммированиеPHP для идиотов → Обьединение сообщений при выводе.

Обьединение сообщений при выводе.

  • armageddance

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 3:44

    Пытаюсь обединить исходящие сообщения у пользователя, в случае если у них совпадает дата отправки $im['date_sent'] (а она совпадает в том случае, если сообщение отправлялось массово). На практике это означает пропуск дублированных сообщений и впихивание всех admin_fio в один блок $admin_fio_list и разделение пробелом.

    Набросал вот такой код:

    <?php $date_sent_checker=array();
    $y=0;
    $admin_fio_list=array();
    while($im=mysqli_fetch_assoc($outcoming_messages)){
    $y++;
    $date_sent_checker[$y]=$im[&#39;date_sent&#39;];
    if($date_sent_checker[$y]==$date_sent_checker[$y-1]) {
    //$admin_fio_list[$y]=$admin_fio_list[$y-1];
    $admin_fio_list[$y-1].=$im[&#39;admin_fio&#39;].&quot; &quot;;
    }
    else { $admin_fio_list[$y]=$im[&#39;admin_fio&#39;];?>
    <tr><td>
    <p class=&quot;maintext&quot;><?php echo $admin_fio_list[$y]; ?></p>
    <p class=&quot;maintext&quot;><?php echo $im[&#39;date_sent&#39;]; ?></p></td>
    <td><a href=&quot;#&quot; id=&quot;im_<?php echo $im[&#39;admin_id&#39;];?>&quot;><?php echo $im[&#39;message_content&#39;]; ?></a></td></tr>

    <? } } ?>

    Но пока не получается поместить в исходящих сообщениях все admin_fio в один блок. Есть подозрения, это оттого, что php не работает с предыдущими итерациями цикла в текущей итерации.
  • Animator

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 4:05, спустя 21 минуту 13 секунд

    а так не пробовал
    $date_sent_checker[$im[&#39;date_sent&#39;]]
  • armageddance

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 4:09, спустя 4 минуты 11 секунд


    а так не пробовал
    $date_sent_checker[$im[&#39;date_sent&#39;]]


    да не суть важно как время сравнивать, какие ключи использовать, у меня в коде вот проблемное место: $admin_fio_list[$y-1].=$im[&#39;admin_fio&#39;].&quot; &quot;;
    Хз как в предыдущий элемент цикла засунуть текущий элемент.
  • Animator

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 4:24, спустя 15 минут 17 секунд

    $admin_fio_list[$y-1].=$im[&#39;admin_fio&#39;].&quot; &quot;;
    - ну да, я до туда и не дошел :)

    во первых, нахрена точка перед знаком равно?
    во вторых, есть хорошая функция var_dump() называется
    в третьих, сначала собери массив, убедись что тебе именно такой массив надо, а потом уже ХТМЛ рисуй

    ты случайно на в дримвивере все это делаешь?
  • armageddance

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 4:45, спустя 21 минуту 9 секунд


    $admin_fio_list[$y-1].=$im[&#39;admin_fio&#39;].&quot; &quot;;
    - ну да, я до туда и не дошел :)

    во первых, нахрена точка перед знаком равно?
    во вторых, есть хорошая функция var_dump() называется
    в третьих, сначала собери массив, убедись что тебе именно такой массив надо, а потом уже ХТМЛ рисуй

    ты случайно на в дримвивере все это делаешь?

    Точка= - прибавление к предыдущему элементу нового элемента, конкатенция, так я собираю массив из admin_fio
    Сейчас попробую массив пособирать.
    Нет, я в rapid php работаю.
  • Animator

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 7 июля 2011 г. 5:31, спустя 45 минут 6 секунд


    $y++; // $y = 1
    $date_sent_checker[$y]=$im[&#39;date_sent&#39;]; // $date_sent_checker[1] = какая то дата var_dump($date_sent_checker) array( 1 => date_sent )
    if($date_sent_checker[$y]==$date_sent_checker[$y-1]) { // если $date_sent_checker[1] == $date_sent_checker[1-1 тоесть 0] с какого собствено х…
  • Andreus

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 15:28, спустя 408 дней 9 часов 57 минут

    В лесу родилась елочка, в лесу она росла. Зимой и летом стройная, зеленая была.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!