Avatar billede human Nybegynder
30. september 2006 - 14:28 Der er 16 kommentarer og
1 løsning

nøjes med at udtrække fx. 50 tegn fra mysql

Ja, er lidt i tvivl om det her skal placeres i php eller mysql.
Men lad os sige jeg har et felt i min tabel som hedder text. Det tekst felt indeholder 300 tegn. Men jeg vil altså nøjes med at trække 50 af de tegn ud, og efter de 50 tegn skal der så komme ...

Er det muligt?

Sig til hvis jeg skal forklarer bedre.

På forhånd tak.
Avatar billede jaw Nybegynder
30. september 2006 - 14:30 #1
Ja:

SELECT CONCAT(LEFT(feltnavn,50),'...') as shortTekst

...så vil shortTekst indeholde 50 tegn + "..." af indholdet i "feltnavn".
Avatar billede jaw Nybegynder
30. september 2006 - 14:30 #2
I dit tilfælde skal "feltnavn" så være "text" :)
Avatar billede hmortensen Nybegynder
30. september 2006 - 14:35 #3
Og hvis der kun skal "..." på hvis teksten er længere end 50:
SELECT IF(LENGTH(feltnavn) > 50, CONCAT(LEFT(feltnavn, 50), '...'), feltnavn) as shortTekst
Avatar billede human Nybegynder
30. september 2006 - 14:38 #4
Ahh jamen det var jo nemt nok. Min plan er så, hvis der nu er fx 43 tegn i feltet. Så vil allesammen jo blive udskrevet i shorttekst. Og så giver det jo ikke meget mening at der er ... bagved. Kan det også laves?
Avatar billede human Nybegynder
30. september 2006 - 14:39 #5
Haha der var hmortensen hurtigere end mig. Smid svar begge :)
Avatar billede jaw Nybegynder
30. september 2006 - 14:39 #6
Ok :)
Avatar billede human Nybegynder
30. september 2006 - 14:55 #7
Hmm kan det på en smart måde kombineres med:
$query = "SELECT * FROM news ORDER BY date DESC LIMIT $vis_fra, $pr_side";
Eller skal jeg lave et nyt kald? Kan ikke lige se mig ud af det.
Avatar billede jaw Nybegynder
30. september 2006 - 15:00 #8
Sådan her vist:
$query = "SELECT *, IF(LENGTH(feltnavn) > 50, CONCAT(LEFT(feltnavn, 50), '...'), feltnavn) as shortTekst FROM news ORDER BY date DESC LIMIT $vis_fra, $pr_side";
Avatar billede human Nybegynder
30. september 2006 - 15:12 #9
Smukt. Er det muligt de 3 ... kan blive til et link?

Det er det sidste spg. :)
Avatar billede jaw Nybegynder
30. september 2006 - 15:13 #10
De 3, hvilke 3? Det kommer jo an på, hvordan du udskriver dem. Hvis du viser os udskrivningen, så kan det garanteret godt :)
Avatar billede jaw Nybegynder
30. september 2006 - 15:27 #11
Ah, de 3 punktummer - dumme mig.

Prøv det her:
'<a href=\"side.php?id=', id ,'\">...</a>'
$query = "SELECT *, IF(LENGTH(feltnavn) > 50, CONCAT(LEFT(feltnavn, 50), '<a href=\"side.php?id=', id ,'\">...</a>'), feltnavn) as shortTekst FROM news ORDER BY date DESC LIMIT $vis_fra, $pr_side";
Avatar billede jaw Nybegynder
30. september 2006 - 15:27 #12
Hov, det her:
'<a href=\"side.php?id=', id ,'\">...</a>'
skal selvfølgelig ikke med. Kun selve $query :)
Avatar billede human Nybegynder
30. september 2006 - 15:41 #13
Perfekt. Jeg fik en syntax fejl da jeg prøvede det. Jeg havde selvfølgeligt glemt \\ uden om.

hmortensen hvis du vil have poing så sig til, så opretter jeg et spg. med reference til det her. Synes jaw fortjener mindst 60 poing.
Avatar billede human Nybegynder
30. september 2006 - 15:51 #14
Lige for at forstå det. CONCAT(LEFT(text, 500). Hvorfor LEFT i den sætning?
Avatar billede human Nybegynder
30. september 2006 - 15:53 #15
NVM. fandt ud af det ved at skrive right istedet :)
Avatar billede hmortensen Nybegynder
30. september 2006 - 21:48 #16
Nej nej, var blot en lille tilføjelse ;)
Avatar billede jaw Nybegynder
30. september 2006 - 21:57 #17
Og tak for points forresten :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester