FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Mycket flitig postare
|
Jag har en tabell med en mängd texter och ska skapa en meny:
A(20) <-Antal texter som börjar på bokstaven A B(12) C(...) osv. Vad är bästa sättet att få fram hur många texter som börjar på vilken bokstav? |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Har WN som tidsfördriv
|
Utan att kollat så noga (dvs finns säkert bättre lösning) kan du köra substring och ta ut första bokstaven, sedan group by på detta. Räkningen gör du med sedvanlig count.
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Supermoderator
|
Såvida antalet texter inte ändras väldigt ofta så rekommenderar jag att du sparar antalet texter för respektive bokstav i en egen tabell i databasen. Kan texterna börja med annat än bokstäverna i svenska alfabetet (t.ex. en siffra) så får du tänka på hur du vill göra med dessa också.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Har WN som tidsfördriv
|
Så här är en lösning:
Kod:
<?php $result = mysql_query("SELECT * FROM texter WHERE text LIKE 'a%'"); // byta ut "texter" och "text" mot rätt tabellnamn och kolumm! echo "A(".mysql_num_rows($result).")"; $result = mysql_query("SELECT * FROM texter WHERE text LIKE 'b%'"); // byta ut "texter" och "text" mot rätt tabellnamn och kolumm! echo "B(".mysql_num_rows($result).")"; $result = mysql_query("SELECT * FROM texter WHERE text LIKE 'c%'"); // byta ut "texter" och "text" mot rätt tabellnamn och kolumm! echo "C(".mysql_num_rows($result).")"; |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Supermoderator
|
Citat:
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Välj ut efter ett kriterium, typ första bokstaven, som ett separat fält i din sql-sats, samt ett fält med count(titeln). Sen grupperar du efter hela titeln och den första bokstaven, med wth-rollup. Då får du fram en extra rad med delsumman av antalet.
Pseudo-kod : Citat:
Vill du ha ut alla texter i ordning och delsumma för varje första bokstav skriver du så här: Citat:
Senast redigerad av Magnus_A den 2009-10-22 klockan 10:08 Anledning: mer |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Supermoderator
|
Jag tycker det ligger på allas ansvar att skriva så resurssnåla applikationer som möjligt oavsett om man har en sida med 100 eller 100 000 besökare om dagen och håller fortfarande på mitt inledande förslag (förutsatt att det inte ändras alltför ofta då).
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Flitig postare
|
+1 tartareandesire
Bara för att dagens servrar ofta är stora och snabba betyder inte det att man ska skriva en applikation som skickar en massa frågor när man kan göra en enkel lösning som en tabell som sparar antal och då behövs bara en fråga till databasen. |
||
![]() |
![]() |
Svara |
|
|