klicks zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • klicks zählen

    hi ich hab mir für meine links einen klickzähler gebaut. die weiterleitung funktioniert einwandfrei nur werden die klicks nicht gezählt. warum?

    zuerst kommt die datei links.php sieht so aus:
    ....
    <table>
    <?
    $db= mysql_connect();
    mysql_select_db ("becksandi_de_db",$db);
    $result = mysql_query("SELECT * FROM links ORDER BY urltext",$db);
    $myrow = mysql_fetch_row($result);
    while ($myrow = mysql_fetch_row($result)) {
    $url = $myrow[1];
    $urltext = $myrow[2];
    $beschreibung = $myrow[3];
    $klicks = $myrow[4];
    echo "<tr><td width='117'><a href='linkshow.php?url=$url' target='_blanc'>$urltext</a></td>";
    echo "<td width='523'><div algin='left'>$beschreibung [$klicks Klicks]</div></td></tr>";
    }
    ?>
    </table>
    bei klick auf einen link öffnet sich die datei linkshow.php?url=$url (url wird übergeben)
    so und die datei linkshow.php sieht dann so aus:
    <?php
    echo "<meta http-equiv=\"refresh\" content=\"3;URL=$url\">
    es geht gleich weiter ...";
    ?>
    <?
    $db= mysql_connect();
    mysql_select_db ("becksandi_de_db",$db);
    $result = mysql_query("SELECT * FROM links WHERE url=$url",$db);
    $myrow = mysql_fetch_row($result);
    $id = $myrow[0];
    $klicks = $myrow[4];
    $klicks = $klicks + 1;
    echo mysql_error();
    echo $klicks;
    $sql = "UPDATE links SET klicks='$klicks' WHERE id=$id";
    $result1 = mysql_query($sql,$db);
    echo mysql_error();
    ?>

    die tabelle "links" in der mysql datenbank sieht so aus

    id /// url /// urltext /// beschreibung /// klicks

  • #2
    Schreib mal :
    $sql = "UPDATE links SET klicks='$klicks+1' WHERE id=$id";

    vielleicht gehts dann .

    Kommentar


    • #3
      Vielleicht musst du auch den variablenamen ändern

      $klicks = $myrow[4];
      $klicks[COLOR=red]2[/COLOR]= $klicks + 1;

      Kommentar


      • #4
        ne

        hab beides probiert. geht leider immer noch nicht!

        Kommentar


        • #5
          baue doch mal eine echo "$klicks"; zeile ein und dann wirst du ja sehen was $klicks für einen wert hat und ob der sich erhöht
          vielleicht liegt das prob auch an der db query oder so.
          [COLOR=red]ohh haste ja schon drin , habs gerade erst gesehen *schäm*[/COLOR]
          Zuletzt geändert von ; 08.04.2002, 13:02.

          Kommentar


          • #6
            Jetzt aber ! ich habe den Fehler gefunden ->>
            $sql = "UPDATE links SET klicks=[COLOR=red]klicks+1[/COLOR] WHERE id=$id";

            damit kannst du auch $klicks = $klicks + 1; weglassen

            schreib mal obs funzt

            Kommentar


            • #7
              nene

              die weiterleitungsdatei sieht jetzt so aus. funzt aber immer nich nicht!
              <?php
              echo "<meta http-equiv=\"refresh\" content=\"3;URL=$url\">
              es geht gleich weiter ...";
              ?>
              <?
              $db= mysql_connect();
              mysql_select_db ("becksandi_de_db",$db);
              $sql = "UPDATE links SET klicks=klicks+1 WHERE url=$url";
              $result = mysql_query($sql,$db);
              ?>

              Kommentar


              • #8
                schreib mal noch ne schleife rein :

                if ($result=mysql_query($sql)) {
                echo "hat gegangen!"
                } else {
                echo "Fehlermeldung".mysql_error;
                }

                Oder bekommst du eine Fehlermeldung ??

                Kommentar


                • #9
                  es geht gleich weiter ...FehlermeldungYou have an error in your SQL syntax near '://www.php-resource.de' at line 1

                  das gibt er mir dann aus!

                  Kommentar


                  • #10
                    hast du eigentlich verbindung zur datenbank ? du musst bei mysql_connect () noch die Parameter angeben -> mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw") .
                    Oder haste das jetzt nur beim posten weggelassen ?

                    Kommentar


                    • #11
                      lycos

                      ich habe nur einen free account bei lycos.
                      da reicht es wenn ich so connecte. geht bei meinen anderen datenbank sachen auch überall!

                      Kommentar


                      • #12
                        ausserdem kannst du die weiterleitung auch anders realisieren :
                        $db= mysql_connect();
                        mysql_select_db ("becksandi_de_db",$db);
                        $sql = "UPDATE links SET klicks=klicks+1 WHERE url=$url";
                        If ($result = mysql_query($sql,$db)) {
                        header ("Location: $url")
                        exit;
                        } Else {
                        echo "Fehler";
                        }

                        dann musst du das script aber vor den seitenheader setzen
                        Zuletzt geändert von ; 08.04.2002, 14:07.

                        Kommentar


                        • #13
                          verbindung muss da sein

                          hab noch folgedes eingebaut:
                          $db= mysql_connect();
                          if (!$db)
                          {
                          echo "Keine Verbindung";
                          }
                          else
                          {
                          echo "verbindung ist da";
                          }
                          mysql_select_db ("becksandi_de_db",$db);
                          ....

                          und er gibt aus "verbindung ist da"

                          Kommentar


                          • #14
                            Jetzt habe ich den Fehler gefunden !!

                            Deine Mysql Query hat einen Fehler ->
                            $sql = "UPDATE links SET klicks=klicks+1 WHERE url=$url";
                            Du musst alle Variablen innerhalb einer Sql Query in '$variable' setzen

                            Kommentar


                            • #15
                              jo

                              jetzt funktionierts.
                              mfg andi
                              p.s. vielen dank!

                              Kommentar

                              Lädt...
                              X