kostenloser Webspace werbefrei: lima-city


Datum Filtern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Ich habe ein kleines Problem beim tag/filtern">Filtern meiner Accounts.

    Mein Endziel ist es die Leute zu bannen bzw. zu löschen die längere Zeit Offline sind zb. also 2 Monate Offline sind das diese wegen Inaktivität gekickt werden.

    Dafür jedes Datum das länger als zb. 14 Tage alt ist erstmal rausfiltern das ich sie zb. via echo anzeigen kann.

    Theoretisch ist dies mit:
    $dayseven = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())'";


    möglich jedoch habe ich das Problem das er bei mir nicht die Abfrage im SQL tätigt sondern den Gesamten Befehl ins Echo ausspruckt.

    Echo dann halt:
    SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())


    Hat da jemand eine Idee was ich falsch mache ??

    Mfg
    Jwolff
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Könntest du den Codeausschnitt einfügen wo du den SQL-Querry auch an die DB schickst?
    Oder könnte es sein das du diese CHAR-Kette in den ECHO befehl gehaun hast?

    MfG


    //EDIT

    versuchs mal mit dem hier nachdem du dich mit der DB connected hast:

    $abfrage = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);

    und dann $row benutzen ;)

    Beitrag zuletzt geändert: 29.1.2010 12:46:40 von lordcodex
  4. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    $hostname_mySQL = "XXXX";
        $database_mySQL = "homepage";
        $username_mySQL = "XXXX";
        $password_mySQL = "XXXX";
        
        $mySQL = mysql_pconnect($hostname_mySQL, $username_mySQL, $password_mySQL); 
        
        //_____ Gebannte User auslesen _______________________________________________________
    
        /* 6 */ $dayseven = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())'";


    und dann einfach ein

    echo $dayseven;

    Alles natürlich im <?php ^^
  5. s.o auf mein EDIT bitte
    und bitte die ganzen Hochkommata aus dem SELECT nehmen ;)
    ausserdem PHP MYSQL einfach mal googeln...da findest du genug Zeugs
    wie man SQL Querrys an die DB per PHP schickt ;)

    Beitrag zuletzt geändert: 29.1.2010 12:49:06 von lordcodex
  6. SELECT * FROM `account` WHERE DATEDIFF( CURDATE( ) , `last_login` ) >14


    Versuch das mal mit dieser Abfrage... damit sollten alle Logins, die älter als 14 Tage sind, aufgelistet werden!
  7. jwolff schrieb:
    $hostname_mySQL = "XXXX";
        $database_mySQL = "homepage";
        $username_mySQL = "XXXX";
        $password_mySQL = "XXXX";
        
        $mySQL = mysql_pconnect($hostname_mySQL, $username_mySQL, $password_mySQL); 
        
        //_____ Gebannte User auslesen _______________________________________________________
    
        /* 6 */ $dayseven = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())'";


    und dann einfach ein

    echo $dayseven;

    Alles natürlich im <?php ^^


    led
    Ich hab mal ne Frage, entweder hab ich es übersehen, was ich nicht glaube....

    So wie ich das an deinem Quelltext sehe, speicherst du die Abfrage in der Variablen $dayseven, aber ich kann an deinem Quelltext nicht erkennen das du den Befehl auch an deine Datenbank sendest.
    Hab ich was übersehen?
  8. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    bbotool schrieb:
    led
    Ich hab mal ne Frage, entweder hab ich es übersehen, was ich nicht glaube....

    So wie ich das an deinem Quelltext sehe, speicherst du die Abfrage in der Variablen $dayseven, aber ich kann an deinem Quelltext nicht erkennen das du den Befehl auch an deine Datenbank sendest.
    Hab ich was übersehen?


    habe ich wohl selbst übersehen ^^ (Hab nur teile kopiert nicht alles da ist das mit unter gegangen

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\board\acc\exgminfo.php on line 20

    kommt im übrigen bei
    $abfrage = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);


    Beitrag zuletzt geändert: 29.1.2010 13:17:27 von jwolff
  9. jwolff schrieb:
    bbotool schrieb:
    led
    Ich hab mal ne Frage, entweder hab ich es übersehen, was ich nicht glaube....

    So wie ich das an deinem Quelltext sehe, speicherst du die Abfrage in der Variablen $dayseven, aber ich kann an deinem Quelltext nicht erkennen das du den Befehl auch an deine Datenbank sendest.
    Hab ich was übersehen?


    habe ich wohl selbst übersehen ^^

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\board\acc\exgminfo.php on line 20

    kommt im übrigen bei
    $abfrage = "SELECT 'last_login' FROM 'account' WHERE 'TO_DAYS(feld)+14 < TO_DAYS(NOW())";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);




    Nimm bitte die ganzen Hochkommata aus dem Querry raus...sonst erkennt die DB das nicht als Querry ;)

    $abfrage = "SELECT last_login FROM account WHERE TO_DAYS(feld)+14 < TO_DAYS(NOW())";

    müsste so eigentlich gehn =)
  10. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Steht noch immer da in Reihe 20 steht halt das hier:
    $row = mysql_fetch_object($ergebnis);
  11. Versuchs einfach mal mit ner anderen einfachen SELECT abfrage,
    (wo du genau weißt das sie richtig ist)
    da ich vermute das deine Abfrage einfach keine Ergebnistabelle liefert :\

    Sonst fällt mir ehrlich gesagt grad kein weiterer Grund ein warum der Fehler kommt -.-
  12. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Das hier ist das kommplette Script wie es momentan ist.
    <?php
    include "config.php";
    
    mysql_select_db($database_mySQL, $mySQL);
    
    $abfrage = "SELECT last_login FROM account WHERE TO_DAYS(feld)+14 < TO_DAYS(NOW())";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    
    echo $row ;
    ?>


    Arbeite momentan nur an einer Liste von ExMitgliern (GMs)

    der link zur Seite ist:
    http://universe-gaming.ath.cx:5/board/acc/test11.php

    DB Eintrag sieht so aus:
    2010-01-28 04:10:05

    Beitrag zuletzt geändert: 29.1.2010 14:12:21 von jwolff
  13. Wenn ihr mit stark veralteten Funktionen wie mysql_* arbeitet, gewöhnt euch an Fehler ausgeben zu lassen:
    mysql_query(...) OR die(mysql_error());
    Dann bekommst du sicher ne Fehlermeldung, die dir weiterhilft ;)
  14. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Mh...ups xD

    Jetzt steht da:
    Unknown column 'feld' in 'where clause'

    http://universe-gaming.ath.cx:5/board/acc/lima

    da einfach test11.php eintippen :P

    Beitrag zuletzt geändert: 29.1.2010 14:31:49 von jwolff
  15. Naja, das sagts ja. Du hast keine Spalte "feld" in deiner DB. Heißt sie zufällig "Feld"?
  16. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Nein Normalerweise soll ers aus der spalte "last_login" lesen...


  17. <?php
    include "config.php";
    
    mysql_select_db($database_mySQL, $mySQL);
    
    $abfrage = "SELECT last_login FROM account WHERE TO_DAYS(feld)+14 < TO_DAYS(NOW())";
    $ergebnis = mysql_query($abfrage);
    $row = mysql_fetch_object($ergebnis);
    
    echo $row ;
    ?>


    Wenn das dein Quelltext ist ist last _login aber der Name der Tabelle und nicht der Name des Feldes!
  18. FALSCH! Du verwechselst Selektion in der Relationalen Algebra mit dem MySQL SELECT. SELECT entspricht der relationalen Projektion, nicht der Selektion.

    SELECT last_login FROM account WHERE TO_DAYS(last_login)+14 < TO_DAYS(NOW())


    Das ist die korrekte Abfrage.
  19. Um das mal zu klären, wie sieht den deine Tabellenstrucktur überhaubt aus?
  20. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    bbotool schrieb: Um das mal zu klären, wie sieht den deine Tabellenstrucktur überhaubt aus?


    id
    username
    sha_pass_hash
    gmlevel
    sessionkey
    v
    s
    email
    joindate XXXX-XX-XX 00:00:00
    last_ip
    failed_logins
    locked
    last_login
    online
    expansion
    mutetime
    locale
    Igame name

    Das wäre so zimlich die TabellenStrucktur..

    Oder was meinst du da dran ?


    nikic schrieb: FALSCH! Du verwechselst Selektion in der Relationalen Algebra mit dem MySQL SELECT. SELECT entspricht der relationalen Projektion, nicht der Selektion.

    SELECT last_login FROM account WHERE TO_DAYS(last_login)+14 < TO_DAYS(NOW())


    Das ist die korrekte Abfrage.

    Klappt auch nicht.

    http://universe-gaming.ath.cx:5/board/acc/lima da siehste wie des script momentan aussieht. (test11.php eingeben)
    kannst mir ja sagen was falsch dran ist bzw. es editieren...

    Beitrag zuletzt geändert: 29.1.2010 18:39:53 von jwolff


  21. SELECT * FROM account WHERE TO_DAYS(last_login)+14 < TO_DAYS(NOW())

    Probier das mal aus....

    ich gehe mal davon aus das die Tabelle account heißt.
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!