• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Autimatisch and Ende der Seite scrollen & datesim > vor 5 minuten

Kyroy

Neues Mitglied
Hallo,

wie kann ich der Seite sagen, dass er bis zum ende der Seite Scrollt?

Code:
mysql_query("SELECT * FROM `tabelle` WHERE ....");

Wie kann ich hier nur die Zeilen ausgeben, die vor 5 Minuten eingefügt wurden? Beim einfügen wird "NOW()" ind die spalte eingefügt (datetime).

MFG
Kyroy
 
wie kann ich der Seite sagen, dass er bis zum ende der Seite Scrollt?

Da hilft eine Websuche nach etwa "html seitenende scrollen".

- Automatisch zum Seitenende scrollen - Javascript & Ajax @ tutorials.de: Forum & Hilfe

Wie kann ich hier nur die Zeilen ausgeben, die vor 5 Minuten eingefügt wurden?

Das hier gibt beispielsweise alle Datensätze aus, die innerhalb der letzten 5 Minuten hinzugefügt wurden:

Edit: Der Befehl passt nicht. Siehe threadi in #4

Code:
SELECT
    spalte1, spalte2
FROM
    tabelle
WHERE
    MINUTE(TIMEDIFF(NOW(), spalte_datum)) < 5

- MySQL :: MySQL 5.1 Reference Manual :: 11.6 Date and Time Functions
 
Zuletzt bearbeitet:
Danke für diene Hilfe, allerdings gibt es bei deinem code einen kleinen hacken. Er zeigt auch eine Stunde später das an, was vor einer Stunde in den letzten 5 minuten angezeigt wurde.

Sprich:
es ist 10:45 uhr
und er geigt an, was um 9:44uhr passiert ist
edit: und ich denke das gleiche wird mit tagen etc auch sein
 
Danke für diene Hilfe, allerdings gibt es bei deinem code einen kleinen hacken. Er zeigt auch eine Stunde später das an, was vor einer Stunde in den letzten 5 minuten angezeigt wurde.

Oh, pardon. :) Ich editiere mal eine entsprechenden Hinweis in meinen Post rein.
 
Das ist die Tabelle (die 3 zeilen in der mitte sind hier irellevant ;) )
Code:
date                     name   guild    x       y        type       message
2010-06-14 20:47:43     Kyroy     0     202     203     global     test
2010-06-14 20:47:47     Kyroy     0     202     203     global     test1
2010-06-14 20:47:51     Kyroy     0     202     203     global     test2
2010-06-14 20:47:54     Kyroy     0     202     203     global     test3
Ausgabe kurz danach, keine 5 minuten ;):
Code:
[SIZE=3][2010-06-14 20:47:47][B]Kyroy[/B](global): test1[/SIZE]
[SIZE=3][2010-06-14 20:47:51][B]Kyroy[/B](global): test2[/SIZE]
[SIZE=3][2010-06-14 20:47:54][B]Kyroy[/B](global): test3[/SIZE]
Hier der php code:

PHP:
    $result = mysql_query("
        SELECT * FROM `chat` WHERE DATE_SUB(NOW(),INTERVAL 5 MINUTE) <=  `date`
    ")or die("Fehler: " . mysql_error());
    $count = mysql_num_rows($result);
    $row = mysql_fetch_array($result, MYSQL_BOTH);
    for($i=0; $i<=$count;$i++){
        $row = mysql_fetch_array($result, MYSQL_BOTH);
        $date = $row["date"];
        $name = $row["name"];
        $guild = $row["guild"];
        $x = $row["x"];
        $y = $row["y"];
        $type = $row["type"];
        $message = $row["message"];
        if($i == $count)
            echo'<div id="lastLine">';
        if($type == "global")
            echo'
                <font size="3">['.$date.']<b>'.$name.'</b>('.$type.'): '.$message.'</font><br>'
            ;
        if($type == "lokal"){
            if($x == $x_char && $y == $y_char)
                echo'
                    <font size="3">['.$date.']<b>'.$name.'</b>('.$type.'): '.$message.'</font><br>'
                ;
        }
        if($i == $count)
            echo'</div>';
    }
    echo'</div>';
    mysql_free_result($result);

Nun ist meine Frage, warum gibt er die erste Zeile nicht aus?
 
Zuletzt bearbeitet:
PHP:
$result = mysql_query("
        SELECT * FROM `chat` WHERE DATE_SUB(NOW(),INTERVAL 5 MINUTE) <=  `date`
    ")or die("Fehler: " . mysql_error());
    $end = end($result);
    $count = 1;
    while($row = mysql_fetch_array($result, MYSQL_BOTH)){
Code:
[B]Warning[/B]:  end() [[URL="http://dominationone.de/magic_war/woodlands/chat/function.end"]function.end[/URL]]:  Passed variable is not an array or object in [B]/**/**/**/**/**/chat.php[/B]  on line [B]32[/B]
                 [SIZE=3][2010-06-17 00:27:21][B]Kyroy[/B](global): test[/SIZE]
                [SIZE=3][2010-06-17 00:27:24][B]Kyroy[/B](global): test[/SIZE]
                [SIZE=3][2010-06-17 00:27:26][B]Kyroy[/B](global): test[/SIZE]
line 32 ist die $end = end($result);
habs auch schon so getestet:
$end = end(array_keys($result));
 
$result ist lediglich die Resultset-Ressource der SQL-Abfrage. Damit der Code von threadi funktioniert, müsstest du erst alle Datensätze abholen und in ein Array schreiben.

PHP:
function getData()
{
    $data = array();

    $result = mysql_query("
        SELECT * FROM `chat` WHERE DATE_SUB(NOW(),INTERVAL 5 MINUTE) <=  `date`
        ") or die("Fehler: " . mysql_error());

    while ($row = mysql_fetch_assoc($result)) {
        $data[] = $row;
    }

    mysql_free_result($result);

    return $data;
}

Das macht man oft aus Gründen des Anwendungsdesigns automatisch so. Aber, na ja, ich würde hier für die Ausgabe dann ehrlichgesagt auch count() verwenden.

PHP:
$data = getData();
$count = count($data);

for ($i = 0; $i < $count; $i++) {
   // usw.
}
 
Zurück
Oben