ein paar Fragen...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Comment


      • #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

        Comment


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

          ALso korrekt...

          Comment


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

            Comment


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

              Also die stimmen beide auch...

              Comment


              • #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

                Comment


                • #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!

                  Comment


                  • #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

                    Comment


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

                      Comment


                      • #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

                        Comment


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

                          Comment


                          • #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

                            Comment


                            • #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...

                              Comment

                              Working...
                              X