31. december 2005 - 12:28Der er
12 kommentarer og 1 løsning
Kun første bogstav i efternavn
Hej vi er nogle stykker der samles til lidt spil. vi er nu blevet 22 personer og har derfor brug for forbogstav fra efter navnet, det havde jeg ude ladt ved første udkast! Koden som den er nu: <? $query = "SELECT navn,gsnit FROM userstats, deltagere where deltagere.id=userstats.userid order by gsnit DESC"; //echo "<br>".$query."<br>"; $result = mysql_query($query) or die('Query failed: ' . mysql_error()); $a=0; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $data = explode(" ",$line['navn']); ?> <tr> <td><?=$data[0];?></td> <td align="center" width="50"><?=round($line["gsnit"],2);?></td> </tr>
Du kan lave en ekstra kolonne i databasen, så der en til fornavn og en til efternavn. Så kan du udskrive første bogstav i efternavn med f.eks. substr() funktionen.
Sådan som jeg opfatter koden, står hele navnet i en kolonne, altså: fornavn efternavn. Så bruger han explode() til at lave et array, hvor index 0 indeholder fornavn og index 1 indeholder efternavn. Hvis jeg har ret, må det være $data[1] han skal have gang i.
Synes godt om
Slettet bruger
31. december 2005 - 16:34#5
Ja, men hvis der også er mellemnavn eller flere fornavne, finder (count(data)-1) det sidste led af strengen.
Synes godt om
Slettet bruger
31. december 2005 - 16:34#6
og hvis det er første bogstav, bruges den sidste [0] til at finde dette.
Jeg syntes, der er en forholdvis stor risiko for fejl, når man har hele navnet i en kolonne. Netop som du siger, med fornavne, mellemnavne og efternavne. Jeg ville fortrække flere kolonner med navne, men ellers kan begge vores forslag nok bruges. Det afhænger af, om der bruges mellemnavne og hvilken teknik man er mest fortrolig med.
Synes godt om
Slettet bruger
31. december 2005 - 16:49#8
Ja.. Min vil altid virke, mens din kun vil virke hvis folk har mellemnavne eller flere fornavne. Jeg kan ikke se noget grund til at bruge en statisk løsning, når en dynamisk er til stede.
Vango6 skrev han skulle bruge forbogstavet i efternavnet. Derfor må man formode, at der altid vil være et efternavn. Desuden vil han jo ikke have det sidste bogstav i navnet, men det første i efternavn.
kourinsu: Min finder det første bogstav i efternavnet, fordi efternavnet _altid_ er den sidste del af navnet. Dvs hvis man hedder "Jens Bjerre Mikkelsen", finder den "M" i stedet for "B", som din statiske version ville.
Synes godt om
Ny brugerNybegynder
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.