Ergebnis 1 bis 6 von 6

Thema: Clickcounter?

  1. #1

    Clickcounter?

    Also ich brauche den Code für einen Clickcounter.
    Die Downloads werden schon in eine Tabelle eingetragen. (Hab ich schon slebst geschafft ^^")
    Sie werden wie folgt in folgende Felder by MySQL eingetragen:

    ID / Name / Autor / Kategorie / link / downloads

    Nun möchte ich das alle Daten ausgegeben werden wo die Kategorie zB. "rpg-maker" heißt.
    Zusätzlich soll wenn man auf den Link klick, zu den Downloads 1 hinzugefügt werden.

    Eigentlich ganz easy glaub ich, nur wie gehts? ^^"

  2. #2
    Das mit der Kategorie ist sehr simpel:
    PHP-Code:
    $abfrage "SELECT * FROM downloads WHERE Kategorie LIKE '$search' "
    Wenn du dann ein Feld hast, wo man eine Kategorie eingeben kann, oder ein Auswahlfenster, dann muss das halt die zu suchende Variable $search übergeben.
    [EDIT:]
    Mein Klickcounter von Freespace-search.de (back soon!^^)... Schonmal für dich angepasst:

    PHP-Code:
    <?php 
    include("database.php"); // Datenbankverbindung wird in der Datei aufgebaut.
    $abfrage mysql_query("SELECT downloads FROM files WHERE id LIKE '$thisid' "); //Aktuelle Klickzahl abfragen.
    $ergebnis mysql_fetch_object($abfrage); //PHP blabla
    if ($ergebnis->downloads == "") { $downloads 0; } else { $downloads $ergebnis->downloads; } //Wenn Tabelle noch leer ist 0 statt "" nehmen.
    $downloads++; //Um 1 erhöhen
    $eintrag mysql_query("UPDATE files Set downloads = '$downloads' WHERE id LIKE '$thisid' "); //Eintragen
    ?>
    In meinem Code heißt deine Tabelle "files".. musste anpassen! ^^

    Geändert von Lucleonhart (09.09.2005 um 12:58 Uhr)

  3. #3
    Die Query müsste auch anders (einfacher gehen, ungetestet ):
    UPDATE files Set downloads = '$downloads' WHERE id LIKE '$thisid' ");
    PHP-Code:
    mysql_query("UPDATE `files` SET `downloads` = `downloads` + 1 WHERE `id`= '".$id."';"); 

  4. #4
    ein kleiner anreitz ,

    Erstell eine weiter Tabele in der die Katigorien mit rechtvergabe und id aufgelistet sind z.B.

    Code:
    ------------------------------
    | ID | Name          | Recht |
    ------------------------------
    |  1 | Was weiss ich | 1     |
    ------------------------------
    |  2 | Was weiss ich | 5     |
    ------------------------------
    |  3 | Was weiss ich | 2     |
    ------------------------------
    nun schreibst du in die Counter tabele nur Catigori 1 rein.
    und verbindest es halt über ien script mit der Ctigorie Tabele.

    Das hat nämlich den vorteil das wenn du später einen namen ändern willst es nicht so aufwänndig hast.

    Aber das ist auch woll nur geschmakcs sache ^^,

  5. #5
    Zitat Zitat von Lucleonhart
    Das mit der Kategorie ist sehr simpel:
    PHP-Code:
    $abfrage "SELECT * FROM downloads WHERE Kategorie LIKE '$search' "
    PHP-Code:
    <?php 
    include("database.php"); // Datenbankverbindung wird in der Datei aufgebaut.
    $abfrage mysql_query("SELECT downloads FROM files WHERE id LIKE '$thisid' "); //Aktuelle Klickzahl abfragen.
    $ergebnis mysql_fetch_object($abfrage); //PHP blabla
    if ($ergebnis->downloads == "") { $downloads 0; } else { $downloads $ergebnis->downloads; } //Wenn Tabelle noch leer ist 0 statt "" nehmen.
    $downloads++; //Um 1 erhöhen
    $eintrag mysql_query("UPDATE files Set downloads = '$downloads' WHERE id LIKE '$thisid' "); //Eintragen
    ?>
    Yeah! MySQL Injection detected!
    Man sollte IMMER Variablen filtern die Userinput beinhalten (könnten).

    PHP-Code:
    $search mysql_escape_string($search);
    $abfrage "SELECT * FROM downloads WHERE Kategorie LIKE '$search' "
    PHP-Code:
    <?php 
    include("database.php"); // Datenbankverbindung wird in der Datei aufgebaut.
    $thisid mysql_escape_string($thisid); // dürfte so funktionieren
    $abfrage mysql_query("SELECT downloads FROM files WHERE id LIKE '$thisid' "); //Aktuelle Klickzahl abfragen.
    $ergebnis mysql_fetch_object($abfrage); //PHP blabla
    if ($ergebnis->downloads == "") { $downloads 0; } else { $downloads $ergebnis->downloads; } //Wenn Tabelle noch leer ist 0 statt "" nehmen.
    $downloads++; //Um 1 erhöhen
    $eintrag mysql_query("UPDATE files Set downloads = '$downloads' WHERE id LIKE '$thisid' "); //Eintragen
    ?>

  6. #6
    Zitat Zitat von PHP.net
    Anmerkung: Diese Funktion ist seit PHP 4.3.0 veraltet. Benutzen Sie diese Funktion nicht und verwenden Sie stattdessen mysql_real_escape_string().
    Aber danke, kannte ich noch net.. ^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •