query wird nicht sortiert...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ausgabe
auswahl
beispiel
bieten
bild
code
datenbank
datum
display
erzeugen
host
kleinen fehler
ordern
performance
position
spalte
stehen
url
verbindung
-
Morgen Leute!
Aus irgendwelchen gründen werden meine query's nicht sortiert und ich weiß net warum...
Das ist meine query:
$query = "SELECT * FROM categories ORDER BY createt ASC";
Ich will einen Hover Effekt erzeugen, mithilfe meiner mysql datenbank <- Funktioniert
und diese Bilder dann nach asc ordnen <- Funktioniert nicht....
Hier ist der ganze Code...
Um die Bilder auszulesen, den Link zu setzen und eine individuelle id zuzuweisen:
<?php include 'config/database_2_categories.php'; $connection = mysql_connect("$host" , "$user" , "$pass") OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) or die ("Auswahl der Datenbank nicht moeglich."); // Datenbankabfrage $query = "SELECT * FROM categories ORDER BY createt ASC"; $result = mysql_query($query, $connection) or die (mysql_error()); // Ausgabe der Daten while ($row = mysql_fetch_array($result)){ $id = $row['id']; $name = $row['name']; $link = $row['link']; $bild = $row['bild']; $createt = $row['createt']; echo '<li>'; echo '<a href="'; echo $link; echo '" id="'; echo $name; echo '">'; echo '</a>'; echo '</li>'; } ?>
Um den Hover zu erzeugen hab ich im head bereich ein neues <script> </script>, dessen Inhalt:
<?php include 'config/database_2_categories.php'; $connection = mysql_connect("$host" , "$user" , "$pass") OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) or die ("Auswahl der Datenbank nicht moeglich."); // Datenbankabfrage $query = "SELECT * FROM categories ORDER BY createt ASC"; $result = mysql_query($query, $connection) or die (mysql_error()); // Ausgabe der Daten while ($row = mysql_fetch_array($result)){ $id = $row['id']; $name = $row['name']; $link = $row['link']; $bild = $row['bild']; $createt = $row['createt']; echo '#'; echo $name; echo '{'; echo 'width: 130px; height: 130px; text-decoration: none; display: block; background: url(\''; echo $bild; echo '\') 260px 260px; }'; echo ''; echo '#'; echo $name; echo ':hover, #image-link:active { background-position: 130px 130px; }'; } ?>
Meine Daten werden einfach nach der Reihe ausgelesen, aber nicht sortiert.... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
thomasba schrieb:
Was für Daten stehen denn in der Spalte?
Könntest du ein Beispiel für die Ausgabe bieten und dann erläutern, wie es eigentlich sortiert sein sollte. Denn so wie deine Abfrage aussieht, klappt das eigentlich…
Klick mich, ich bin ein Screenshot
Eigentlich sollte Fotografie ja als erstes stehen, statt dessen wird nur stumpf die Liste abgearbeitet
Beitrag zuletzt geändert: 25.1.2012 8:21:47 von kill-a-teddy -
<?php include 'config/database_2_categories.php'; $connection = mysql_connect("$host" , "$user" , "$pass") OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) or die ("Auswahl der Datenbank nicht moeglich."); // Datenbankabfrage $query = "SELECT id, name, link, bild, DATE_FORMAT(createt, '%Y-%m-%d %h:%i:%s') AS datum FROM categories ORDER BY datum ASC"; $result = mysql_query($query, $connection) or die (mysql_error()); // Ausgabe der Daten while ($row = mysql_fetch_array($result)){ $id = $row['id']; $name = $row['name']; $link = $row['link']; $bild = $row['bild']; $createt = $row['datum']; echo '<li>'; echo '<a href="'; echo $link; echo '" id="'; echo $name; echo '">'; echo '</a>'; echo '</li>'; } ?>
EDIT:
Kleinen Fehler korrigiert.
Beitrag zuletzt geändert: 25.1.2012 10:26:33 von fabo -
Ich persönlich nutze für solche Dinge immer time() und trage es auch so ein, bei der Ausgabe funktioniert es dann ganz easy über desc/asc zu sortieren und mit date() wird das ganze wieder formatiert.
Schön zu wissen wie man nen Datum sortiert ausgibt, denn vor dem Problem stand ich vorher auch immer.
-
In den meisten Fällen ist das auch ausreichend. Schwierig wirds, wenn das einzutragende Datum vor dem 01.01.1970 00:00:00 Uhr liegt (z.B. ein Geburtsdatum o.ä.).
Die Umwandlung direkt über MySQL vorzunehmen sollte sich zudem positiv auf die Performance auswirken d.h. es sollte schneller sein, als das Ganze erst mit PHP umzuwandeln. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage