Ещё должны работать юрлы.например когда я напишу zlo.ru/new=id15 мне откроется новость с id 15. Помогите пожалуйста кто чем может.
Залив новостей в базу происходит так
Форма:
<form action="sevnow.php" target="nov" method="POST" >
Название:<br /> <input type="text" name="name" id="name" class="form" /><br />
Текст:<br /> <textarea name="tekst" id="tekst" class="form2" /></textarea><br />
<input type= "submit" value="Создать" class="main3" />
</form>
РНР файл:
mysql_connect($hostname, $username, $password) or die ("Нет соединения с базой");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$query = "INSERT INTO $table SET name='".$_POST['name']."',
tekst='".$_POST["tekst"]."', data='$cdate'";
mysql_query($query) or die(mysql_error());
mysql_close();
echo "Спасибо ваша новость добавлена";
?>
ключевое поле id;
Спустя 1 день, 21 час, 5 минут, 58 секунд (30.04.2012 - 11:33) ilma55 написал(а):
сперва: в чем проблема?
что не можешь реализовать или понять ход работы?
что не можешь реализовать или понять ход работы?
Спустя 2 дня, 23 часа, 37 минут, 7 секунд (3.05.2012 - 11:10) Sanya написал(а):
Цитата (ilma55 @ 30.04.2012 - 09:33) |
сперва: в чем проблема? что не можешь реализовать или понять ход работы? |
Я просто не представляю как это всё должно работать. Надо что б кто то доступно объяснил или скинул код примера.
Спустя 16 минут, 15 секунд (3.05.2012 - 11:26) ilma55 написал(а):
ну что ж...
предположим что новость ты добавил в БД.
на странице, где у тебя должны выводиться новости кратко, делай вывод банных из твой базы данных
ну как-то так. это просто пример. а там уже со стилями можно поиграться.
а еще и дату добавления лучше выводить
предположим что новость ты добавил в БД.
на странице, где у тебя должны выводиться новости кратко, делай вывод банных из твой базы данных
.....
while ($row = mysql_fetch_assoc($result))
{
echo '<h2>'.$row['title'].'</h2>';
$news = ''; // тут разделяю твой текст по пробелам и вывожу первые 20 слов. ну в нете куча примеров как можно разделить текст. эт так на вскидку
$array=explode(' ',$row['news']);
for ($i=0;$i<20;$i++)
{
$news .= $array[$i].' ';
}
echo '<p>'.$news.'...</p>';
echo '<p><a href="new=.'$row['id']'.">читать далее</a></p>';
}
ну как-то так. это просто пример. а там уже со стилями можно поиграться.
а еще и дату добавления лучше выводить
// тут удаляем все теги из описания. а то будет весело смотреться с ними
выдрал из своего примера. пригодиться тебе
$destr_nws_tag = array('img','p','a','ol','li','strong','span','font','em');
foreach ($destr_nws_tag as $tag)
$row->news = preg_replace('/<[\/]?'.$tag.'[^>]*>/i','',$row->news);
$new_txt1 = '';
$array=explode(' ',$row->news);
for ($i=0;$i<20;$i++)
{
$new_txt1 .= $array[$i].' ';
}
$new_txt1 = str_replace('.','. ',$new_txt1);
?>
<p class="darker"><?php echo stripslashes($new_txt1)."...";?></p>
Спустя 14 минут, 45 секунд (3.05.2012 - 11:41) Sanya написал(а):
Большое спасибо. Щас буду разбираться.
Спустя 2 минуты, 38 секунд (3.05.2012 - 11:43) ilma55 написал(а):
если че то спрашивай
Спустя 24 секунды (3.05.2012 - 11:44) Sanya написал(а):
echo '<p><a href="new=.'$row['id']'.">читать далее</a></p>'; Ругается на эту строчку...
Спустя 8 минут, 20 секунд (3.05.2012 - 11:52) ilma55 написал(а):
ага. тут ругается на кавычки.
либо экранируй их, либо не заморачиваясь
просто
$id_news = $row['id'];
echo '<p><a href="new=.'$id_news'.">читать далее</a></p>';
либо экранируй их, либо не заморачиваясь
просто
$id_news = $row['id'];
echo '<p><a href="new=.'$id_news'.">читать далее</a></p>';
Спустя 8 минут, 2 секунды (3.05.2012 - 12:00) Sanya написал(а):
<?PHP
$hostname = "localhost";
$username = "sanya";
$password = "25041961";
$dbName = "now";
$table = "newnov";
mysql_connect($hostname, $username, $password) or die ("Нет соединения с базой");
mysql_select_db($dbName) or die (mysql_error());
$result = "SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;";
while ($row = mysql_fetch_assoc($result))
{
echo '<h2>'.$row['name'].'</h2>';
$news = 'tekst'; // тут разделяю твой текст по пробелам и вывожу первые 20 слов. ну в нете куча примеров как можно разделить текст. эт так на вскидку
$array=explode(' ',$row['news']);
for ($i=0;$i<20;$i++)
{
$news .= $array[$i].' ';
}
echo '<p>'.$news.'...</p>';
}
?>
Переделал под свою бд ругается. На эту строку while ($row = mysql_fetch_assoc($result)) . Что эта строка делает?
$hostname = "localhost";
$username = "sanya";
$password = "25041961";
$dbName = "now";
$table = "newnov";
mysql_connect($hostname, $username, $password) or die ("Нет соединения с базой");
mysql_select_db($dbName) or die (mysql_error());
$result = "SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;";
while ($row = mysql_fetch_assoc($result))
{
echo '<h2>'.$row['name'].'</h2>';
$news = 'tekst'; // тут разделяю твой текст по пробелам и вывожу первые 20 слов. ну в нете куча примеров как можно разделить текст. эт так на вскидку
$array=explode(' ',$row['news']);
for ($i=0;$i<20;$i++)
{
$news .= $array[$i].' ';
}
echo '<p>'.$news.'...</p>';
}
?>
Переделал под свою бд ругается. На эту строку while ($row = mysql_fetch_assoc($result)) . Что эта строка делает?
Спустя 4 минуты, 47 секунд (3.05.2012 - 12:05) Sanya написал(а):
Ой моя тупость.
$query = "SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
$query = "SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
Спустя 3 минуты, 22 секунды (3.05.2012 - 12:08) ilma55 написал(а):
во первых: так не пиши
SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;
а надо:
SELECT id, name, tekst, data FROM newnov ORDER BY id DESC LIMIT 1;
и походу дела ты не понимаешь что тут...
SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;
а надо:
SELECT id, name, tekst, data FROM newnov ORDER BY id DESC LIMIT 1;
и походу дела ты не понимаешь что тут...
$query = "SELECT id, name, tekst, data FROM mewnow ORDER BY id DESC";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
echo '<h2>'.$row["name"].'</h2>';
$news = '';
// тут разделяю твой текст по пробелам и вывожу первые 20 слов. ну в нете куча примеров как можно разделить текст. эт так на вскидку
$array=explode(' ',$row['tekst']);
for ($i=0;$i<20;$i++)
{
$news .= $array[$i].' ';
}
echo '<p>'.$news.'...</p>';
$url = $row['id'];
echo '<a href="new='.$url.'">read more...</a>';
}
?>
Спустя 6 минут, 16 секунд (3.05.2012 - 12:15) Guest написал(а):
$table = "newnov"; newnov так что здесь без разницы.
SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;
Это вывод последней новости с конца таблицы.
echo '<a href="new='.$url.'">read more...</a>';
href="new=' куда должна быть направлена эта ссылка?
Сори за такие вопросы учу PHP меньше месяца.
SELECT id, name, tekst, data FROM $table ORDER BY id DESC LIMIT 1;
Это вывод последней новости с конца таблицы.
echo '<a href="new='.$url.'">read more...</a>';
href="new=' куда должна быть направлена эта ссылка?
Сори за такие вопросы учу PHP меньше месяца.
Спустя 2 минуты, 18 секунд (3.05.2012 - 12:17) ilma55 написал(а):
да без проблем
ты сам пишешь, что ссылка на новость идет так: new=23, где 23 это id новости
ну и вот вместо $url подставится 23
<a href="new='.$url.'">read more...</a>
ты сам пишешь, что ссылка на новость идет так: new=23, где 23 это id новости
ну и вот вместо $url подставится 23
<a href="new='.$url.'">read more...</a>
Спустя 3 минуты, 32 секунды (3.05.2012 - 12:20) Sanya написал(а):
проблема в следующем я не знаю как через url открыть данные из бд.
Тесть как надо записать url в браузере чтоб открыть эту новость(((((
Тесть как надо записать url в браузере чтоб открыть эту новость(((((
Спустя 4 минуты, 47 секунд (3.05.2012 - 12:25) ilma55 написал(а):
ну смотри.
new=23 указывает на что-то...
на что?
ты же сам написал new=id15
не знаю.
сделай страницу full_news.php и туда передавай свой id
то есть:
a href="full_news.php?id=23"
и там уж получаешь методом get этот 23 и уже выводишь стандартными методами новость
new=23 указывает на что-то...
на что?
ты же сам написал new=id15
не знаю.
сделай страницу full_news.php и туда передавай свой id
то есть:
a href="full_news.php?id=23"
и там уж получаешь методом get этот 23 и уже выводишь стандартными методами новость
Спустя 5 минут, 46 секунд (3.05.2012 - 12:31) Sanya написал(а):
Вот так?
if ($_GET['id']) {
$id = (int)$_GET['id'];
$result = mysql_query("SELECT * FROM $table WHERE `id` = '$id' LIMIT 1");
$row = mysql_fetch_assoc($resut);
$news=$row['News'];
echo $news;
}
if ($_GET['id']) {
$id = (int)$_GET['id'];
$result = mysql_query("SELECT * FROM $table WHERE `id` = '$id' LIMIT 1");
$row = mysql_fetch_assoc($resut);
$news=$row['News'];
echo $news;
}
Спустя 1 минута, 36 секунд (3.05.2012 - 12:33) ilma55 написал(а):
ну да
тока это не надо if ($_GET['id']) {
тока это не надо if ($_GET['id']) {
Спустя 5 часов, 13 минут, 19 секунд (3.05.2012 - 17:46) Sanya написал(а):
Спасибо большое за помощь!. Без тебя бы не справился. Сделал всё что хотел. Спс.
Спустя 47 минут, 5 секунд (3.05.2012 - 18:33) ilma55 написал(а):
да нема за шо