PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CodeFrage


nivram
23.02.2004, 18:54:00
Hallo zusammen,
ich badstele mir gerade ein Script zum administrieren meiner Bannner mit mySQL-UNterstützung!
Das Script soll bei der Ausgabe folgendes können:
1. je nach Aufruf sollen Banner in der entsprechenden Größe (durch ..ad.php4?sect=468) aus der Db geholt werden
2. Überprüfung ob Banner aktiv gekennzeichnet sind
3. dann soll nach eine Gewichtung entschieden werden, welcher Banner die höhere Gewichtung hat (von 0 (wenig) bis 3 (sehr oft))

Dann soll der Banner ausgegeben werden!

Irgendwie probiere ich da schon 2 Stunde dran, aber bekomm es einfach nich hin!
Es gibt ja schon sowas in der Art hier: http://www.php-resource.de/tutorials/read/4/1/

Naja, ich komm da irgendwie nich weiter!


Gruß, Schröder

nivram
24.02.2004, 19:44:43
Nobody likes the Records that I play..
Nobody likes the Questions that I ask..

Weiss keiner einen Denkansatz!


Gruß, Schröder

feuervogel
25.02.2004, 16:19:47
hier ist nicht der platz für scriptwünsche...zeig uns das, was du probiert hast, und dann können wir dir sagen was falsch ist/was du besser machen kannst.

danke.

meikel (†)
25.02.2004, 18:06:46
Original geschrieben von nivram

[... irgend was, was nivram tut und was sicher besser in ein Tagebuch gepaßt hätte...]

Naja, ich komm da irgendwie nich weiter!
Tja, so langsam frage ich mich, warum Du über Deinen Text "CodeFrage" geschrieben hast, wenn Du keine Frage stellst...

nivram
25.02.2004, 20:16:16
<?php
$sect = $_GET['sect'];
include("dbconnect.php4");

if($sect == "468"){ $size2 = "468x60"; }
if($sect == "88"){ $size2 = "88x31"; }
if($sect == "400"){ $size2 = "400x40"; }
if($sect == "120"){ $size2 = "120x600"; }
if($sect == "250"){ $size2 = "250x250"; }


$abfrage = "SELECT id, imgurl, alt, views, art, anzahl, klicks FROM ads WHERE aktiv = '1' AND size = '$size2'";
$ergebnis = @mysql_query($abfrage);
$anzahl = @mysql_num_rows ($ergebnis);
$zufall = rand(0,$anzahl-1);
mysql_data_seek ($ergebnis, $zufall);
$data = mysql_fetch_row($ergebnis);

$nviews = $data[3]+1;
if($data[4] == "views"){ $done=$nviews; } else { $done=$data[6]; }
if($done == $data[5]){ $x="1"; }

$aendern .= "UPDATE ads Set";
$aendern .= " views = '$nviews'";
if($x == "1"){ $aendern .= " ,aktiv = '0'"; }
$aendern .= " WHERE id = '$data[0]'";
$update = mysql_query($aendern);

$sizes = explode("x", $size2);
print "<a href="click.php4?id=$data[0]" target="_blank"><img src="$data[1]" alt="$data[2]" border="0" width="$sizes[0]" height="$sizes[1]"></a>";

?>

Das habe ich bis jetzt! Wie kann ich es umschreiben, damit er nun auch noch durch ZUfall einen Wert ermittelt und dann alle Banner deren Gewicht unter dem Wert liegt raussucht! Dabei soll beachtet werden: Wenn kein Banner den entsprechenden Regeln entspricht soll irgendein banner genommen werden, der aber die Größe erfüllt!

Es ist KEIN Scriptwunsch, sondern einfach nur eine Frage wie das geht!!! Sorry, aber sowas lasse ich mir nicht nachsagen!

Gruß, Schröder

meikel (†)
26.02.2004, 12:10:02
Original geschrieben von nivram
<?php
$sect = $_GET['sect'];
include("dbconnect.php4");

if($sect == "468"){ $size2 = "468x60"; }
if($sect == "88"){ $size2 = "88x31"; }
if($sect == "400"){ $size2 = "400x40"; }
if($sect == "120"){ $size2 = "120x600"; }
if($sect == "250"){ $size2 = "250x250"; }


$abfrage = "SELECT id, imgurl, alt, views, art, anzahl, klicks FROM ads WHERE aktiv = '1' AND size = '$size2'";
$ergebnis = @mysql_query($abfrage);
$anzahl = @mysql_num_rows ($ergebnis);
$zufall = rand(0,$anzahl-1);
mysql_data_seek ($ergebnis, $zufall);
$data = mysql_fetch_row($ergebnis);
Dein Script verstehe ich bis zu der Stelle. Was Du danach treibst und was Du möchtest, erschließt sich mir ehrlich gesagt absolut nicht.

Kannst Du irgend ein Struktogramm oder einen Rechenalgorithmus anbieten, der der Bewertung (?) zugrunde liegen soll?

nivram
26.02.2004, 16:23:18
Nach dem Codeteil den du gepostet hast, soll überprüft werden ob die gebuchte Anzahl der verschiedenen Arten (views, klicks) erreicht wurde und damit der Banner nicht mehr angezeigt werden soll!

Ich schaue erstmal ob ichs selbst noch hinbekomme mit der Gewichtung! Ich gebe nicht auf! ;o)

Gruß, Schröder