[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простой цитатник
Гость_Михаил
Уважаемые профессионалы, суточные поиски нужного скрипта не дали никаких результатов. поэтому обращаюсь к Вам. Очень хотелось бы разместить на своем сайте цитатник буквально из 50-100 цитат. Какие бы хотелось иметь функции:
  • База данных в текстовом файле;
  • Админка не нужна, добавлять цитаты буду только я ручками в базу;
  • Возможность выставления рейтинга посетителями - лучшие наверху;
Я так понимаю основная сложность кода будет в выставлении рейтинга и сортировке. Я сам не силён в PHP поэтому прошу у Вас помощи. Сделайте пожалуйста наброски кода или дайте ссылку на что нибудь похожее. Заранее благодарен.





Спустя 2 часа, 8 минут, 46 секунд (7.01.2011 - 12:39) inpost написал(а):
За деньги или как обычно, халяву ищите?

Спустя 46 минут, 13 секунд (7.01.2011 - 13:25) twin написал(а):
А что есть "цитатник"? Пример можно?

Спустя 7 часов, 33 минуты, 19 секунд (7.01.2011 - 20:59) Гость_Михаил написал(а):
inpost как обычно rolleyes.gif просто покажите направление в котором капать.
twin пример? да тот же баш орг, отличия: сортировка всегда по рейтингу, цитат около 50, добавлять цитаты и комментировать никто не может.

Спустя 33 минуты, 55 секунд (7.01.2011 - 21:33) inpost написал(а):
Книга по ПХП =)

Спустя 12 часов, 46 минут, 55 секунд (8.01.2011 - 10:20) Гость_Михаил написал(а):
inpost благодарю за помощь

Спустя 30 минут, 35 секунд (8.01.2011 - 10:50) pak написал(а):
Вы хотите случайную цитату на сайт и при обнавление она менялась?
или вывод всех цитат?

а все понял не увидел пример)

Спустя 1 час, 42 минуты, 59 секунд (8.01.2011 - 12:33) Ангелочек написал(а):

Цитата
Сделайте пожалуйста наброски кода

Хи хи smile.gif
Цитата
База данных в текстовом файле;

а если 10 пользователей одновременно кнопку рейтинга на одинаковой цитате нажмут, что случится ?
З.Ы.
самому интересно huh.gif

Спустя 1 час, 29 минут, 34 секунды (8.01.2011 - 14:03) Гость_Михаил написал(а):
Ангелочек такого ажиотажа вокруг цитат не ожидается, это будет всего лишь дополнение к сайту, а на сайте пока более 5 человек вместе не было

Спустя 2 минуты, 26 секунд (8.01.2011 - 14:05) Гость_Михаил написал(а):
извиняюсь, кроме бугагашечек, кто нибудь может что нибудь подсказать стоящее huh.gif

Спустя 1 час, 16 минут, 30 секунд (8.01.2011 - 15:22) twin написал(а):
Да почему нет то... Вот ты кто по профессии? Или учишься?

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

Если учишься, то конечно сложнее. Придется папу с мамой напрячь.

Ну а если хочешь сам, то inpost дал верное напрвавление - книга PHP.
Попробуй Котерова почитать. Или Кузнецова с Симдяновым.

Можешь тут порыться.

Только не тешь себя илюзиями, за неделю тебе этого всего не освоить.

Спустя 14 минут, 42 секунды (8.01.2011 - 15:36) Гость_Михаил написал(а):
Я инженер-энергетик, а сайтсайт(не посчитайте рекламой) это всего лишь хобби. Сейчас уже полностью переписал сайт с новым дизайном на php для заливки на платный хостинг. Форум, галерея, гостевая, всё на файлах, не хотелось бы из за цитатника заморачиваться на mysql, поэтому и прошу помощи.

Спустя 1 час, 47 секунд (8.01.2011 - 16:37) inpost написал(а):
Гость_Михаил
А как остальное сделал? Взял готовое?

Спустя 1 час, 38 минут, 23 секунды (8.01.2011 - 18:16) Гость_Михаил написал(а):
Структуру сайта написал сам с помощью книг по ПХП =) ну а стальное готовыми скриптами вписывал в дизайн. Вот дело осталось только за цитатником dry.gif

Спустя 3 часа, 3 минуты, 49 секунд (8.01.2011 - 21:19) gamleton написал(а):
То что уже получилось нарыть на текущий момент:
sort.php
<?php
if ( isset ($_GET)) { foreach ($_GET as $key=>$val){$$key=$val;}}
//Объявляем файл-базу
$base_dat = "sort.txt";
//печатаем верх таблицы
echo "<table border='1'><tr>
<td><a href='sort.php?sort=a'>Цитаты</a> </td>
<td><a href='sort.php?sort=b'>Рейтинг</a> </td>

</tr>"
;
// если сортировать данные, то
if ($sort != ""){
//читаем базу в массив строк
$general = file ($base_dat);
// запускаем цикл
for ( $i = 0; $i < count ($general); $i++){
// разбиваем каждую строку на '::',
// $a,$b - это рейтинг с цитатой"
// $a= "цитата" $b="рейтинг"

list ($a,$b) = explode ("::", $general[$i]);
// образуем массив из базы с индексом по сортировке,
if ($sort=='a'){ $massiv[$a] = array (a=>$a, b=> $b); }
if ($sort=='b'){ $massiv[$b] = array (a=>$a, b=> $b); }
}

//сортируем массив
krsort ($massiv);
//прогоняем отсортированный массив в цикле и выводим на печать
foreach ($massiv as $key => $value){
foreach ($value as $key_s => $value_s ){ $$key_s=$value_s; }
// печатаем данные
echo "<tr><td> $a </td><td> $b </td></tr>";
}
}

// если смотреть не сортированные данные
else {
$general = file ($base_dat);
for ( $i = 0; $i < count ($general); $i++){
list ($a,$b) = explode ("::", $general[$i]);
echo"<tr><td> $a </td><td> $b </td></tr>";
}
}

//заканчиваем таблицу
echo "</table>";
?>



sort.txt
цитата 1::1::
цитата 2::14::
цитата 3::7::
цитата 4::-3::
цитата 5::14::



Вопросы:
    как сделать, чтобы не пропадали строки с одинаковыми значениями?
    как прикрутить +/- для изменения значения b?

Спустя 14 минут, 41 секунда (8.01.2011 - 21:34) twin написал(а):
Возьми этот скрипт гостевухи, он на файлах как раз. Там все есть, даже админка. Немного подработать и добавить голосование.

Спустя 23 часа, 30 минут, 53 секунды (9.01.2011 - 21:05) gamleton написал(а):
Вот раздобыл как в этой базе менять рейтинг

<?php
// файл - база, права доступа 766
$base = "sort.txt";

// если хотят изменить данные
if ($_POST[plus] or $_POST[minus]){
// очищаем временную переменную
$content = "";
// считаем файл - базу в массив строк
$general = file ($base);
// посчитаем сколько строк в массиве
$lines = count ($general);
// в цикле выводим на печать значения
for ( $i = 0; $i < $lines; $i++ ){
list ( $zitata, $zifra ) = explode ( "::", $general[$i] );
// если номер послааный из формы совпадает с номер из базы, меняем эту строку
if ( $_POST[nomber] == $i ) {
// если нажали плюс, увеличиваем на 1
if ($_POST[plus]) { $zifra++; }
// если нажали минус, уменьшаем на один
else { $zifra--; }
$content .= $zitata . "::" . $zifra . "::\n";
}
// остальные строки пишем без изменения
else { $content .= $general[$i]; }
}

// в $content изменёные данные, запишем их базу
$fp = fopen ( $base, 'w' );
fwrite ( $fp, $content );
fclose ($fp);
}

// считаем файл - базу в массив строк
$general = file ($base);
// посчитаем сколько строк в массиве
$lines = count ($general);
// в цикле выводим на печать значения
print "<table>";
for ( $i = 0; $i < $lines; $i++ ){
list ( $zitata, $zifra ) = explode ( "::", $general[$i] );
print "
<form method='post' action='sort.php'>
<input type='hidden' name='nomber' value='"
.$i."'>" .
"<tr><td>" .
$zitata . "</td><td>" . $zifra .
"</td><td><input type='submit' name='plus' value=' + '>
</td><td><input type='submit' name='minus' value=' - '>
</td></tr>
</form>
"
;
}
print "</table>";
?>


Остался вопрос за малым как соединить эти скрипты воедино. :)

