Avatar billede c-p-h Nybegynder
29. januar 2004 - 21:49 Der er 22 kommentarer og
1 løsning

Citat ud af database

Hej,

jeg søger en php-kode der hiver et TILFÆLDIGT citat ud hver dag.

Nogle der kan hjælpe?
Avatar billede schaefner Juniormester
29. januar 2004 - 21:55 #1
skal det bare være et tilfældig når der opdateres eller skal den først skifte når dagen er omme?
Avatar billede detox Nybegynder
29. januar 2004 - 21:56 #2
Du kan forsøge dig med:

SELECT citat FROM tabel ORDER BY RAND(NOW()) LIMIT 1
Avatar billede detox Nybegynder
29. januar 2004 - 21:56 #3
hmm, for hver dag ;o)
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:15 #4
Den skal først skifte når dagen er omme.
Avatar billede schaefner Juniormester
29. januar 2004 - 22:15 #5
Er i gang med at lave noget.
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:25 #6
Super godt...tak :)
Avatar billede schaefner Juniormester
29. januar 2004 - 22:31 #7
Den bruger cookies til at gemme den der er blevet vist. Cookie slettes så når det er næste dag og et nyt citat blive vist. Chancen for at det samme citat bliver vist dagen efter igen er der selvfølgelig, men det må du leve med ;)

<?php
mysql_connect('*','*','*');
mysql_select_db('*');

function createCookie($id) {
    setcookie('quote_cookie',$id,mktime(0,0,0,date('m'),date('d')+1,date('Y')));
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php
if (isset($_COOKIE['quote_cookie'])) {
    $sql_string = "SELECT quote FROM quotes WHERE id = ".$_COOKIE['quote_cookie']."";
    $quote = mysql_result(mysql_query($sql_string),0);
} else {
    $sql_string = "SELECT id,quote FROM quotes ORDER BY RAND(NOW()) LIMIT 1";
    $sql_output = mysql_query($sql_string);
    $row = mysql_fetch_assoc($sql_output);
    $quote = $row['quote'];
    createCookie($row['id']);
}
echo $quote;
?>

</body>
</html>

http://schaefner.dk/cookie.php

Det er godt nok navne den viser, men princippet er det samme ;)
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:37 #8
Okay tak. Skal jeg bare bruge:
    $sql_string = "SELECT quote FROM quotes WHERE id = ".$_COOKIE['quote_cookie']."";
    $quote = mysql_result(mysql_query($sql_string),0);
} else {
    $sql_string = "SELECT id,quote FROM quotes ORDER BY RAND(NOW()) LIMIT 1";
    $sql_output = mysql_query($sql_string);
    $row = mysql_fetch_assoc($sql_output);
    $quote = $row['quote'];
    createCookie($row['id']);

til at oprette databasen?
Avatar billede schaefner Juniormester
29. januar 2004 - 22:39 #9
nej, det er den kode der hiver citatet ud af databasen. Jeg går udfra, at du har en tabel i databasen med citater?
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:41 #10
Nej den skal jeg også have oprettet.
Avatar billede schaefner Juniormester
29. januar 2004 - 22:42 #11
ok, 2 sek.
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:42 #12
Hvor i koden står der at den skifter hver 24 time?
Avatar billede detox Nybegynder
29. januar 2004 - 22:42 #13
schaefner -> Du må nok 'møblere' lidt om på koden, for den sætter ikke nogen Cookie pga. output fra http headeren.
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:42 #14
Og hvis du lige laver et svar så smider jeg fluks nogle point efter dig :)
Avatar billede schaefner Juniormester
29. januar 2004 - 22:45 #15
detox >> Det den samme kode som på: http://schaefner.dk/cookie.php, og den virker upåklageligt
Avatar billede detox Nybegynder
29. januar 2004 - 22:46 #16
schaefner -> Nej, ikke her hos mig. Jeg får:

Warning: Cannot add header information - headers already sent by (output started at /usr/www/schaefner_dk/public_html/cookie.php:18) in /usr/www/schaefner_dk/public_html/cookie.php on line 6
Avatar billede schaefner Juniormester
29. januar 2004 - 22:50 #17
hmm, ja efter jeg slettede cookien, så brokker den sig.
Avatar billede detox Nybegynder
29. januar 2004 - 22:51 #18
Så jeg får et nyt navn ved hver opdatering, eller ved næsten hver opdatering, så det er altså heller ikke hver dag man er garanteret et nyt citat.
Avatar billede schaefner Juniormester
29. januar 2004 - 22:51 #19
men nu er det rettet
Avatar billede schaefner Juniormester
29. januar 2004 - 22:53 #20
#
# Table structure for table `quotes`
#

CREATE TABLE quotes (
  id int(11) NOT NULL auto_increment,
  quote tinytext NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

#
# Dumping data for table `quotes`
#

INSERT INTO quotes VALUES (1, 'Are you gonna bark all day, little doggy, or are you gonna bite?');
INSERT INTO quotes VALUES (2, 'He\'s not the Messiah, he\'s a very naughty boy!');
INSERT INTO quotes VALUES (3, 'Why don\' yu sit down and have a beer with u? After all it\'s St. Patrick\'s day and tonight everyone is a little bit Irish.');

<?php
mysql_connect('*','*','*');
mysql_select_db('*');

if (isset($_COOKIE['quote_cookie'])) {
    $sql_string = "SELECT quote FROM quotes WHERE id = ".$_COOKIE['quote_cookie']."";
    $quote = mysql_result(mysql_query($sql_string),0);
} else {
    $sql_string = "SELECT id,quote FROM quotes ORDER BY RAND(NOW()) LIMIT 1";
    $sql_output = mysql_query($sql_string);
    $row = mysql_fetch_assoc($sql_output);
    $quote = $row['quote'];
    setcookie('quote_cookie',$row['id'],mktime(0,0,0,date('m'),date('d')+1,date('Y')));
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php echo $quote; ?>

</body>
</html>
Avatar billede detox Nybegynder
29. januar 2004 - 22:54 #21
Ja, nu virker den mht. cookie'en ;o)
Avatar billede c-p-h Nybegynder
29. januar 2004 - 22:55 #22
Jeg takker
Avatar billede schaefner Juniormester
29. januar 2004 - 22:57 #23
Var så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester