Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: вывод из MySQL фрагмента статьи

Сообщения:  [1-10]   [11-13] 

 
 автор: mr dee   (22.03.2007 в 00:32)   письмо автору
 
   для: oven   (05.03.2007 в 19:13)
 

Элементарно :)

Допустим в этой же таблице ты сделал ячейку - minitext
То просто меняешь это:
echo '<a href='fulltext.php?id='.$row['id'].''><p>'.$row['text'].'</p></a>';

на это:
echo '<a href='fulltext.php?id='.$row['id'].''><p>'.$row['minitext'].'</p></a>';

   
 
 автор: oven   (05.03.2007 в 19:13)   письмо автору
 
   для: mr Bin   (27.02.2007 в 19:41)
 

А если сделать дополнительное поле в таблице с кратким описанием и выводить эти описания то как сделать под каждым ссылку на полную статью?

   
 
 автор: mr Bin   (27.02.2007 в 19:41)   письмо автору
 
   для: oven   (26.02.2007 в 18:08)
 

Ну я же написал всё...


// Вывод информации из базы данных 
echo '<p><b>Постраничный вывод информации</b></p>'; 
$result = mysql_query('SELECT * FROM home LIMIT '.$start_pos.', '.$perpage) or die('Error!'); 
while ($row = mysql_fetch_array($result)) { 
echo '<p>'.$row['text'].'</p>'; 



в этом куске тебе нужно сделать ссылку на статью:
echo '<p>'.$row['text'].'</p>';
меняешь на
echo '<a href='fulltext.php?id='.$row['id'].''><p>'.$row['text'].'</p></a>';

это сработает при условии, что у тебя каждая статья пронумерована...
как обрубить не помню, сам поищи...
вывод каждой статьи у тебя выведется сплошной ссылкой, нажав на котрую, ты переходишь на другой скрипт.

Создай файл fulltext.php

<?php 
$id 
$_GET["id"]; 
$result mysql_query('SELECT * FROM home WHERE id = '$id' '); 
while(
$full=mysql_fetch_array($result)) 

echo 
'$full[text]'

?>


Например у тебя там есть статья под номером(id) 115.
Нажав в своём скрипте(где постраничка) на ссылку, ты переходишь в новый скрипт, и адрес у тебя получится такой - fulltext.php?id=115
этой строкой $id = $_GET["id"]; мы вытягиваем значание id из адресной строки, т.е. 115.
далее вставляем это число в запрос:
$result = mysql_query('SELECT * FROM home WHERE id = '$id' ');
тем самым мы выбираем нужную нам статью..
ну а дальше она полностью выводится..

итак, от тебя требуется найти функцию, которая обрубит текст.. а остальное я всё описал...

   
 
 автор: oven   (26.02.2007 в 18:08)   письмо автору
 
   для: oven   (25.02.2007 в 10:03)
 

Народ! Ну помогите кто нибудь, пожалуйста! Очень прошу!

   
 
 автор: oven   (25.02.2007 в 10:03)   письмо автору
 
   для: mr Bin   (24.02.2007 в 21:55)
 

Я просто только начинаю все это изучать и мне крайне трудно разобраться и понять что же надо сделать, может кто подробнее расскажет как это реализовать.
Ребята, ну помогите, ведь тем кто разбирается наверняка это не сложно и много времени не займет!

   
 
 автор: mr Bin   (24.02.2007 в 21:55)   письмо автору
 
   для: oven   (24.02.2007 в 21:28)
 

$row['text'] ограничить 200 символами, т.е. обрезать.
Сделать ещё один скрипт, или добавить в существующий функцию, которая будет выводить определённую статью, в зависимости от id.
id должен быть в строке браузера и методом $GET выдираешь его и вставляешь в запрос.

Смысл такой:
$row['text'] обхватываешь ссылкой, на страницу, где будет полный текст.
в формировании урл нужно будет просто сделать типо того <a href="fulltext.php?id=$row[id]">$row[text]</a>
в зависимости от id тебе выведется статья.
fulltext.php

<?php
$id 
$_GET["id"];
$result mysql_query('SELECT * FROM home WHERE id = '$id' ');
while(
$full=mysql_fetch_array($result))
{
echo 
'$full[text]';
}
?>


p.s. Как обрезать текст не помню.

   
 
 автор: oven   (24.02.2007 в 21:28)   письмо автору
 
   для: mr Bin   (23.02.2007 в 16:35)
 

Текст статей будет выглядеть примерно следующим образом :
<p>Первая и самая серьезная ошибка, которую может допустить неопытный веб-дизайнер, -это ориентация на чужую целевую аудиторию. <img src="images/generalim/dut.gif" width="30" height="30" hspace="10" vspace="10" align="left">Сайт создается для того, чтобы его посещали.При неправильном позиционировании материалов все ваши посетители будут лишь случайными интернет-серферами. Что случится, если вы будут выкладывать на веб-сайте, посвященном новым моделям бытовой техники, обзоры литературных новинок? Ничего, разумеется, хорошего. Запомните, каждый материал имеет своего адресата. Попытка сыграть на чужой территории ничего хорошего не принесет.</p>.... и т.д.

Скрипт постраничной навигации такой:

<?php
function yandex_link_bar($page, $count, $pages_count, $show_link)

{
// $show_link - это количество отображаемых ссылок;
// нагляднее будет, когда это число будет парное
// Если страница всего одна, то вообще ничего не выводим
if ($pages_count == 1) return false;
$sperator = ' '; // Разделитель ссылок; например, вставить "|" между ссылками
// Для придания ссылкам стиля
$style = 'style="color: #003399; text-decoration: none;"';
$begin = $page - intval($show_link / 2);
unset($show_dots); // На всякий случай :)
// Сам постраничный вывод
// Если количество отображ. ссылок больше кол. страниц
if ($pages_count <= $show_link + 1) $show_dots = 'no';
// Вывод ссылки на первую страницу
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page=1> |< </a> ';
}
for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
{
$i = $begin + $j; // Номер ссылки
// Если страница рядом с началом, то увеличить цикл для того,
// чтобы количество ссылок было постоянным
if ($i < 1) continue;
// Подобное находится в верхнем цикле
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i-1).'><b>...</b></a> ';
$show_dots = "no";
}
// Номер ссылки перевалил за возможное количество страниц
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
} else {
echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.$i.'>'.$i.'</a> ';
}
// Если номер ссылки не равен кол. страниц и это не последняя ссылка
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
// Вывод "..." в конце
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i+1).'><b>...</b></a> ';
}
}
// Вывод ссылки на последнюю страницу
if ($begin + $show_link + 1 < $pages_count) {
echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.$pages_count.'> >| </a>';
}
return true;
} // Конец функции

// Подключение к базе данных
mysql_connect('localhost', 'test', '1977') or die('Error! Нет соединения с сервером MySQL!');
mysql_select_db('testhome') or die('Error! Нет соединения с базой данных!');

// Подготовка к постраничному выводу
$perpage = 1; // Количество отображаемых данных из БД
if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_GET['page']; // Считывание текущей страницы
}
// Общее количество информации
$count = mysql_num_rows(mysql_query('SELECT * FROM home')) or die('Error! Записей не найдено!');
$pages_count = ceil($count / $perpage); // Количество страниц
// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран

yandex_link_bar($page, $count, $pages_count, 10);

// Вывод информации из базы данных
echo '<p><b>Постраничный вывод информации</b></p>';
$result = mysql_query('SELECT * FROM home LIMIT '.$start_pos.', '.$perpage) or die('Error!');
while ($row = mysql_fetch_array($result)) {
echo '<p>'.$row['text'].'</p>';
}
?>

Вот как здесь сделать не полный вывод статей, а как писалось выше, допустим по 200 символов с ссылкой на полный текст?

   
 
 автор: mr Bin   (23.02.2007 в 16:35)   письмо автору
 
   для: oven   (22.02.2007 в 14:01)
 

Продумай сначала как легче всё сделать.. а то сам себе яму копаешь..
Добавляй в бд только чистый текст.. а дальше его можно выводить обрезая, т.е. допустим публиковать только первые 200 символов.. и в зависимости от id пересылать на страницу.. где уже полная статья..

   
 
 автор: oven   (22.02.2007 в 14:01)   письмо автору
 
   для: cheops   (22.02.2007 в 13:33)
 

Планировал таблицы использовать, но можно и без таблиц - простое форматирование текста.

   
 
 автор: cheops   (22.02.2007 в 13:33)   письмо автору
 
   для: oven   (22.02.2007 в 12:56)
 

C HTML-текстом сложнее работать - в нём таблицы используются или только простейшие тэги <b></b> и т.п.?

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования