PHP alfabet
Hej.Jeg driver Anelinks.dk og er i gang med et projekt (demo), hvor man skal tilgå et leksikon med forskellige emner.
DEMO: http://www.anelinks.dk/ord_vis.php?id=1
Jeg har et kodesnip i php, der afvikler et alfabetet, som igen henter data (ord og tekst) fra databasen (Mysqli), når man trykker på de forskellige bogstaver i alfabetet. Det virker fint, på nær når Æ Ø Å indgår i ordet, f.eks. Ægteskab.
Jeg kan ikke lige greje hvor fejlen ligger, og tænker om nogle vil hjælpe mig på vej, så den acceptere de danske tegn på lige fod med de øvrige.
Her er koden der afvikler projektet:
Alfabetet:
<?php
for( $i = 65; $i < 91; $i++) {
$bot[] = chr($i);
}
$bot[] = 'Æ';
$bot[] = 'Ø';
$bot[] = 'Å';
echo '<ul class="pagination pagination-sm mb-0">';
foreach($bot as $alfabet)
{
echo '<li class="page-item"><a class="page-link" href="ord_vis.php?char='.$alfabet.'&id='.mysqli_real_escape_string($con,$_GET['id']).'#tags">'.$alfabet.'</a></li>';
}
echo '</ul>';
?>
Hentet data fra databasen:
<?php
$char = '';
if(isset($_GET["char"]))
{
$char = mysqli_real_escape_string($con,$_GET['char']);
$char = preg_replace('#[^a-z]#i', '', $char);
$query = "SELECT * FROM ord_content_ord WHERE j_title LIKE '$char%'";
}
else
{
$query = "SELECT * FROM ord_content_ord ORDER BY j_title ASC";
}
$result = mysqli_query($con,$query);
if ($result->num_rows > 0) {
while($r = $result->fetch_assoc()) {
echo '
<h5 class="font-size-17 mb-4" style="margin-top: 0px;color: darkorange;">'.$r["j_title"].' <span style="float: right;">'.$r["alfa"].'</span></h5>
'.$r["j_text"].'
<hr style="color: #777margin-top: 0px;"></hr>';
}
}
else
{
echo 'Ingen data fundet';
}
?>