Добрый день. Подскажите пожалуйста... Есть необходимость нумировать сообщения на форуме или гостевой книге в каждой ветке, каким образом этого можно достичь? Имеется двумерный массив: Код (Text): array(2) { [0]=> array(8) { ["id"]=> string(2) "41" ["mid"]=> string(1) "0" ["fid"]=> string(1) "5" ["type"]=> string(5) "topic" ["title"]=> string(21) "Первая тема" ["text"]=> string(6) "раз" ["user"]=> string(1) "1" ["date"]=> string(12) "25/11, 15:45" } [1]=> array(8) { ["id"]=> string(2) "74" ["mid"]=> string(2) "41" ["fid"]=> string(1) "0" ["type"]=> string(5) "reply" ["title"]=> string(0) "" ["text"]=> string(6) "выа" ["user"]=> string(5) "admin" ["date"]=> string(12) "05/02, 10:45" } } Предполагаю что нужно выдергивать индексы массивов с ++, но не могу понять как...
"счетчики" будут в базе, незачем их выдергивать в массив. придумай и создай таблицы в бд. опиши для себя основные операции, которые будут выполняться твоим форумом или гостевой. для каждой операции опиши как будут изменяться данные в таблицах. всё просто! детальный план это фактически готовая программа.
Не совсем понял. Я открываю тему на форуме, у меня показывает тему, сообщение и ответы на нее... Теме присваивается 1 индекс, и каждому последующему ответу инкримент +1, и так в каждой теме. Вот я и спрашиваю, как этот функционал реализовывается... ? Пришел к выводу что можно дернуть индексы массива, если не так то как еще можно это сделать?
нет такого, я тебя уверяю! я с форумами давно работаю. форумы, тема и сообщения нумеруются автоматически самой бд. это называется автоинкрементный ключ. сообщения в каждой теме не начинаются с единицы !!! нумерация продолжается: если всего на сайте 10 сообщений, то следующее получит номер 11 — независимо от того, в какой теме его создали. Добавлено спустя 17 минут 51 секунду: наверное мы друг друга не поняли. при выводе на страничку, ты волен использовать любые счетчики, какие придумаешь. от этого темы и сообщения не изменятся. Код (PHP): $i = 1; while ($row = mysqli_fetch_assoc($result)) { echo ($i++) . ' ' .$row['message'] . "<br>\n"; } я просто в начале подумал, что ты уже умеешь делать подобные вещи.
а мы еще не поняли друг друга ) вот пример... http://desert.com.ru/forum/bugs/2485/ id = 2485 а нумерация сообщения начинается в данной теме начинается с 1 и каждый ответ +1 вот об этом счетчике
ну это ты не понял друг друга. сомбреро тебе все правильно подсказал. пока итерируешь свои посты - выводи значение инкремента счетчика. вот и будет тебе от одного и так далее.
тут трудность другая... Итерации делаются форичем... Код (Text): <?php foreach($messages as $message): ;?> <tr> <td valign="top" align="center"><p><a href="info.php?id=<?=$user->getUserID($message['user'])?>"><?=$message['user']?></a></p></td> <td> <table width="100%"> <tr> <td align="left"><small>ТУТ_ВСТАВИТЬ_СЧЕТЧИК</small></td> <td align="right"><small>Написано: <?=$message['date']?></small></td> </tr> </table> <br> <?=nl2br(htmlentities($message['text']))?> </td> </tr> <?php endforeach ;?> Если туда While впихну, ту будет дублирование... не?
Enjoy, ну а подумать? Вариант 1: Код (PHP): foreach ($messages as $n => $message) Вариант 2: Код (PHP): $n=0; foreach ($messages as $m) { // ... $n++; }
тут трудность в нулевых познаниях алгоритма и нулевой смекалке и так далее. объявление счетчика будет за пределами цикла $i = 0; а в теле цикла у тебя будет вывод значения и его прекремент echo ++$i; а цикл, в теле которого выводится счетчик, может быть и while, и do-while, и for, и foreach и даже через сраное goto. вообще не важно. алгоритм вывода значения счетчика от этого вообще никак не поменяется. я смотрю ты за пол года не удосужился алгоритмизацию освоить, а программы пишешь.
Спасибо! я уже в БД хотел счетчик пихать.... спасибо!! Добавлено спустя 1 минуту 14 секунд: Вот скажи, тебя чем жизнь обидела? Если тебя все так бесит, и ты такой профи, сходи в другие треды побеседуй...
меня жизнь вообще не обидела. тебя обидела. ты не знаешь как прикрутить простейший вывод счетчика посреди итерации ответа от субд. кто за тебя писал работу с субд? бабуля? а если ты сам то почему ты не знаешь как сюда вставить вывод счетчика? у меня в голове не укладывается такое противоречие.
Enjoy у меня как-то был опыт общения с работником, который знал пхп, чета кодил, даже где-то поднял магазин, но вывести счётчик внутри фора не смог. Это эпик фейл был. Вот ты ща то же самое делаешь, а ещё пытаешься модераторов привлечь для давления на оппонентов. Фу таким быть. Добавлено спустя 2 минуты 5 секунд: это твоё хамство это ответ на твоё хамство. В личку ты получил ровно такую ситуацию. Меняй подход и общение наладится.