WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Rotera annonser (https://www.wn.se/forum/showthread.php?t=18258)

Timofey 2006-12-22 01:02

Sökar ett lilet php-skript för att rotera annonser.
Det ska fungera på följande sätt ungefär:

Visa ett av dessa "block":
- Google AdSense block (ex. 40%)
- Tradedoubler annons (ex. 20%)
- Affiliator annons (ex. 40%)

Någon som känner till hur man enklast gör ett sånt?

jomper 2006-12-22 01:09

phpadsnew fixar det galant men är rejält mycket overkill för den enkla uppgiften.

Timofey 2006-12-22 01:10

Citat:

Originally posted by jomper@Dec 22 2006, 02:09
phpadsnew fixar det galant men är rejält mycket overkill för den enkla uppgiften.

Jag känner till PhpAdsNew, och det var just så jag tänkte - att det är för avancerat.

tartareandesire 2006-12-22 01:21

Det är så simpelt så det kanske blir svårt att hitta ett lämpligt script =) Du behöver bara leka med slumptal och skriva ut resulterande kod....

Timofey 2006-12-22 01:23

Citat:

Originally posted by tartareandesire@Dec 22 2006, 02:21
Det är så simpelt så det kanske blir svårt att hitta ett lämpligt script =) Du behöver bara leka med slumptal och skriva ut resulterande kod....
Installerar phpAdsNew :lol:

elofsson 2006-12-22 01:33

En rad i MySQL som innehåller en siffra mellan 1-10. Varje gång sidan laddas uppdateras värdet. Är siffran mellan 1-4 (40%) visas banner 1, 5-6 (20%) banner 2, 7-10 (40%) banner 3. Så skulle jag nog gjort det, och det på 10 min.

brokep 2006-12-22 02:26

Jag hade gjort det simplare än så.
Slumpa ett tal mellan 1-10.
Rent statistiskt blir 1-4 = 40%, 5-8 = 40%, 9-10 = 20%.

magic 2006-12-22 09:01

Citat:

Originally posted by brokep@Dec 22 2006, 02:26
Jag hade gjort det simplare än så.
Slumpa ett tal mellan 1-10.
Rent statistiskt blir 1-4 = 40%, 5-8 = 40%, 9-10 = 20%.

Jag hade nog löst det på samma sätt.

Kod:

<?
$a=rand(0,9);
if ($a <= 3) {
    echo "Google"; 
}
if ($a >= 4 AND $a <= 5 ) {
    echo "TD";   
}
if ($a >= 6) {
    echo "Affiliator";
}


Ara 2006-12-22 09:16

Citat:

Ursprungligen postat av magic
Citat:

Ursprungligen postat av brokep
Jag hade gjort det simplare än så.
Slumpa ett tal mellan 1-10.
Rent statistiskt blir 1-4 = 40%, 5-8 = 40%, 9-10 = 20%.


Jag hade nog löst det på samma sätt.

Kod:

<?
$a=rand(0,9);
if ($a <= 3) {
    echo "Google"; 
}
if ($a >= 4 AND $a <= 5 ) {
    echo "TD";   
}
if ($a >= 6) {
    echo "Affiliator";
}


jag hade löst det på samma sätt, snabbt och lätt

N!cklas 2006-12-22 13:18

En ganska enkel sak som jag testat tidigare (innan PAN) är phpLedAds

Timofey 2006-12-22 15:03

Citat:

Originally posted by magic@Dec 22 2006, 10:01
Jag hade nog löst det på samma sätt.
Kod:

<? *
$a=rand(0,9); *
if ($a <= 3) {
 * * * *echo "Google"; * *
}
if ($a >= 4 AND $a <= 5 ) {
 * * * *echo "TD"; * * * *
}
if ($a >= 6) {
 * * * *echo "Affiliator";
}


Tack för detta! Ska nog göra så tills jag har förstått och börjat använda phpAdsNew

boena 2007-01-22 18:44

Jag har jobbat lite på ett eget men har gått in i en vägg... Har 2 annonser som ska slumpas in och hämtas från en databas. Allting var frid och fröjd tills jag började tänka på vad som händer när jag tar bort en annons... Då blir det problem och behöver hjälp att lösa det... Någon som har någon lösning? Koden på ett exempel ser ut såhär

Kod:

$result = mysql_query("SELECT COUNT(namn) FROM ads") or exit(mysql_error());
$totalarray = mysql_fetch_array($result);
$total = $totalarray['COUNT(namn)'];

// Slumpa två tal.
$a = rand(1,$total);
$b = rand(1,$total);

if($a == $b)
{
        $b = rand(1,$total);
}

$ada = mysql_query("SELECT * FROM ads WHERE id = '$a'") or exit(mysql_error());
$adaresult = mysql_fetch_array($ada);
print "\n<p>\n" .$adaresult['html']. "\n</p>\n";

Vad kan man göra???

Hjalle 2007-01-22 20:32

Nu är det möjligt att jag gör bort mig lite, men i ditt fall, borde det inte räcka med någon liknande:
mysql_query("SELECT * FROM ads ORDER BY rand() LIMIT 2");

Det tar ju två stycken randomrader från ads, som inte är lika..?

Jag hoppas att jag förstod frågan rätt

Conth 2007-01-22 22:24

Citat:

Originally posted by boena@Jan 22 2007, 18:44
Jag har jobbat lite på ett eget men har gått in i en vägg... Har 2 annonser som ska slumpas in och hämtas från en databas. Allting var frid och fröjd tills jag började tänka på vad som händer när jag tar bort en annons... Då blir det problem och behöver hjälp att lösa det... Någon som har någon lösning? Koden på ett exempel ser ut såhär

Kod:

$result = mysql_query("SELECT COUNT(namn) FROM ads") or exit(mysql_error());
$totalarray = *mysql_fetch_array($result);
$total = $totalarray['COUNT(namn)'];

// Slumpa två tal.
$a = rand(1,$total);
$b = rand(1,$total);

if($a == $b)
{
        $b = rand(1,$total);
}

$ada = mysql_query("SELECT * FROM ads WHERE id = '$a'") or exit(mysql_error());
$adaresult = mysql_fetch_array($ada);
print "\n<p>\n" .$adaresult['html']. "\n</p>\n";

Vad kan man göra???

Fattar inte din kod. Du ska slumpa in 2 annonser - men $b läser du ju aldrig in från databasen?!
Dessutom kan ju $b slumpas till samma som $a (igen):
if($a == $b)
{
$b = rand(1,$total);
}


Kanske:
SELECT * FROM ads order by RAND() limit 2;

boena 2007-01-23 09:30

Yes jag vet... postade inte hela koden men $b läses in längre ner.
Precis som du säger så kan b slumpas till a igen men sannolikheten är ju liten.

Hur som helst. Trodde det fanns något som ni beskriver ovan med RAND i databas queryn och det gjorde det ju ;)

Så nu är det fixat. Tack så mycket för hjälpen!

PS. Koden blev också väldigt mycket mindre ;)

EDIT: Är det någon som har en BRA guide till MySQL? Har nyligen börjat att leka med databaser och skulle vilja ha en referens sida med alla funktioner man kan få ut därifrån...

Hjalle 2007-01-23 14:49

Jag skulle rekommendera dig att läsa http://www.tizag.com/mysqlTutorial/.

Den går igenom alla grunder till MySQL


Alla tider är GMT +2. Klockan är nu 14:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson