PHP MYSQL MEHRERE DATUM' SOLTIEREN?

5 Antworten

Verstehe die Frage nicht so ganz. Wenn das Feld vom Typ DATE oder TIMESTAMP ist kannst diese in den ORDER Ausdruck mit einbauen.

Du kannst auch wie ich deine Frage versuche zu interpretieren hast Du mehrere Datumsfelder z.B. Geburtstag und Anmeldedatum,  

ORDER BY geburtstag DESC, anmeldedatum DESC

Also einfach mit Kommata abtrennen

ich benutze varchar und bei DESC werden nach den Tagen solltiert

0

Meinst Du "sortieren" statt "solltieren"?

Übergabeparameter würde ich raten nie direkt in ein Statement zu schreiben. Allerdings ist dein Versuch schon in der richtigen Richtung. Du müsstest nur eben 2 Parameter dynamisch einbinden (die Spalte und die Richtung).

Dein Datumsfeld muss vom Typ DATE sein. Dann heißt die SQL-Anweisung:

SELECT * FROM db ORDER by Datumsfeld DESC.

Dein ".$_GET["sort"]." ist kein SQL-Ausdruck, das versteht die Datenbank nicht.

Muss nicht. Wenn ich den eintrag so schreibe: $sql = "SELECT * FROM db ORDER BY ".$_GET["sort"]." ASC" und "SELECT * FROM db ORDER BY ".$_GET["sort"]." DESC"; - das ".$var." ist dafür da das du variablen ohne das der Anderen Variable auffällt übergeben bzw. eingesetzt

0

DISTINCT filtert nicht? SQL Abfrage falsch?

Ich möchte, dass alle die dem Administrator schreiben, bloß ein mal aufgelistet sind. Gibt es also mehr als einen Eintrag wo von und nach gleich sind, so soll dieser einfach ignoriert werden, wenn schon vorhanden. Ich dachte mit DISTINCT sollte das klappen da ich den Inhalt von "nach" filtere, jedoch werden mir trotz der Funktion alle Datensätze ausgegeben.

SQL:

SELECT DISTINCT  `nach` ,  `von` ,  `datum` 
FROM  `nachrichten` 
WHERE  `nach` LIKE  'Administrator'
ORDER BY  `datum` DESC 
...zur Frage

Fehler bei MySQLi ausgabe?

Mache ein MySQL Tutorial mit wo es darum geht MySQL daten auszulesen,habe alles genau so geschrieben wie es dort im video gezeigt worden ist, kriege immer die gleiche fehlermeldung:

Fatal error: Uncaught Error: Call to a member function fetch_array() on boolean in C:\xampp\htdocs\index.php:24 Stack trace: #0

der code ist folgender:

    $befehl = 'SELECT * FROM film LIMIT 0,20';
    $ergebnis = $db->query($befehl);

    if($db->affected_rows)
    {
        while($datensatz = $ergebnis->fetch_array(MYSQLI_ASSOC))
        {
            echo '<li>'.$datensatz['title'].'</li>';
        }
    }

sry kriege die html escape zeichen hier nicht weg :-(

...zur Frage

MYSQL - die 5 letzten Datensätze nach Datum sortieren und einzeln anzeigen

Hallo!

ich bin auf der Suche nach einer eigentlich einfachen Lösung. momentan sieht mein SELECT befehl relativ simple aus.

SELECT name FROM metrostore ORDER BY datum DESC

Nun würde ich jedoch den erste, zweite, dritten, vierten und den fünften Datensatz jeweils einzelnd ausgegeben bekommen. So bekomme ich alle auf einmal raus.

Wenn ich LIMIT am ende noch ran hänge, funktioniert das zwar mit dem ersten Datensatz, jedoch mit den weiteren Datensätzen nicht,

SELECT name FROM metrostore ORDER BY datum DESC LIMIT 0,1
SELECT name FROM metrostore ORDER BY datum DESC LIMIT 1,2
SELECT name FROM metrostore ORDER BY datum DESC LIMIT 2,3

So kann ich nun nicht meine Datensätze einzeln anzeigen wie mir aufgefallen ist, da jeweils die Menge geändert wird wie viele ausgegeben werden.

Nun wäre meine Frage wie ich denn den (z.B.) dritten aktuellsten Datensatz anzeigen kann. oder eben den zweiten, vierten, fünften, etc. .

Ich bedanke mich für eure Antworten! :)

...zur Frage

Wie löse ich diese 5 PHP Warnungen / Notices / Errors?

Hallo zusammen,

ich habe an meiner Webseite weiter geschrieben, allerdings bekomme ich jetzt viele neue Fehler angezeigt:

Notice: Undefined index: REQUEST_URL in C:\xampp\htdocs\Berlinblog\Kommentare.php on line 71

Notice: Undefined variable: ergebnis in C:\xampp\htdocs\Berlinblog\Kommentare.php on line 89

Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\Berlinblog\Kommentare.php on line 89

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\Berlinblog\Kommentare.php on line 99

Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\Berlinblog\Kommentare.php on line 100

Ich komme einfach nicht weiter, was das Problem bei allen ist.

Über Hilfe würde ich mich sehr freuen :)

Mfg: S.Koller

Code (ich konnte nicht den gesamten reinpacken wegen Begrenzung D:):

    <h1><br><br><br>Kommentare:  </h1>

    <fieldset>        <legend>Neuer Eintrag</legend>       <a href="schreiben.html">Neuen Eintrag schreiben &raquo;</a>    </fieldset>

    <fieldset>       <legend>G&auml;stebuch</legend>       <?php       $servername = "localhost";       $user = "root";       $passwort = "";       $db = "berlin";

      $verbindung = new mysqli($servername, $user, $passwort, $db);       $pagesuche = 0;       $url = $_SERVER["REQUEST_URL"];       $pagesuche = strpos($url, "?page=");

      if($pagesuche == "") {         $page = 1;       } else {         $page = $_GET["page"];       }

      $wo = ($page * 5) -5;       $wo++;       $zahl = 0;       $pos = 0;       $abfrage ="SELECT id FROM gbook ORDER BY id DESC";       $ergebnis = mysqli_query($abfrage);       while($row = mysqli_fetch_object($ergebnis)) {       if($zahl == $wo){         $pos =$row->id;         }         $zahl++;        }

       $abfrage ="SELECT * FROM gbook WHERE is<= '$pos' ORDER BY id DESC LIMIT 5";       $ergebnis = mysqli_query($abfrage);       while($row = mysqli_fetch_object($ergebnis)){

       ?>       <h3><?php echo $row->name; ?>&nbsp;<small style="color:grey">schrieb:</small></h3> <p><?php echo $row->nachricht; ?></p>       <h5 style="color:grey;"><?php echo $row->datum; ?></h5> <hr /> <?php } $verbindung -> close();

       ?>    </fieldset>   </body> </html>

...zur Frage

MYSQL - LIMIT - optimiert?

mysql SELECT ORDER BY xxx DESC LIMIT 0, 10

Mir wurde gesagt, die mySQL datenbanken sind schon sehr schlau geworden. ich hätte eine Theoretische frage.

bei einer Tabelle mit 1 Mrd Datensätze und man gibt den oberen befehl ein (also letzten 10 einträge bitte anzeigen). Verarbeitet der Server bzw. die DAtenbank erstmal die 1 Mrd datensätze und gibt dann die letzten 10 aus oder geht er letzten 10 durch ohne die ganze Milliarde zu verarbeiten?

Falls er die Milliarde erstmal verarbeit, gibt es vielleicht einen anderen befehl, der mir einfach die letzten 10 datensätze rausspuckt?

Danke schonmal!

...zur Frage

Was möchtest Du wissen?