imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 25.07.2003, 11:21     # 1
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
Динамические ссылки на ПХП

Такая вот задача:

на главной странице появляется текст ( случайный ) но так как он достаточно большой то надо чтобы появилась кнопка "далее" и этой ссылке дмнамически ( есть ПХП) создавалась страница с продолжением этого же текста.

Последний раз редактировалось Aeon; 29.07.2003 в 09:38.
$pher@ вне форума  
Старый 25.07.2003, 11:40     # 2
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
значит загоняешь весь текс в массив... вот накидал, короче, посмотри. Если что непонятно, то спрашивай
PHP код:
// $text - твой текст ввиде массива
if(empty(!$from)) $from 0// с какой страницы показать текст (первая имеет нулевой индекс)
$strings_onpage 10// количество строк на странице
if(count($text) < (($from 1)*$strings_onpage) - 1$to count($text) - 1;
else 
$to = ($from 1)*$strings_onpage 1;
for(
$strCount $from*$strings_onpage$strCount <= (($from 1)*$strings_onpage 1); $str_count++){
    echo 
$text[$strCount];
    }
if(
count($text) > (($from 1)*$strings_onpage) - 1)){
   echo 
"<A href='text.php?from=" $from "'>далее</A>";
   } 
sanchos вне форума  
Старый 25.07.2003, 12:54     # 3
medved2002
Guest
 
Сообщения: n/a

массивы памяти много жрут.... по моим личным наблюдениям... могу ошибаться.
 
Старый 25.07.2003, 12:58     # 4
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Наверное, да... ведь, как она говорит, что текста много
Значит просто сделать чтение нужных строк fgets'ом. Думаю быстрее будет
sanchos вне форума  
Старый 26.07.2003, 05:10     # 5
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
SaNChos
Цитата:
Значит просто сделать чтение нужных строк fgets'ом. Думаю быстрее будет
это как?
$pher@ вне форума  
Старый 26.07.2003, 05:40     # 6
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Может конечно и не fgets'ом делать, но смысл в том, что при каждом открытии страницы нужно хранить не весь текст в массиве (если он большой, то будет жрать много памяти), а читать только енобходимые строки и сразу выводить их
Поняла? Или код дать?
sanchos вне форума  
Старый 26.07.2003, 06:15     # 7
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
SaNChos

ЛУчше код :-)
$pher@ вне форума  
Старый 28.07.2003, 09:11     # 8
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Хорошо. Тога первый вопрос: как ты получаешь информацию, которую надо отобразить? Всмысле читаешь ли ты ее из файла, либо каким-то другим способом?
sanchos вне форума  
Старый 28.07.2003, 12:44     # 9
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
SaNChos
Есть файл с текстовой информацией (примерно 150 кб) нужно выводить блоками в случайном порядке (что-то типа вывода анекдотов: начало...+линк "далее")
$pher@ вне форума  
Старый 28.07.2003, 12:55     # 10
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
<тихо, в сторону>
а через базу было-бы проще, думается мне...
</тихo>
Aeon вне форума  
Старый 28.07.2003, 13:45     # 11
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
Aeon

да кстати база есть MySQL
$pher@ вне форума  
Старый 28.07.2003, 15:33     # 12
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
$pher@
Так тебе надо по порядку выводить, либо выборочно?

Aeon
<тихо... совсем...>
Думаю, что тоже... да и выборку не так гемморойно делать
</тихо>
sanchos вне форума  
Старый 28.07.2003, 22:26     # 13
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
<тихо... совсем...>
А может книжку какую посоветовать ...
</тихо>
RaZEr вне форума  
Старый 28.07.2003, 23:05     # 14
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
простейший вариант с базой:
Код:
mysql
CREATE TABLE snippets (id SMALLINT NOT NULL DEFAULT '0' AUTO_INCREMENT, txt TEXT, PRIMARY KEY id);
текст загоняется в эту таблицу, вручную или автоматом, неважно. Показываем:
PHP код:
// ------------------------------- //
// list.php
// случайный список пяти первых строк.
// ------------------------------- //
$sql 'SELECT id, LEFT(txt,79) FROM snippets ORDER BY RAND() LIMIT 5'
// выбираем id и первые 79 букв текста из случайных пяти строк.
$result mysql_query($sql) or die(mysql_error());
while(
$row AS mysql_fetch_row($result))
{
     
// если хочется, потом можно добавить функции чтобы обрезать
     // текст по последней точке или пробелу, чтобы избежать обрыва
     // в середине слова. Но сейчас лень.
     
echo $row[1].'... <a href="detail.php?id='.$row[0].'">далее</a>';
}

// ------------------------------- //
// detail.php
// показываем весь текст.
// ------------------------------- //
$sql "SELECT txt FROM snippets WHERE id='{$_GET['id']}'";
$result mysql_query($sql) or die(mysql_error());
$text mysql_result($result0);
echo 
$text

Последний раз редактировалось Aeon; 28.07.2003 в 23:09.
Aeon вне форума  
Старый 29.07.2003, 04:38     # 15
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
SaNChos

выборочно, в случайном порядке

Aeon
Цитата:
code:--------------------------------------------------------------------------------
mysql
CREATE TABLE snippets (id SMALLINT NOT NULL DEFAULT '0' AUTO_INCREMENT, txt TEXT, PRIMARY KEY id);
а с этим что делать?
$pher@ вне форума  
Старый 29.07.2003, 06:21     # 16
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
$pher@
это синтакс команыд для создания простой таблицы для этих твоих текстов в базе. Как создавать таблицы я надеюсь ты знаешь?
Aeon вне форума  
Старый 29.07.2003, 09:22     # 17
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
Aeon
Думаю, что придется писать и как таблицу создавать и как туда текст запихивать 6)
sanchos вне форума  
Старый 29.07.2003, 09:30     # 18
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
SaNChos
*тяжело вздыхает*
Aeon вне форума  
Старый 29.07.2003, 10:57     # 19
sanchos
::VIP::
Художник-2004
 
Аватар для sanchos
 
Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604

sanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэйsanchos Сэнсэй
RaZEr
Может дейсвительно дашь девушке пару ссылочек?
sanchos вне форума  
Старый 30.07.2003, 04:45     # 20
$pher@
::VIP::
 
Аватар для $pher@
 
Регистрация: 27.12.2002
Адрес: Остров мысли в Океане разума
Пол: Female
Сообщения: 973

$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй$pher@ Сэнсэй
SaNChos

Да уж, наверное я непонимаю многого в пхп, давайте еще раз по порядку с начала:
1...
2...
3...и т.д.
$pher@ вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:55.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.