Zufallsgenerator

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

  • Zufallsgenerator

    Ich bekomme immer eine Fehlermeldung von MySQL, wenn ich mein Script ausführe, aber ich hab keine Ahnung was ich noch ändern könnte.
    Das Script soll ein bestimmter Zufallsgenerator sein:
    Der Zufallsgenerator soll einen Link per Zufall aus einer Tabelle auswählen und dann z.B das wiedergeben:
    <b>Benutzerwerbung: </b><a href="gfh" target="_new">gh</a>
    Dann soll der Link einen Punkt weniger in der Tabelle haben. Wenn der Link dann 0 Punkte hat soll er gelöscht sein und die anderen Links rücken eine Id runter(in der MySQL Tabelle höher)

    Hier ist mein Quelltext vom Script:
    [color=#0000BB]<?php [/color]
    [color=#0000BB]$user[/color][color=#007700]=[/color][color=#DD0000]"xxxxx"[/color][color=#007700]; [/color]
    [color=#0000BB]$passwort[/color][color=#007700]=[/color][color=#DD0000]"xxxxx"[/color][color=#007700]; [/color]
    [color=#0000BB]$datenbank[/color][color=#007700]=[/color][color=#DD0000]"xxxxx"[/color][color=#007700]; [/color]
    [color=#0000BB]$Verbindung[/color][color=#007700]=[/color][color=#0000BB]mysql_connect[/color][color=#007700]([/color][color=#DD0000]"localhost"[/color][color=#007700],[/color][color=#0000BB]$user[/color][color=#007700],[/color][color=#0000BB]$passwort[/color][color=#007700]); [/color]
    [color=#0000BB]mysql_select_db[/color][color=#007700]([/color][color=#0000BB]$datenbank[/color][color=#007700],[/color][color=#0000BB]$Verbindung[/color][color=#007700]); [/color]
    [color=#0000BB]$sql [/color][color=#007700]= [/color][color=#DD0000]"SELECT * FROM cptoplist_werbung"[/color][color=#007700]; [/color]
    [color=#0000BB]$res [/color][color=#007700]= [/color][color=#0000BB]mysql_query[/color][color=#007700]([/color][color=#0000BB]$sql[/color][color=#007700]); [/color]
    [color=#0000BB]$anzahl [/color][color=#007700]= [/color][color=#0000BB]mysql_num_rows[/color][color=#007700]([/color][color=#0000BB]$res[/color][color=#007700]); [/color]
    [color=#0000BB]srand [/color][color=#007700]((double)[/color][color=#0000BB]microtime[/color][color=#007700]()*[/color][color=#0000BB]1000000[/color][color=#007700]); [/color]
    [color=#0000BB]$ID [/color][color=#007700]= [/color][color=#0000BB]rand[/color][color=#007700]([/color][color=#0000BB]1[/color][color=#007700], [/color][color=#0000BB]$anzahl[/color][color=#007700]); [/color]
    [color=#0000BB]$sql2 [/color][color=#007700]= [/color][color=#DD0000]"SELECT * FROM cptoplist_werbung WHERE ID=$ID"[/color][color=#007700]; [/color]
    [color=#0000BB]$result [/color][color=#007700]= [/color][color=#0000BB]mysql_query[/color][color=#007700]([/color][color=#0000BB]$sql2[/color][color=#007700]) or die ([/color][color=#0000BB]mysql_error[/color][color=#007700]()); [/color]
    [color=#007700]if ([/color][color=#0000BB]mysql_num_rows[/color][color=#007700]([/color][color=#0000BB]$result[/color][color=#007700]) > [/color][color=#0000BB]0[/color][color=#007700]) { [/color]
    [color=#0000BB]$row [/color][color=#007700]= [/color][color=#0000BB]mysql_fetch_assoc[/color][color=#007700]([/color][color=#0000BB]$result[/color][color=#007700]); [/color]
    [color=#0000BB]$update [/color][color=#007700]= [/color][color=#0000BB]$row[/color][color=#007700][[/color][color=#DD0000]"Punkte"[/color][color=#007700]]-[/color][color=#0000BB]1[/color][color=#007700]; [/color]
    [color=#0000BB]$sql [/color][color=#007700]= [/color][color=#DD0000]"UPDATE cptoplist_werbung SET Punkte = $update WHERE Link = $link"[/color][color=#007700]; [/color]
    [color=#0000BB]$result [/color][color=#007700]= [/color][color=#0000BB]mysql_query[/color][color=#007700]([/color][color=#0000BB]$sql[/color][color=#007700]) or die ([/color][color=#0000BB]mysql_error[/color][color=#007700]()); [/color]
    [color=#007700]echo [/color][color=#DD0000]"<a href=\""[/color][color=#007700];[/color]
    [color=#007700]echo [/color][color=#0000BB]$row[/color][color=#007700][[/color][color=#DD0000]'Link'[/color][color=#007700]];[/color]
    [color=#007700]echo [/color][color=#DD0000]"\" target=\"_new\">Test</a>"[/color][color=#007700];[/color]
    [color=#007700]} [/color]
    [color=#0000BB]?>[/color]

    Das ist die Tabelle cptoplist_werbung:
    http://stevieswebsite.st.funpic.de/t...st_werbung.gif


    und das ist meine Fehlermeldung:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/stevieswebsite/top/dateien/zufall.php on line 9
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''cptoplist_werbung' WHERE ID='1'' at line 1




    Kann mir da jemand helfen?
    Zuletzt geändert von wahsaga; 20.07.2006, 10:14.

  • #2
    Also wenn ich zufällig einen Eintrag aus einer Tabelle haben will mach ich folgendes:

    PHP-Code:
    SELECT FROM tab1 ORDER BY rand() LIMIT 0,

    Kommentar


    • #3
      Re: Zufallsgenerator

      Fällt mir schwer zu glauben, dass das wirklich dein original verwendeter Code ist - bei der Fehlermeldung.

      (Benutze bitte die [php]-Tags des Forums - damit kannst du deinen Code auch "schön bunt" darstellen lassen, ohne selber jede Menge [color]-Tags da rein machen zu müssen.)

      Bau doch mal eine Kontrolleausgabe der Query in die "or die(...)"-Statements mit ein - was kommt dabei raus ...?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        php hightlighter


        @wahsaga: Der ist Original habe den PHP Highlighter verwendet auf www.php-highlighter.de.vu
        Ich kenn das mit dem or die gar nicht. Ich hab das Script schon vorher von einen anderen verbessern gelassen haben, er hat die reingemacht hat aber trotzdem nichts gebracht. Was meinteste damit?

        @prego: Hat sich nichts verändert
        Zuletzt geändert von stevieswebsite; 20.07.2006, 10:47.

        Kommentar


        • #5
          Re: php hightlighter

          Original geschrieben von stevieswebsite
          Der ist Original
          Bezweifle ich weiterhin - die Fehlermeldung passt nicht dazu.
          ahbe den PHP Highlighter verwendet auf www.php-highlighter.de.vu
          Lass das bitte das nächste mal, verwende hier im Forum reinen plain text, den du in [php]-Tags einkleidest, siehe Regeln.



          Und dann beantworte bitte meine Rückfrage, wenn man dir weiterhelfen soll.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hi,

            was mir aufgefallen ist (ist keine pflicht aber ich machs so)

            PHP-Code:
            $sql "SELECT * FROM cptoplist_werbung"
            zu
            PHP-Code:
            $sql "SELECT * FROM `cptoplist_werbung`;"
            und

            PHP-Code:
            $sql2 "SELECT * FROM cptoplist_werbung WHERE ID=$ID"
            PHP-Code:
            $sql2 "SELECT * FROM `cptoplist_werbung` WHERE ID={$ID};"
            und undbedingt (ich weiß nicht ob die spalte link int oder varchar ist)

            bei varchar (genau beim $link) in hochkommas setzen

            PHP-Code:
            $sql "UPDATE cptoplist_werbung SET Punkte = $update WHERE Link = $link"
            zu
            PHP-Code:
            $sql "UPDATE `cptoplist_werbung` SET `Punkte` = {$update} WHERE `Link` = '{$link}';"
            edit:
            bei deiner Fehlermeldung:
            ''cptoplist_werbung' WHERE ID='1'' at line 1
            wo kommen die Hochkommas her ?

            gruß SuRaXor
            Zuletzt geändert von ; 20.07.2006, 12:19.

            Kommentar


            • #7
              danke

              Danke es hat geklappt
              Ich hatte schon eimal Hochkommas drin und davon ist die Fehlermeldung noch.
              Zuletzt geändert von stevieswebsite; 20.07.2006, 13:12.

              Kommentar


              • #8
                Re: danke

                Original geschrieben von stevieswebsite
                Iech hatte schon eimla Hochkommas drin und davon ist die Fehlermeldung noch.
                Genau deshalb fragte ich ja explizit nach - warum schwindelst du uns trotzdem an, und behauptest exakt den Code gepostet zu haben, der zu dieser Fehlermeldung führte?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X