ein paar Fragen...

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

  • ein paar Fragen...

    Hallo, langsam hab ich keinen Bock, mehr es geht mal wieder nichts...

    Naja, also zweierlei.
    1. Ich bin dabei, eine Anzeige zu realisieren, die besagt, auf welcher Seite welcher User gerade ist, oder eben in den letzten 10 Sek war.

    Hm, jetzt will ich die Seitenid in die Tabelle eintragen lassen, alle Seiten haben eine Kennung (mit ?page="kennung") wird der Inhalt der HP ermittelt) und eine seitenid. Diese sind in einer weiteren Tabelle vorhanden.

    Ich habe jetzt das Prob, dass bei seitenid in der Tabelle in der die aktuellen User sind (www_aktuellon) immer 1 eingetragen wird. Bei einem Testscript allerdings wird die korrekte seitenid angezeigt.

    Hier der code:
    PHP-Code:
    $seiten $db->query_first("SELECT seitenid FROM www_seiten WHERE kennung='".$page."'");
        
    $db->query("UPDATE www_aktuellon SET seitenid='".$seiten[seitenid]."', time='".time()."' WHERE userid='".$user_id."'"); 
    2. Jetzt will ich schauen, welche User gerade online sind, und das dann auch ausgeben.
    Ich hab dazu ne Funktion gemacht:
    PHP-Code:
    function getonlinelist() {
        
    // datenbank classe machen und connecten
        
    $db = new db;
        
    $db->connect();
        
    $db->select_db("wiewowarum");

        
    $result $db->query("SELECT A.userid, A.time, U.nick, S.name FROM www_aktuellon A LEFT JOIN www_user U USING(userid) LEFT JOIN www_seiten S USING(seitenid)");
        while(
    $row $db->fetch_array())
            {
                eval (
    "\$useronlinebit .= \"".gettemplate("useronlinebit")."\";");
            }


    Geht natürlich nicht. Weiß jemand wo der Fehler sein könnte?

  • #2
    was steht denn in $seiten drin? schon mal mit print_r() ausgegeben?
    Kissolino.com

    Kommentar


    • #3
      Hm, bei einem Testscript war $seiten[seitenid] richtig, also 6 nicht 1.

      Kommentar


      • #4
        Original geschrieben von OliOli
        Hm, bei einem Testscript war $seiten[seitenid] richtig, also 6 nicht 1.
        war das meine frage?
        da hier keiner die verwendete klasse sehen kann, wäre es schön, den rückgabewert zu kennen => print_r() oder echo
        Kissolino.com

        Kommentar


        • #5
          Array ( [0] => 6 [seitenid] => 6 )

          ALso korrekt...

          Kommentar


          • #6
            wie siehts damit aus:
            $seiten['seitenid']
            $seiten[0]
            Kissolino.com

            Kommentar


            • #7
              hallo, bin nicht dazu gekommen, weiterzuarbeiten...

              Also die stimmen beide auch...

              Kommentar


              • #8
                PHP-Code:
                $db->query("UPDATE www_aktuellon SET seitenid='".$seiten[0]."', time='".time()."' WHERE userid='".$user_id."'");
                // oder
                $db->query("UPDATE www_aktuellon SET seitenid='".$seiten['seitenid']."', time='".time()."' WHERE userid='".$user_id."'"); 
                und, mal probiert ?
                Kissolino.com

                Kommentar


                • #9
                  Ja, den zweiten Code hab ich ja so.

                  HIer, das muss doch gehen:

                  PHP-Code:
                  $seiten $db->query_first("SELECT seitenid FROM www_seiten WHERE kennung='".$page."'");
                          
                  $db->query("UPDATE www_aktuellon SET seitenid='".$seiten['seitenid']."', time='".time()."' WHERE userid='".$user_id."'");
                          echo 
                  $seiten['seitenid'];
                  echo 
                  $seiten[0];
                  echo 
                  $anzahl
                  So. die Echos sind richtig, es kann doch nicht sein, dass er dann was anderes in die DB einträgt!
                  Und bei einem anderen Testscript, wo ich nur diesen Code habe, klappt es einwandfrei! Aber die Tabelle wird sonst nirgendwo angesprochen, die Variablen sind auch noch nicht belegt oder sowas!
                  Verflucht!

                  Kommentar


                  • #10

                    mal aufdröseln:
                    PHP-Code:
                    $jetzt time();
                    $sql="UPDATE www_aktuellon SET seitenid='".$seiten['seitenid']."', time='".$jetzt."' WHERE userid='".$user_id."'";
                    echo 
                    $sql;
                    $db->query($sql); 
                    Kissolino.com

                    Kommentar


                    • #11
                      lol.... Er gibt aus:
                      UPDATE www_aktuellon SET seitenid='5', time='1057674543' WHERE userid='1'
                      UNd trotzdem immer noch 1 in der DB

                      Kommentar


                      • #12
                        *mühsam_ernährt_sich_das_eichhörnchen*

                        wird das update überhaupt ausgeführt ? => was ist mit "time", ändert sich da was?
                        *grrr* "TIME" als spaltenbezeichnung könnte der fehler sein

                        setz den mal in backticks => `time`='$jetzt'
                        Kissolino.com

                        Kommentar


                        • #13
                          wird ausgeführt, die Zeit ändert sich genau wie sie soll....

                          Kommentar


                          • #14
                            muss ich das verstehen?? langsam gehen mir die ideen aus.

                            letzter versuch:
                            wie sieht denn die tabelle aus, poste doch mal nen dump der struktur.
                            Kissolino.com

                            Kommentar


                            • #15
                              PHP-Code:
                              #
                              # Tabellenstruktur für Tabelle `www_aktuellon`
                              #

                              CREATE TABLE www_aktuellon (
                                
                              userid int(3NOT NULL default '0',
                                
                              seitenid int(3NOT NULL default '0',
                                
                              time int(32NOT NULL default '0',
                                
                              UNIQUE KEY userid (userid)
                              TYPE=MyISAM
                              Hm, bei dem Testscript ging es aber...

                              Kommentar

                              Lädt...
                              X