webForumDet fria alternativet

Sortera namn med bokstäver

PHP

6 svar · 427 visningar · startad av Thistel

Medlem sedan aug. 200470 inlägg
Frågan#1

Fråga 1: Om ett värde innehåller både siffror och bokstäver vad skall då datatypen vara i tabellen? (databasen är mysql)

Fråga 2: Hur sorterar jag värden som innehåller både siffror och bokstäver?
Värden som skall sorteras är A1, A2, A11, A100, AB osv. Vill ha dem i den ordningen med.

Medlem sedan dec. 20025 483 inlägg
#2
  1. Om värdets längd är konstant, t.ex. en bils registreringsnummer, kan du använda char(storlek). Annars är det varchar(storlek) som gäller.
Medlem sedan aug. 200470 inlägg
#3

Bra då har jag rätt i databasen. (varchar) Då är det bara fråga 2 jag behöver hjälp med nu.

Medlem sedan juni 20006 031 inlägg
#4

Sorteras det fel om du kör ASC?

Medlem sedan aug. 200470 inlägg
#5

Japp...A11 kommer före A2 tex.

Medlem sedan juni 20006 031 inlägg
#6

Kanske den här tråden kan vara till hjälp. Du får testa lite.
http://www.webforum.nu/showthread.php?p=1106384#post1106384

Medlem sedan aug. 200470 inlägg
#7

Blev inte bättre resultat.
Min nuvarande kod.

    //Hämtar alla kategorier för länkar från tabellen tbl_link_cat och länkar från tbl_links     
    $query = "SELECT tbl_link_cat.cat AS Category, tbl_links.Lk_Name AS Name, tbl_links.Lk_url AS Url 
    FROM tbl_links, tbl_link_cat WHERE (tbl_links.Id = tbl_link_cat.Id) ORDER BY tbl_link_cat.cat ASC, tbl_links.Lk_Name ASC"; 
     $result = mysql_query($query);
    // Sätter en tom testvariabel 
    $test_category = ''; 
 
    //Loopar igenom alla kategorier och skriver ut dem     
    while ($row = mysql_fetch_assoc($result)) 
    { 
        if ($test_category != $row['Category']) 
        { 
            echo (' 
            <dl class="listarubrik"> 
                <dt>'.$row['Category'].'</dt> 
                 
            </dl>     
            '); 
         
        } 
         
        //Loopar igenom och skriver ut alla länkar som är för en viss kategori 
        $bgColor = ""; 
        $bgColor = (++$i & 1) ? '#f6f7f7' : '#ffffff'; 
        echo (' 
		<span class="faktatext"> <a href="'.$row['Url'].'">'.$row['Name'].'</a><br> </span>

    '); 
 
     
       // Sätter testvariabeln till aktuell kategori 
       $test_category = $row['Category']; 
        
    }
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)