/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Håndtering af dansk tegn [æøå] i for- løkk~
Fra : Joe


Dato : 16-10-02 10:56

nedenstående kode skulle gerne generere en sorteret liste over entries i en
db, og det gør den også....den 'glemmer' bare entries det starter med æøå.

Hvad går der galt?


//////////////////////////////////////////
kode////////////////////////////////////////////////////

$sektion =
array('abc','def','ghi','jkl','mno','pqr','stu','vwx','yzæ','øå');
$letter =
array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r
','s','t','u','v','x','y','z','æ','ø','å','1','2','3','4','5','6','7','8','9
','0');

//Liste-start
echo "<table summary=\"\" width=\"100%\">";
for ($k = 0; $k < sizeof($letter); $k++)
{
$hop = $k+3;
$tabel = $HTTP_GET_VARS[tabel];


$sql = "select id, titel from ".$HTTP_GET_VARS[tabel]." where titel >
\"".$letter[$k]."\" and titel < \"".$letter[$hop]."\" and
emne=\"".$HTTP_GET_VARS[emne]."\" and status='0' order by titel";

$result = $db->Execute($sql);
if (!$result)echo $db->ErrorMsg();
if (!$result->EOF){ echo "<tr><td class=\"tabeloverskrift\"><a
name=\"".$sektion[$j]."\"></a>".strtoupper($sektion[$j])."</td></tr>";}
while (!$result->EOF)
{
echo "<tr><td> <a
href=\"show.php?id=".$result->fields[0]."&tabel=".$HTTP_GET_VARS[tabel]."\">
".$result->fields[1]."</a></td></tr>";
$result->MoveNext();
}
$k = $k+2;
$j++;
}
echo "</table>";

//////////////////////////////////////////
kode////////////////////////////////////////////////////




 
 
Niels Andersen (16-10-2002)
Kommentar
Fra : Niels Andersen


Dato : 16-10-02 13:31

Joe wrote in <3dad3843$0$6995$edfadb0f@dspool01.news.tele.dk>:
> nedenstående kode skulle gerne generere en sorteret liste over entries i
> en db, og det gør den også....den 'glemmer' bare entries det starter med
> æøå.
[...]
> $letter = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n',
> 'o', 'p','q','r','s','t','u','v','x','y','z','æ','ø','å','1','2','3','4',
> '5','6','7','8','9','0');
[...]
> $sql = "select id, titel from ".$HTTP_GET_VARS[tabel]." where titel >
> \"".$letter[$k]."\" and titel < \"".$letter[$hop]."\" and
> emne=\"".$HTTP_GET_VARS[emne]."\" and status='0' order by titel";

Jeg vil gætte på at problemet ligger i din SQL. Jeg ville forsøge at angive
bogstaverne explicit, i stedet for at bruge større-end og mindre-end.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Joe (16-10-2002)
Kommentar
Fra : Joe


Dato : 16-10-02 14:15

Det er delvist korrekt.... mysql sortere 'æøå' som 'åæø'.

Jeg har fusket mig uden om problemtet med nogle ufine if'er... det er ikke
smuk kode men det virker

Tak for svaret anyway..

Joe

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:m%cr9.113370$Qk5.4925473@news010.worldonline.dk...
> Joe wrote in <3dad3843$0$6995$edfadb0f@dspool01.news.tele.dk>:
> > nedenstående kode skulle gerne generere en sorteret liste over entries i
> > en db, og det gør den også....den 'glemmer' bare entries det starter med
> > æøå.
> [...]
> > $letter = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n',
> > 'o',
'p','q','r','s','t','u','v','x','y','z','æ','ø','å','1','2','3','4',
> > '5','6','7','8','9','0');
> [...]
> > $sql = "select id, titel from ".$HTTP_GET_VARS[tabel]." where titel
>
> > \"".$letter[$k]."\" and titel < \"".$letter[$hop]."\" and
> > emne=\"".$HTTP_GET_VARS[emne]."\" and status='0' order by titel";
>
> Jeg vil gætte på at problemet ligger i din SQL. Jeg ville forsøge at
angive
> bogstaverne explicit, i stedet for at bruge større-end og mindre-end.
>
> --
> Mvh.
>
> Niels Andersen
> (la nels. anersyn.)



Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408659
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste