02. marts 2003 - 21:13Der er
39 kommentarer og 1 løsning
Dagens tip
Hvordan laver jeg dette script om så der kun vises et tip hver dag. Altså den ene dag skal der vises et tip og den næste dag et ny osv. Nu skifter den tip hver gang man opdater...
Scriptet:
<? global $tip; // Så kan du også bruge denne variabel udenfor while-løkken. $dbh=mysql_connect ("host", "bruger", "xxxxxx") or die ('I cannot connect to the database.'); mysql_select_db ("database"); $tip_query = mysql_query("SELECT * FROM Tips ORDER BY RAND() LIMIT 1"); while ($tip_array = mysql_fetch_array($tip_query)) { $tip = $tip_array[Tips]; echo ("$tip"); }
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Sådan her <? if (!isset($tipervist)) { setcookie("tipervist","Yep!",time()+60*60*24); Echo "Hvis Tip"; // Hvis tip } ?> <? global $tip; // Så kan du også bruge denne variabel udenfor while-løkken. $dbh=mysql_connect ("host", "bruger", "xxxxxx") or die ('I cannot connect to the database.'); mysql_select_db ("database"); $tip_query = mysql_query("SELECT * FROM Tips ORDER BY RAND() LIMIT 1"); while ($tip_array = mysql_fetch_array($tip_query)) { $tip = $tip_array[Tips]; echo ("$tip"); }
<? if (!isset($tipervist)) setcookie("tipervist","Yep!",time()+10); ?> <html> <body> <? if (!isset($tipervist)) {// herfra er det din kode (som jeg ikke har testet) global $tip; // Så kan du også bruge denne variabel udenfor while-løkken. $dbh=mysql_connect ("host", "bruger", "xxxxxx") or die ('I cannot connect to the database.'); mysql_select_db ("database"); $tip_query = mysql_query("SELECT * FROM Tips ORDER BY RAND() LIMIT 1"); while ($tip_array = mysql_fetch_array($tip_query)) { $tip = $tip_array[Tips]; echo ("$tip"); }
} // Slut cookie test
Sådan vil jeg tro. Når du sætter en cookie må der intet være før, ikke engang et mellemrum. Så tror php nemlig at det er headeren.
Er cookien allerede sat? Så kan du først se den imorgen... :-) Hvis det er tilfældet skal du lige skrive en setcookie("tipervist","Yep!", time()-3600); i linie 2. Gem det, opdater et par gange, fjern den så igen.
På den måde den er lavet nu vil man ikke se noget tip efter du først har set det en gang. Prøver lige at lave det så den viser "det gamle tip" indtil det bliver en ny dag :)
Jeg må indrømme at den rand() ikke er så god, men denne her burde sørge for at det samme tip ikke bliver valgt tilfældig lige efter det har været vist:
// Henter dagens tip mysql_connect ("localhost","",""); mysql_select_db (""); $query = mysql_query("SELECT * FROM Tips WHERE Tips !='$_COOKIE[tippet]' ORDER BY RAND() LIMIT 0,1"); $row = mysql_fetch_array($query); $tippet = $row[Tips]; // Sætter cookien setcookie ("set_tippet", $dagsdato, time()+86400); setcookie ("tippet", $tippet, time()+86400); } ?> <html> <head></head>
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.