Спустя 18 минут, 19 секунд (9.01.2011 - 21:23) twin написал(а):
Блин, я уже проникся.... Как мучается человек. Давай сделаем. Только ты скажи, голосовалка простая нужна, плевать на накрутки?

Спустя 9 минут, 31 секунда (9.01.2011 - 21:33) gamleton написал(а):
все фразы принадлежат одной личности, поэтому смысла накручивать какую нибудь из них нет смысла. поэтому рад буду всего лишь рейтингу с сортировкой.

Спустя 4 минуты, 56 секунд (9.01.2011 - 21:38) twin написал(а):
Если нужна защита от накруток, нужна авторизация. Иначе все это пыль.
Давай уточним ТЗ
Тебе нужно то, что на баше?
То есть просто лента цитат с возможностью голосования, так?

Спустя 2 минуты, 45 секунд (9.01.2011 - 21:40) gamleton написал(а):
защита от накруток не нужна.
лента как на баше без разделения на страницы, так как цитат не так уж и много

Спустя 4 минуты, 26 секунд (9.01.2011 - 21:45) twin написал(а):
Постраничка не помешает. Ну это дело хозяйское. Голосование по каким критериям, как у них?
Цитата
смешно / [:||||:] / не смешно

и что выводить, порядковый номер и рейтинг?

Спустя 6 минут, 17 секунд (9.01.2011 - 21:51) gamleton написал(а):
критерии: понравилась/не понравилась
выводить примерно таким образом: анекдоты

Спустя 41 секунда (9.01.2011 - 21:52) gamleton написал(а):
сортировка по умолчанию по рейтингу
я бы даже сказал порядковый номер совсем не нужен

Спустя 7 минут, 14 секунд (9.01.2011 - 21:59) twin написал(а):
Так. совсем не понял. там нет голосовалки...

Спустя 37 секунд (9.01.2011 - 22:00) twin написал(а):
короче, я сейчас баш тебе повторю, сам разбирайся потом.

Спустя 2 минуты, 11 секунд (9.01.2011 - 22:02) gamleton написал(а):
это я хотел пояснить про порядковый номер, но одумался, башорг лучший пример, только порядковый номер не нужен

Спустя 34 минуты, 53 секунды (9.01.2011 - 22:37) twin написал(а):
Еще момент. На баше сортировка принудительная. А ты говоришь
Цитата
сортировка по умолчанию по рейтингу
Уточни как можно подробнее

Спустя 8 минут, 35 секунд (9.01.2011 - 22:45) gamleton написал(а):
Ну вот в том скрипте что я выложил две колонки в таблице, и сортировка идёт либо по алфавиту в цитатах, либо по рейтингу. Мне же нужно чтобы сортировка всегда была сверху цитаты с наибольшим рейтингом

Спустя 52 минуты, 27 секунд (9.01.2011 - 23:38) twin написал(а):
Сделал все, кроме сортировки... Блин, последний выходной в каникулах, больше не могу. Я так понимаю, что до завтра терпит)))
Готовь пиво на поправку здоровьья.
Свернутый текст
Шучу. smile.gif

Спустя 4 минуты, 47 секунд (9.01.2011 - 23:43) twin написал(а):
Какой я отсталый от жизни человек... Кроме кодов нихрена не видел...
Третий день сижу на баше, знал же что есть, все руки не доходили.

Только за эту наводку я тебе скрпт сделаю какой нужно. Потерпи чуток)))

Спустя 6 минут, 52 секунды (9.01.2011 - 23:49) gamleton написал(а):
smile.gif ок! торопиться совершенно некуда

Спустя 1 день, 17 часов, 7 минут, 50 секунд (11.01.2011 - 16:57) twin написал(а):
Ну вот так примерно

Спустя 30 минут, 4 секунды (11.01.2011 - 17:27) gamleton написал(а):
smile.gif супер, то что надо. Ещё и с админкой - просто шедевр! с меня сотый плюсик biggrin.gif

Спустя 10 дней, 14 минут, 40 секунд (21.01.2011 - 17:42) gamleton написал(а):
Работа скрипта здесь, может кто и себе поставит. wink.gif Огромное спасибо twin'у

Спустя 46 минут, 38 секунд (21.01.2011 - 18:29) twin написал(а):
Ух ты. Крутой сайтец. Я чето сразу не глянул. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.