|
|
|
| Приведите пожалуйста самый простой пример етого скрипта.
Есть два текстовых поля (название новости и сам текст новости) и кнопка записать.
т.е. надо чтобы эти значения записывались в базу.
А потом выводить эти новости из базы, чтобы самая новая ность была вверху... помогите плз новичку.. изучаю php ) | |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 10:10)
| | Обработчик добавления данных из формы в базу данных:
<?php
//получаем из формы введенный заголовок новостей:
$newsheader = $_POST['newsheader'];
//получаем из формы главную часть новостей:
$newsmainpart = $_POST['newsmainpart'];
//дальше записываем эти данные в поля 'newsheader' и 'newsmainpart' таблицы 'news' базы данных:
// для этого соединяемся с базой:
$link_id = mysql_connect("localhost или адрес_сервера_на_котором_база_лежит", "имя_базы", "password");
if(!$link_id)
{
echo "Ошибка соединения с базой данных. ERROR: " . mysql_error();
exit;
}
mysql_query("USE имя_базы", $link_id);
//теперь записываем данные:
$insertnews = mysql_query("INSERT INTO news(newsheader, newsmainpart) VALUES(newsheader, newsmainpart)", $link_id);
if(!$insertnews)
{
"Ошибка! Новость не добавлена. ERROR: " . mysql_error();
}
else
{
"Данные успешно добавлены!";
}
|
Обработчик вывода новостей на экран:
<?php
$link_id = mysql_connect("localhost или адрес_сервера_на_котором_база_лежит", "имя_базы", "password");
if(!$link_id)
{
echo "Ошибка соединения с базой данных. ERROR: " . mysql_error();
exit;
}
mysql_query("USE имя_базы", $link_id);
//теперь извлекаем данные из таблицы 'news':
$select = mysql_query("SELECT newsheader, newsmainpart FROM news ORDER BY newsauto_increment DESC", $link_id);
//newsauto_increment - это еще одно поле в таблице 'news' типа AUTO_INCREMENT оно нужно для возможности сортировки новостей по порядку их добавления в базу.
if(!$select)
{
"Данные не извлечены из базы данных. ERROR: " . mysql_error();
}
else
{
<table border="1">
while($result = mysql_fetch_array($select))
{
?>
<tr>
<td><? echo $result[newsheader] ?></td>
</tr>
<tr>
<td><? echo $result[newsmainpart] ?></td>
</tr>
<?
}
</table>
}
?>
|
Вот так вот! | |
|
|
|
|
|
|
|
для: SilentChild
(04.06.2008 в 11:40)
| | Почему выдает ошибку разобраться не могу. Помогите плз!! Сделал так :
<?php
require("config.php");
if (!empty($_POST["newsheader"]))
{
$newsheader = addslashes(strip_tags($_POST["newsheader"]));
$newsmainpart = addslashes(strip_tags($_POST["newsmainpart"]));
$add_news = @mysql_query("INSERT INTO news VALUES (0, '$newsheader', '$newsmainpart')");
if ($add_news)
{
echo "новость успешно добавлена!";
}
else
{
my_exit("К сожалению, произошла ошибка! ".mysql_error());
}
}
else
{
?>
<form method="post">
<input type="text" name="newsheader" maxlength="25">
<input type="text" name="newsmainpart" maxlength="25">
<br><input type="submit" value="Отправить"></form><br><br><hr>
<?php
}
?>
|
После нажатия на кнопку отправить вылезает вот такая вот ошибка:
Fatal error: Call to undefined function my_exit() in /public_html/news/index.php on line 18 | |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 16:12)
| | Где у вас определена my_exit() | |
|
|
|
|
|
|
|
для: mihdan
(04.06.2008 в 16:20)
| | Всмысле где она определена ? в скрипте) скрипт находится постом выше | |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 16:25)
| | с my_exit разобрался.. теперь пишет такую ошибку:
К сожалению, произошла ошибка! Column count doesn't match value count at row 1 | |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 16:32)
| | Вот здесь нужно указать идентификатор соединения:
$add_news = @mysql_query("INSERT INTO news VALUES (0, '$newsheader', '$newsmainpart')", $link_id);
|
И ноль вы еще добавляете? это что там за поле у вас! | |
|
|
|
|
|
|
|
для: SilentChild
(04.06.2008 в 16:52)
| | ребят а можите сказать что в этом коде:
if (!empty($_POST["newsheader"]))
{
$newsheader = addslashes(strip_tags($_POST["newsheader"]));
$newsmainpart = addslashes(strip_tags($_POST["newsmainpart"]));
|
делает строка:
if (!empty($_POST["newsheader"]))
{
|
| |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 17:11)
| |
<?
if (!empty($_POST["newsheader"]))
{}
?>
|
Если отправлен заголовок новости - обрабатываем
<?
$add_news = mysql_query("INSERT INTO `news` VALUES (null, '$newsheader', '$newsmainpart')") or die(mysql_error);
?>
|
| |
|
|
|
|
|
|
|
для: t3ma
(04.06.2008 в 17:11)
| |
ребят а можите сказать что в этом коде:
if (!empty($_POST["newsheader"]))
{
$newsheader = addslashes(strip_tags($_POST["newsheader"]));
$newsmainpart = addslashes(strip_tags($_POST["newsmainpart"]));
|
Это значит что если в поле формы 'newsheader' ничего не ввели, то выполняется следующий в скобках скрипт! | |
|
|
|
|
|
|
|
для: SilentChild
(05.06.2008 в 01:34)
| | >Это значит что если в поле формы 'newsheader' ничего не ввели, то выполняется следующий в скобках скрипт!
Вернее наоборот, если поле 'newsheader' не пустое или не равно 0 тогда выполняются дальнейшие действия... | |
|
|
|
|
|
|
|
для: KPETuH
(05.06.2008 в 05:13)
| | спасибо.. разобрался)
я вот таким вот образом вывожу новости из базы:
<?php
require("config.php");
$get_news = @mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 3");
while ($news = @mysql_fetch_array($get_news))
{
echo "ID: $news[id]<br>$news[putdate]<br>$news[body]
<br><hr>\r\n";
}
?>
|
щас выводятся из базы последние три новости (самая нововая новость отображается вверху)
как мне сделать так: если в базе новостей больше трех, то отображаем ссылку: Все новости (12)
Если меньше трех то ссылку непоказываем.
помогите плз | |
|
|
|
|
|
|
|
для: KPETuH
(05.06.2008 в 05:13)
| | KPETuH, спасибо - упустил "!" из виду | |
|
|
|