kostenloser Webspace werbefrei: lima-city


query wird nicht sortiert...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    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....
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    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…
  4. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    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
  5. <?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
  6. 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.
  7. 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.
  8. 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!