Скрипт анекдотов

Discussion in 'PHP' started by AtomoS, 4 Apr 2010.

  1. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    Написал небольшой скрипт для анекдотов:
    Code:
    <?
    
    # ========================================================================== #
    #                                                                            #
    #               Анекдоты [beta] | Основной модуль веб-приложения             #
    #                                                                            #
    # ========================================================================== #
    
    // Общие настройки
    $config['per_page']	= "10";				// Кол-во анегов на странице
    $config['update']	= "14.03.10";		// Дата обновления
    
    // Конфигурация БД
    $mysql['dbhost']	= "localhost"; 		// Хост MySQL
    $mysql['dbname']	= "aneg";	 		// Имя базы MySQL
    $mysql['dbuser']	= "root";			// Имя пользователя MySQL
    $mysql['dbpass']	= "root";	 	// Пароль для MySQL
    
    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
    <title>Анекдоты [обновлено: '.$config['update'].'г.]</title>
    <style type="text/css" media="screen,projection">
    body {font: 1em "Lucida Grande",Lucida,Verdana,sans-serif; font-size: 62.5%; line-height: 1;background: #0d171a;}
    #anekdot {color: #afb0b1;background: #0d171a;float:left;margin:0 0 24px;padding:0 10px 10px;width:350px;}
    a:link, a:hover, a:visited {color: #fff;}
    p {margin: 0; padding: 0 0 15px; margin-bottom: 4px;}
    .tags a,.tags span {background-color: #333839;font-size: 0.8em;padding: 0.1em 0.8em 0.2em;}
    .tags a:hover,.tags a:active {background-color: #3e4448;color: #fff;text-decoration: none;}
    .tags a:link,.tags a:visited {color: #fff;text-decoration: none;}
    .new {color: #D3D3D3;}
    </style>
    </head>
    
    <body>
    <div id="anekdot"><h1><a href=".">Анекдоты</a></h1>'."\n";
    
    // Подключаемся к Базе Данных
    $db = mysql_connect($mysql['dbhost'], $mysql['dbuser'], $mysql['dbpass']);
    mysql_select_db($mysql['dbname']);
    mysql_query("SET NAMES cp1251");
    
    // Считаем количество строк в табице (общее число анекдотов).
    $rows = mysql_num_rows(mysql_query("SELECT * FROM `aneg`"));
    $rows_new = mysql_num_rows(mysql_query("SELECT * FROM `aneg` WHERE `new` = 'yes'"));
    
    // Кол-во записей на страницу
    if(!empty($config['per_page'])) $per_page = $config['per_page']; else $per_page = $rows;
    
    // Делим количество строк в БД на количество выводимых записей (округляем до целого числа)
    $numPages = ceil($rows / $per_page);
    
    // Определяем номер страницы
    if (isset($_GET['page'])) $page = intval($_GET['page']); else $page = 1;
    if ($page < 1) $page = 1; if ($page > $numPages) $page = $numPages;
    
    // Запрос на вывод записей
    $sql = mysql_query("SELECT * FROM `aneg` ORDER BY -id LIMIT ".($page - 1) * $per_page.",".$per_page."");
    
    // Выводим сообщения в цикле, новые анекдоты выделяем
    $new = array('yes' => "<p class=\"new\">", 'no' => "<p>");
    while($news = mysql_fetch_array($sql)) echo "\n".$new[$news['new']], trim(str_replace("\r\n","<br/>\n",$news['body']))."</p>\n";
    
    // Выводим панель навигации
    echo "\n".'<p class="tags">';
    
    if ($rows > $per_page && $rows > 1)
    {
    	for($i = 1; $i <= $numPages; $i++)
    	{
    		if ($page == $i)
    		{
    			echo "<a href='?page={$i}'><b>".$i."</b></a> ";
    		}
    		else
    		{
    			echo "<a href='?page={$i}'>".$i."</a> ";
    		}
    
    		if ($i%8===0)
    		{
    			echo "<br/><br/> ";
    		}
    	}
    }
    
    echo "\n".'<a href="#" onclick="document.getElementById(\'header\').style.width=\'600 px\';">шире</a> <a href="#" onclick="alert(\'Всего анекдотов: '.$rows.', новых: '.$rows_new.', обновлено: '.$config['update'].'г.\r\nСвязаться со мной можно через icq: 38-33-59 | AtomoS\');">by atomos</a></p>';
    
    // Закрываем подключение
    mysql_close($db);
    
    echo "\n\n".'</div>
    
    </body>
    </html>';
    
    ?>
    и база:
    Code:
    CREATE TABLE `aneg` (
      `id` int(11) NOT NULL auto_increment,
      `body` text character set utf8 NOT NULL,
      `new` enum('yes','no') collate utf8_unicode_ci default 'no',
      PRIMARY KEY  (`id`));
    
    INSERT INTO `aneg` VALUES ('1', 'Приходят 1 сентября дети в школу учительница у детей срашивает: - Ну как провели каникулы дети рассказывайте.\r\n- Давай Маша ты первая.\r\n- Я помогала раненым солдатам в госпитале.\r\n- И что же они тебе говорили?\r\n- Молодец Машенька молодец.\r\n- А ты Петя чем занимался?\r\n- А я помогал раненым солдатам переходить через дорогу.\r\n- И что они тебе говорили Петя?\r\n- Молодец Петенька молодец.\r\n- Ну а ты Вовочка как провел каникулы?\r\n- Я солдатам подавал снаряды.\r\n- И что же они тебе говорили Вовочка?\r\n- Гуд гуд Вальдеман гуд гуд.', 'no');
    помогите немного дописать его..
    нужны категории, вобшем нужна помощь :(
     
  2. Dr.Brain

    Dr.Brain Banned

    Joined:
    4 Sep 2009
    Messages:
    6
    Likes Received:
    16
    Reputations:
    0
    Добавь в таблицу категории и сделай вывод по:

    select '...' where 'cat' = 1;
     
  3. Ice_Burn

    Ice_Burn Member

    Joined:
    10 Feb 2009
    Messages:
    218
    Likes Received:
    26
    Reputations:
    1
    _ttp://wr-script.ru/load/wr-anekdot-v-1.2.zip Под него сделай...
     
  4. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    Ice_Burn, не. там не алё вашпе)

    кто хочет помочь?
     
  5. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    168
    Likes Received:
    43
    Reputations:
    0
    AtomoS, на писал тебе в пм жду ответа:)
     
Loading...