Форум сетевых администраторов
Показаны 3 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Цитата дня (http://netadmin.ws/forum/showthread.php?threadid=5156)


Помещено Tagore 17-04-2003 в 18:38:

Lightbulb Цитата дня

Ð_аботал над скриптом "Цитата дня". Скрипт умный, если он не покажет цитату сегодня, то покажет завтра, а также берет их по умному, что бы, например, одна и та же не попалась два раза подряд. Только что-то случилось, если правильно понял примерно в этом месте if ($number_reached >($no_of_quotes - 1)){ и скрипт перестал работать. Есть идея почему?


PHP:


DROP TABLE 
IF EXISTS quotes;
CREATE TABLE quotes (
  
id int(9) unsigned NOT NULL auto_increment,
  
quote text NOT NULL,
  
author varchar(150) NOT NULL default '',
  
PRIMARY KEY  (id),
  
UNIQUE KEY id (id)
) 
TYPE=MyISAM;
INSERT INTO quotes (id, quote, author) VALUES (1, 'Времена меняются, и мы меняемся с ними.', 'Ð_. Оуэн');
INSERT INTO quotes (id, quote, author) VALUES (2, 'Молодой человек, лишенный таланта, - это старик.', 'Ж. Ð_енар');
INSERT INTO quotes (id, quote, author) VALUES (3, 'Прекрасное - манифестация сокровенных сил природы; без его возникновения они навсегда остались бы сокрытыми.', 'Гете');
INSERT INTO quotes (id, quote, author) VALUES (4, 'Искусство, конечно, не хлеб жизни, но зато - ее вино.', 'Ж. Поль');
INSERT INTO quotes (id, quote, author) VALUES (5, 'В местностях, где процветали искусства, рождались и самый прекрасные люди.', 'Винкельман');

DROP TABLE IF EXISTS quotes_meta;
CREATE TABLE quotes_meta (
  
id int(11) NOT NULL default '0',
  
number_reached mediumint(9) NOT NULL default '0',
  
date_modified mediumint(9) NOT NULL default '0',
  
active int(5) NOT NULL default '1',
  
PRIMARY KEY  (id),
  
KEY id (id)
) 
TYPE=MyISAM;
INSERT INTO quotes_meta (id, number_reached, date_modified, active) VALUES (1, 4, 21, 1);
INSERT INTO quotes_meta (id, number_reached, date_modified, active) VALUES (2, 4, 21, 1);




PHP:

<?php
    $DB_SERVER 
= "localhost";
    
$DB_USER = "art111_sasa";
    
$DB_PASS = "art"; 
    
$DB_NAME = "art111_sasa";
    
$con = mysql_connect($DB_SERVER, $DB_USER, $DB_PASS);
    
mysql_select_db($DB_NAME);
    
$getNoOfQuotesQuery = mysql_query("select count(*) from quotes", $con);
    
$no_of_quotes = mysql_result($getNoOfQuotesQuery,0);
    
$getMetaDataQuery = mysql_query("SELECT * FROM quotes_meta", $con);
    
$row = mysql_fetch_row($getMetaDataQuery); 
    
$number_reached = $row[1];
    
$date_modified= $row[2];
    
    
// get the current day of the month (from 1 to 31)
    
$day_today = date("j");
    
    if (
$date_modified != $day_today){
        
// we have reached the end of the quotes
        
if ($number_reached >($no_of_quotes - 1)){
            
$number_reached = 1;
            
$query3 = mysql_query('UPDATE quotes_meta SET date_modified = "'.$day_today.'", number_reached = "'.$number_reached.'"', $con);
            
mysql_query($query3,$con);
        } else {
        
// we haven't reached the end of the quotes
        // therefore we increment $number_reached
        
$number_reached = $number_reached + 1;
        
$query3 = mysql_query('UPDATE quotes_meta SET date_modified = "'.$day_today.'", number_reached = "'.$number_reached.'"', $con);
        
mysql_query($query3,$con);
        }
    }    
?>

<?
// we get the quote with 'id = $number_reached' from the database
    
$getQuoteQuery = mysql_query("SELECT quote,author FROM quotes WHERE id = ".$number_reached, $con);

    
$row = mysql_fetch_row($getQuoteQuery);    
    echo 
$row[0];
?>

<?
       
echo $row[1]; 
    
mysql_close($con);
 
?> 

__________________
Международное брачное агенство в Сибири.


Помещено polo 17-04-2003 в 18:58:

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

__________________
Всегда есть решение.


Помещено Tagore 17-04-2003 в 19:32:

И это может быть причиной того, что он не работает?

__________________
Международное брачное агенство в Сибири.


Формат времени GMT. Текущее время 11:56.
Показаны 3 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.