Доброго времени суток! Есть страница news.php и в ней код вывода новостей из БД с разбивкой по страницам: Code: <?php include ('auth.php'); /* Определяем количество сообщений на странице */ $lim = "10"; @$page = $_GET['page']; /* Меняем table на название вашей таблицы и не забываем указывать дополнительные параметры выборки (если они у вас есть) */ $res = mysql_query("SELECT COUNT(*) FROM news ORDER BY date"); $row = mysql_fetch_array($res); $posts = $row[0]; $str = ceil($posts/$lim); if(empty($page) or $page < 0) $page = 1; if($page > $str) $page = $str; $start = $page * $lim - $lim; /* Дальше подставляете свой код вывода данных из базы в цикле, но обязательно укажите LIMIT $start, $lim */ $result = mysql_query("SELECT date,text FROM news ORDER BY date DESC LIMIT $start, $lim",$db); $myrow = mysql_fetch_array($result); $n=mysql_num_rows($result); echo "<table border=1> <tr><th>Дата</th><th>Новость</th><th>Edit</th><th>Delete</th></tr>"; // и теперь в цикле выводим построчно for($i=0;$i<$n;$i++) echo "<tr><td><b>",mysql_result($result,$i,date), "</b></td><td>",mysql_result($result,$i,text), "</td><td>[COLOR=SandyBrown]Edit[/COLOR] </td><td>[COLOR=SandyBrown]Delete[/COLOR] </td></tr>"; echo "</table>"; {printf ("<p>%s</p>",$myrow["title"]);} while ($myrow = mysql_fetch_array ($result)); /* Дальше все остается без изменений */ echo '<a href=?page='. ($page - 1) .'>Назад</a>**'; $i=1; while ($i <= $str) { if ($i==$page) {echo '<strong><a href=?page='.$i.'>'.$i.'</a></strong>*';} else {echo '<a href=?page='.$i.'>'.$i.'</a>*';} $i = $i+1; } echo '**<a href=?page='. ($page + 1) .'>Вперед</a>'; ?> Что нужно прописать вместо Edit и Delete, чтобы новость можно было редактировать или удалить. Пробовал следующее прописать: Code: "</td><td><a href="news.php?page_title='.$myrow["title"].'">Edit</a> </td><td><a href="news.php?page_title='.$myrow["title"].'&delete=y">Удалить</a> </td></tr>"; но не получилось - вообще таблица перестает отображаться...
для начала научится разделять серверную часть получения данных ... и клиентскую для ее отображения .. и тогда не будет вопросов почему поломалась таблица и все такое
Предложите ваш вариант написания скрипта. Я разберусь, как должно быть и приму к сведению. Я еще учусь и потому просьба - не хаять, а показать, как правильно делать.
Да. Просто выводится список новостей в виде таблицы. И в каждой строке есть 2 столбца: Edit и Delete. Вот как прописать вызов функции, чтобы брался ID новости и совершал с ним вышеозначенные действия.
Ответить на твой вопрос не сложно, но для этого нужно переписать ересь в первом посте=) если за тебя ее напишут - ты ничему не научишься, увы факт. могу посоветовать для начала. создай файлик functions.php в нем создай по меньшей мере три функции: view, edit, delete в первой получи список новостей и верни результат массивом. во втором, на входе в функцию принимай массив новых значений новости и айди новости, в самой функции заапдейть новые данные, верни результатом тру или фолс. в третьей, на входе айди новости, в самой функции удаляешь ее из базы, результатом опять же тру или фолс. создай заново файл news.php, подключи в него functions.php. в этом файле ты вызовешь функцию view и получишь свой массив новостей, перебери его в цикле и выведи. создай файл edit_news.php, подключи в него functions.php. в файл передавай гетом/постом айди новости и необходимые параметры изменения и вызывай функцию едит. сообщи юзеру заапдейтилась новость или нет. создай файл delete_news.php, подключи в него functions.php. аналогично с апдейтом. ///// так ты по крайней мере не запутаешься в своем коде. а вообще сходи на http://php.su, почитай там статейки, особый упор сделай на ооп. как осилишь, погугли на тему mvc. успехов=)
Мдя... только со второго раза понял о чем речь... Мне проще все понять из примеров, с комментированиями каждого действия, но раз их нет - буду копать пособия... А так, спасибо за дачу примерно направления.
Долго мучался, но что-то все равно не получается... Может все-таки в виде примеров, а не на словах, покажете... для тех, кто в танке.
Спасибо огромное! Поковырял код - по кирпичикам теперь разбираю, что и как работает. Воткнул все в свой дизайн, изменил данные - все работает на ура!