$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE '%".$sogn."%'");
$query->bind_param("s", $start);
My question is if ii is possible to create a SQL search in a way that when searching for Ålborg it will return Ålborg as well as Aalborg.if I understand it clearly... you are trying to compare values here, in the event Å and A is essentially different.
$sql = "SELECT * FROM ft WHERE Aar = ? AND (AmtHerredSognGade LIKE '%".$sogn."%' OR AmtHerredSognGade LIKE '%".replaceString($sogn)."%') ";
$query = $mysqli->prepare($sql);
$query->bind_param("s", $start);
function replaceString($v) {
$arr = array("Æ" => "AE",
"Ø" => "OE",
"Å" => "AA",
"æ" => "ae",
"ø" => "oe",
"å" => "aa");
return ucwords(strtolower(strtr($v, $arr)));
}
CREATE TABLE test123
(
a INT
,b NVARCHAR(20)
);
INSERT INTO test123 VALUES ( 1 , 'Ålborg' );
INSERT INTO test123 VALUES ( 2 , 'Alborg' );
INSERT INTO test123 VALUES ( 2 , 'Pawan' );
SELECT * FROM test123
WHERE b LIKE '%Ålborg%' COLLATE utf8_unicode_ci
| a | b |
|---|--------|
| 1 | Ålborg |
| 2 | Alborg |
// We have a 'start' and a 'sogn' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE '%".replaceString($sogn)."%'");
$query->bind_param("s", $start);
</script>
<script>
function replaceString($v) {
$arr = array("Æ" => "AE",
"Ø" => "OE",
"Å" => "AA",
"æ" => "ae",
"ø" => "oe",
"å" => "aa");
return ucwords(strtolower(strtr($v, $arr)));
}
</script>
<script>It should be coded as PHP code, not Javascript code.
function replaceString($v) {
$arr = array("Æ" => "AE",
"Ø" => "OE",
"Å" => "AA",
"æ" => "ae",
"ø" => "oe",
"å" => "aa");
return ucwords(strtolower(strtr($v, $arr)));
}
</script>
$vars = array("Aalborg", "Ålborg");
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE ?");
$query->bind_param("ss", $start, $city);
foreach ($vars as $city):
$city = "%" . $city . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
var_dump($data);
endforeach;
if (!empty($sogn) && empty($start)):
// We have a 'sogn' value and no 'start' value
$vars = array("Aalborg", "Ålborg");
$query = $mysqli->prepare("SELECT * FROM ft WHERE AmtHerredSognGade LIKE ? ");
$query->bind_param("s", $sogn);
foreach ($vars as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
//var_dump($data);
endforeach;
elseif (!empty($start) && !empty($sogn)):
// We have a 'start' and a 'sogn' value
$vars = array("Aalborg", "Ålborg");
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE ?");
$query->bind_param("ss", $start, $sogn);
foreach ($vars as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
//var_dump($data);
endforeach;
endif;
function cityVariations($city) {
$arr = array(
"æ" => "ae",
"ø" => "oe",
"å" => "aa",
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å"
);
$lower = mb_convert_case($city, MB_CASE_LOWER);
$newCity = strtr($lower, $arr);
$cities[] = $city;
$cities[] = $newCity;
return array_unique($cities);
}
It uses the mb_convert_case instead of ucwords / strtolower as it works with the UTF characters (Å => å, etc.). It takes in a City and returns an array or variations. Use it like so:$cities = cityVariations($sogn);
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
//var_dump($data);
endforeach;
function cityVariations($city) {
$arr = array(
"æ" => "ae",
"ø" => "oe",
"å" => "aa",
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å",
);
$lower = mb_convert_case($city, MB_CASE_LOWER);
$newCity = strtr($lower, $arr);
$cities[] = $city;
$cities[] = $newCity;
return array_unique($cities);
}
if (!empty($sogn) && empty($start)):
// We have a 'sogn' value and no 'start' value
$cities = cityVariations($sogn);
$query = $mysqli->prepare("SELECT * FROM ft WHERE AmtHerredSognGade LIKE ? ");
$query->bind_param("s", $sogn);
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
//var_dump($data);
endforeach;
elseif (!empty($start) && !empty($sogn)):
// We have a 'start' and a 'sogn' value
$cities = cityVariations($sogn);
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE ?");
$query->bind_param("ss", $start, $sogn);
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
//var_dump($data);
endforeach;
endif;
$records = array();
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
while ($record = $query->fetch_object()):
$records[] = $record;
endwhile;
endforeach;
<?php
// Turn on error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Do we need the database
if (!empty($_POST)):
// Connect to the database is we have a POST
$mysqli = mysqli_connect("db credentials) or die("Error connecting to database!");
$mysqli->set_charset("utf8");
// Trim the input values
$start = trim($_POST['query_start']);
$sogn = trim($_POST['sogn']);
$amt = trim($_POST['amt']);
function cityVariations($city) {
$arr = array(
"æ" => "ae",
"ø" => "oe",
"å" => "aa",
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å",
);
$lower = mb_convert_case($city, MB_CASE_LOWER);
$newCity = strtr($lower, $arr);
$cities[] = $city;
$cities[] = $newCity;
return array_unique($cities);
}
if (!empty($amt) && empty($start)):
//We have an 'amt' value and no 'start' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Amt = ? ");
$query->bind_param("s", $amt);
else:
if (!empty($amt) && !empty($start)):
//We have an 'amt' value and a 'start' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Amt = ? AND Aar = ?");
$query->bind_param("ss", $amt, $start);
elseif (!empty($start) && empty($sogn)):
// We have a 'start' value and no 'sogn' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ?");
$query->bind_param("s", $start);
else:
if (!empty($sogn) && empty($start)):
// We have a 'sogn' value and no 'start' value
$cities = cityVariations($sogn);
var_dump($cities);
$query = $mysqli->prepare("SELECT * FROM ft WHERE AmtHerredSognGade LIKE ? ");
$query->bind_param("s", $sogn);
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
var_dump($data);
endforeach;
elseif (!empty($start) && !empty($sogn)):
// We have a 'start' and a 'sogn' value
$cities = cityVariations($sogn);
var_dump($cities);
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND AmtHerredSognGade LIKE ?");
$query->bind_param("ss", $start, $sogn);
foreach ($cities as $sogn):
$sogn = "%" . $sogn . "%";
$query->execute();
$result = $query->get_result();
$data = $result->fetch_all();
var_dump($data);
endforeach;
endif;
endif;
endif;
// Do we have a query to run
if (isset($query) && $query):
$query->execute();
$results = $query->get_result();
endif;
endif;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Folketællinger</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(function(){
$('#myTable').on('click', '.toggle', function() {
$(this).parents('tr').nextAll('tr.child').toggle();
});
});
</script>
<style type="text/css">
#header { margin-top: 10px; margin-bottom:10px; }
tbody.toggle tr.child { display: none; background-color: #f6f6f6;}
tbody.toggle tr:nth-child(even){ display: none; background-color: #d5d5d5;}
tbody.toggle tr.expander { display: table-row; background-color: #f6f6f6; }
tbody.toggle tr.non { display: table-row; background-color: white; }
span.toggle { cursor: pointer; color: cornflowerblue; font-family: 'FontAwesome'; font-size: 16px;}
span.toggle:hover { color: cornflowerblue; }
span.toggle:after { content: '\f055' };
</style>
<style>
table, th {
border-bottom: 1px #666666;
border-top: 0px;
border-right: 0px;
border-left: 0px;
border-style: solid;
border-collapse: collapse;
padding-top:10px;
padding-left:20px;
color:black;
font-family: Serif;
font-size: 20px;
font-weight: bold;
text-align: left;
}
table, td {
border: 0px #f6f6f6;
border-style: none;
border-collapse: collapse;
padding-top: 0px;
border-bottom: 1px solid #666666;
padding-left: 0px;
color:black;
font-family: arial;
font-size: 12px;
font-weight: normal;
text-align: padding-left;
}
a:link {
color: black;
text-decoration: underline;
font-weight: bold;
}
a:visited {
color: #e08a94;
text-decoration: underline;
}
a:hover {
color: cornflowerblue;
text-decoration: underline;
font-weight:normal;
}
a:active {
color: black;
text-decoration: underline;
}
.table > tbody + tbody { border-top: none; }
.table > tbody > tr > td { border-top: none; }
</style>
</head>
<body>
<!-- Søge felt til folketællinger -->
<div class="container" style="width:100%;padding-top:10px;background-color:#f6f6f6;">
<!-- HEADER START -->
<div class="row" id="header">
<form method="POST" style="margin-left:30px; margin-right: 30px;">
Amt
<select id="amt" name="amt" style="margin-right: 20px; font-weight:bold;">
<option value=""></option>
<option value="Bornholm">Bornholm</option>
<option value="Frederiksborg">Frederiksborg</option>
<option value="Haderslev">Haderslev</option>
<option value="Hjørring">Hjørring</option>
<option value="Holbæk">Holbæk</option>
<option value="København">København</option>
<option value="Maribo">Maribo</option>
<option value="Odense">Odense</option>
<option value="Præstø">Præstø</option>
<option value="Randers">Randers</option>
<option value="Ribe">Ribe</option>
<option value="Ringkøbing">Ringkøbing</option>
<option value="Roskilde">Roskilde</option>
<option value="Skanderborg">Skanderborg</option>
<option value="Sorø">Sorø</option>
<option value="Svendborg">Svendborg</option>
<option value="Sønderborg">Sønderborg</option>
<option value="Thisted">Thisted</option>
<option value="Tønder">Tønder</option>
<option value="Vejle">Vejle</option>
<option value="Viborg">Viborg</option>
<option value="Aabenraa">Aabenraa</option>
<option value="Aalborg">Aalborg</option>
<option value="Aarhus">Aarhus</option>
</select>
År
<select id="aar" name="query_start" style="margin-right: 20px; padding-left: 30px; ">
<option value=""></option>
<option value="1787">1787</option>
<option value="1801">1801</option>
<option value="1803">1803</option>
<option value="1834">1834</option>
<option value="1835">1835</option>
<option value="1840">1840</option>
<option value="1845">1845</option>
<option value="1850">1850</option>
<option value="1855">1855</option>
<option value="1860">1860</option>
<option value="1860">1860</option>
<option value="1870">1870</option>
<option value="1860">1878</option>
<option value="1880">1880</option>
<option value="1890">1890</option>
<option value="1901">1901</option>
<option value="1906">1906</option>
<option value="1911">1911</option>
<option value="1916">1916</option>
<option value="1921">1921</option>
<option value="1925">1925</option>
<option value="1930">1930</option>
<option value="1940">1940</option>
</select>
Sted, By, Sogn, Gade
<input type="text" title="Søger du et specifikt Sogn, så skriv Amtet med i søgestrengen f. eks 'Bornholm Rønne'" placeholder="Fritekst" style="margin-left:5px; height:25px;width:275px;border: 1px solid #666666;border-radius:2px;color:#666666;" name="sogn">
<input type="submit" title="Klik her, eller tast Enter, for at aktivere søgningen." style="margin-left:5px;padding-right:10px;height:25px;font-family:arial; font-size: 12px; text-align:left; background-color:#cccccc; border: 2px solid #grey;border-radius:2px; color:black; background-color:#cccccc; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);" value="Søg">
<input type="submit" style="margin-left:5px;height:25px;font-family:arial; font-size: 12px; text-align:left; background-color:#cccccc; border: 2px solid grey;border-radius:2px; color:black; background-color:#cccccc; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);;" value="Nulstil">
</form>
</div>
<!-- HEADER END -->
<!-- DATA START -->
</div>
<div class="flex-container" style="width:site-width; background-color:white;">
<div class="flex-item" style="margin-top:10px; float:left; margin-left:20px;width: site-width; overflow:auto;">
<div class="row" style="margin-left:10px;margin-right:10px;">
<!-- Have we ran a query -->
<?php if (isset($results)): ?>
<!-- Do we have any results -->
<?php if ($results->num_rows): ?>
<table id="myTable" class="table">
<colgroup>
</colgroup>
<tr>
<th> </th> <th>Sted Sogn Gade</th> <th>Amt</th> <th>Aar</th> <th>Gade (1860)</th> <th>Matr. nr. (1860)</th>
</tr>
<!-- Loop through the results of the query -->
<?php while ($row = $results->fetch_object()): ?>
<!-- Links for the individual rows -->
<?php
$link1 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->URL, $row->AmtHerredSognGade);
$link2 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->Infourl, $row->Info);
$link3 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->Infourl, $row->Gade);
$link4 = sprintf($row->AmtHerredSognGade);
?>
<?php if ($row->Collapse == 'p'): ?>
<!-- We have a parent row -->
<tbody class='toggle' >
<tr class="expander">
<td><span class='toggle'></td>
<?php if (!empty($row->URL)):?>
<td><?php echo $link1 ?></td>
<?php else:?>
<td> <?php echo $link4?> </td>
<?php endif; ?>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
<td><?php echo $row->Gade ?></td>
<td><?php echo $row->Kvarter ?></td>
</tr>
<?php elseif ($row->Collapse == 'c'): ?>
<!-- We have a child row -->
<tr class="child">
<td> </td>
<?php if (!empty($row->URL)):?>
<td><?php echo $link1 ?></td>
<?php else:?>
<td> <?php echo $link4?> </td>
<?php endif; ?>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
<td><?php echo $row->Gade ?></td>
<td><?php echo $row->Kvarter ?></td>
</tr>
<?php else: ?>
<!-- We have a non-collapsible row -->
<tr class="non">
<td> </td>
<!-- Område, link -->
<td><?php echo $link1 ?></td>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
</tr>
<?php endif; ?>
<?php endwhile; ?>
</table>
<?php else: ?>
<p>Der er ingen resultater for denne søgning</p>
<?php endif; ?>
<?php endif; ?>
</div>
<!-- DATA END -->
</div>
</div>
</body>
</html>
$sogn = "Ålborg";
$searchStr1 = replaceString($sogn);
$searchStr2 = replaceString($searchStr1, false);
$sql = "SELECT * FROM ft WHERE Aar = ? AND (AmtHerredSognGade LIKE '%".$searchStr1."%' OR AmtHerredSognGade LIKE '%".$searchStr2."%') ";
echo $sogn." > ".$searchStr1." > ".$searchStr2."<br><br>";
echo $sql;
function replaceString($v, $reverse = null) {
$arr = array("Æ" => "AE",
"Ø" => "OE",
"Å" => "AA",
"æ" => "ae",
"ø" => "oe",
"å" => "aa");
$isDefault = is_null($reverse);
if ((!$direction) && ($reverse)) {
$isDefault = false;
}
if ($isDefault) {
$arr2 = array_flip($arr);
return strtr(mb_convert_case($v, MB_CASE_LOWER), $arr2);
} else {
return strtr(mb_convert_case($v, MB_CASE_LOWER), $arr);
}
}
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'On'); //On or Off
/* Test 1 */
echo "<p>Test 1</p>";
$sogn = "Ålborg";
$searchStr1 = replaceString($sogn);
$searchStr2 = replaceString($searchStr1, false);
echo $sogn." > ".$searchStr1." > ".$searchStr2."<br><br>";
$sql = "SELECT * FROM ft WHERE Aar = ? AND (AmtHerredSognGade LIKE '%".$searchStr1."%' OR AmtHerredSognGade LIKE '%".$searchStr2."%') ";
echo $sql."<br><br>";
/* Test 2 */
echo "<p>Test 2</p>";
$sogn = "Aalborg";
$searchStr1 = replaceString($sogn);
$searchStr2 = replaceString($searchStr1, false);
echo $sogn." > ".$searchStr1." > ".$searchStr2."<br><br>";
$sql = "SELECT * FROM ft WHERE Aar = ? AND (AmtHerredSognGade LIKE '%".$searchStr1."%' OR AmtHerredSognGade LIKE '%".$searchStr2."%') ";
echo $sql."<br><br>";
function replaceString($v, $reverse = null) {
$arr = array("Æ" => "AE",
"Ø" => "OE",
"Å" => "AA",
"æ" => "ae",
"ø" => "oe",
"å" => "aa");
$isDefault = is_null($reverse);
if ((!$isDefault) && ($reverse)) {
$isDefault = false;
}
if ($isDefault) {
$arr2 = array_flip($arr);
return strtr(mb_convert_case($v, MB_CASE_LOWER), $arr2);
} else {
return strtr(mb_convert_case($v, MB_CASE_LOWER), $arr);
}
}
?>
<?php
// Turn on error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);
function cityVariations($city) {
$substitute = array(
"æ" => "ae",
"ø" => "oe",
"å" => "aa",
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å",
);
$flatCity = mb_convert_case($city, MB_CASE_LOWER);
$cities[] = $flatCity;
$cities[] = strtr($flatCity, $substitute);
return $cities;
}
// Do we need the database
if (!empty($_POST)):
// Connect to the database if we have a POST
$mysqli = mysqli_connect("db credentials") or die("Error connecting to database!");
$mysqli->set_charset("utf8");
// Trim the input values
$start = trim($_POST['query_start']);
$sogn = trim($_POST['sogn']);
$amt = trim($_POST['amt']);
if (!empty($amt) && empty($start)):
//We have an 'amt' value and no 'start' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Amt = ? ");
$query->bind_param("s", $amt);
else:
if (!empty($amt) && !empty($start)):
//We have an 'amt' value and a 'start' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Amt = ? AND Aar = ?");
$query->bind_param("ss", $amt, $start);
elseif (!empty($start) && empty($sogn)):
// We have a 'start' value and no 'sogn' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ?");
$query->bind_param("s", $start);
else:
// Get the city variations
$cities = cityVariations($sogn);
// Prepare the cities for the LIKE clause by wrapping each in %...%
array_walk($cities, function (&$city) { $city = '%'.$city.'%'; });
if (!empty($sogn) && empty($start)):
// We have a 'sogn' value and no 'start' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE AmtHerredSognGade LIKE ? OR AmtHerredSognGade LIKE ?");
$query->bind_param("ss", $cities[0], $cities[1]);
elseif (!empty($start) && !empty($sogn)):
// We have a 'start' and a 'sogn' value
$query = $mysqli->prepare("SELECT * FROM ft WHERE Aar = ? AND (AmtHerredSognGade LIKE ? OR AmtHerredSognGade LIKE ?)");
$query->bind_param("sss", $start, $cities[0], $cities[1]);
endif;
endif;
endif;
// Do we have a query to run
if (!empty($query)):
$query->execute();
$results = $query->get_result();
endif;
endif;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Folketællinger</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(function(){
$('#myTable').on('click', '.toggle', function() {
$(this).parents('tr').nextAll('tr.child').toggle();
});
});
</script>
</head>
<body>
<!-- Søge felt til folketællinger -->
<div class="container" style="width:100%;padding-top:10px;background-color:#f6f6f6;">
<!-- HEADER START -->
<div class="row" id="header">
<form method="POST" style="margin-left:30px; margin-right: 30px;">
<label for="amt">Amt</label>
<select id="amt" name="amt" style="margin-right: 20px; font-weight:bold;">
<option value=""></option>
<option value="Bornholm">Bornholm</option>
<option value="Frederiksborg">Frederiksborg</option>
<option value="Haderslev">Haderslev</option>
<option value="Hjørring">Hjørring</option>
<option value="Holbæk">Holbæk</option>
<option value="København">København</option>
<option value="Maribo">Maribo</option>
<option value="Odense">Odense</option>
<option value="Præstø">Præstø</option>
<option value="Randers">Randers</option>
<option value="Ribe">Ribe</option>
<option value="Ringkøbing">Ringkøbing</option>
<option value="Roskilde">Roskilde</option>
<option value="Skanderborg">Skanderborg</option>
<option value="Sorø">Sorø</option>
<option value="Svendborg">Svendborg</option>
<option value="Sønderborg">Sønderborg</option>
<option value="Thisted">Thisted</option>
<option value="Tønder">Tønder</option>
<option value="Vejle">Vejle</option>
<option value="Viborg">Viborg</option>
<option value="Aabenraa">Aabenraa</option>
<option value="Aalborg">Aalborg</option>
<option value="Aarhus">Aarhus</option>
</select>
<label for="aar">År</label>
<select id="aar" name="query_start" style="margin-right: 20px; padding-left: 30px; ">
<option value=""></option>
<option value="1787">1787</option>
<option value="1801">1801</option>
<option value="1803">1803</option>
<option value="1834">1834</option>
<option value="1835">1835</option>
<option value="1840">1840</option>
<option value="1845">1845</option>
<option value="1850">1850</option>
<option value="1855">1855</option>
<option value="1860">1860</option>
<option value="1860">1860</option>
<option value="1870">1870</option>
<option value="1860">1878</option>
<option value="1880">1880</option>
<option value="1890">1890</option>
<option value="1901">1901</option>
<option value="1906">1906</option>
<option value="1911">1911</option>
<option value="1916">1916</option>
<option value="1921">1921</option>
<option value="1925">1925</option>
<option value="1930">1930</option>
<option value="1940">1940</option>
</select>
<label for="sogn">Sted, By, Sogn, Gade</label>
<input type="text" name="sogn" id="sogn">
<input type="submit" value="Søg">
<input type="submit" value="Nulstil">
</form>
</div>
<!-- HEADER END -->
</div>
<div class="flex-container" style="width:site-width; background-color:white;">
<div class="flex-item" style="margin-top:10px; float:left; margin-left:20px;width: site-width; overflow:auto;">
<div class="row" style="margin-left:10px;margin-right:10px;">
<!-- Have we ran a query and got some results -->
<?php if (isset($results) && $results->num_rows): ?>
<table id="myTable" class="table">
<colgroup>
</colgroup>
<tr>
<th> </th> <th>Sted Sogn Gade</th> <th>Amt</th> <th>Aar</th> <th>Gade (1860)</th> <th>Matr. nr. (1860)</th>
</tr>
<!-- Loop through the results of the query -->
<?php while ($row = $results->fetch_object()): ?>
<!-- Links for the individual rows -->
<?php
$link1 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->URL, $row->AmtHerredSognGade);
$link2 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->Infourl, $row->Info);
$link3 = sprintf("<a href='%s' target='_blank'>%s</a>", $row->Infourl, $row->Gade);
$link4 = sprintf($row->AmtHerredSognGade);
?>
<?php if ($row->Collapse == 'p'): ?>
<!-- We have a parent row -->
<tbody class='toggle' >
<tr class="expander">
<td><span class='toggle'></td>
<td><?php echo (!empty($row->URL)) ? $link1 : link4 ?></td>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
<td><?php echo $row->Gade ?></td>
<td><?php echo $row->Kvarter ?></td>
</tr>
<?php elseif ($row->Collapse == 'c'): ?>
<!-- We have a child row -->
<tr class="child">
<td> </td>
<td><?php echo (!empty($row->URL)) ? $link1 : link4 ?></td>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
<td><?php echo $row->Gade ?></td>
<td><?php echo $row->Kvarter ?></td>
</tr>
<?php else: ?>
<!-- We have a non-collapsible row -->
<tr class="non">
<td> </td>
<!-- Område, link -->
<td><?php echo $link1 ?></td>
<td><?php echo $row->Amt ?></td>
<td><?php echo $row->Aar ?></td>
<td colspan="2"> </td>
</tr>
<?php endif; ?>
<?php endwhile; ?>
</table>
<?php else: ?>
<p>Der er ingen resultater for denne søgning</p>
<?php endif; ?>
</div>
</div>
</div>
</body>
</html>
<style type="text/css">
#header { margin-top: 10px; margin-bottom:10px; }
tbody.toggle tr.child { display: none; background-color: #f6f6f6;}
tbody.toggle tr:nth-child(even){ display: none; background-color: #d5d5d5;}
tbody.toggle tr.expander { display: table-row; background-color: #f6f6f6; }
tbody.toggle tr.non { display: table-row; background-color: white; }
span.toggle { cursor: pointer; color: cornflowerblue; font-family: 'FontAwesome'; font-size: 16px;}
span.toggle:hover { color: cornflowerblue; }
span.toggle:after { content: '\f055' };
</style>
<style>
table, th {
border-bottom: 1px #666666;
border-top: 0px;
border-right: 0px;
border-left: 0px;
border-style: solid;
border-collapse: collapse;
padding-top:10px;
padding-left:20px;
color:black;
font-family: Serif;
font-size: 20px;
font-weight: bold;
text-align: left;
}
table, td {
border: 0px #f6f6f6;
border-style: none;
border-collapse: collapse;
padding-top: 0px;
border-bottom: 1px solid #666666;
padding-left: 0px;
color:black;
font-family: arial;
font-size: 12px;
font-weight: normal;
text-align: padding-left;
}
a:link {
color: black;
text-decoration: underline;
font-weight: bold;
}
a:visited {
color: #e08a94;
text-decoration: underline;
}
a:hover {
color: cornflowerblue;
text-decoration: underline;
font-weight:normal;
}
a:active {
color: black;
text-decoration: underline;
}
.table > tbody + tbody { border-top: none; }
.table > tbody > tr > td { border-top: none; }
</style>
<link rel="stylesheet" type="text/css" href="style.css">
$arr = array(
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å",
"æ" => "ae",
"ø" => "oe",
"å" => "aa"
);
$arr = array(
"æ" => "ae",
"ø" => "oe",
"å" => "aa",
"ae" =>"æ",
"oe" =>"ø",
"aa" => "å"
);
It still does not work.I guess it need to be applied properly into your codes, what I have provided is a sample which generate the converted strings.