Hallo,
Ik ben bezig met een nieuw livetrein search class en heb een probleem. Ik wil wanneer je bijvoorbeeld op L zoek dat je alleen stations krijgt die beginnen met de letter L.
Script:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public function search($keyword, $filter = "all") {
$keyword = ucwords(strtolower($keyword));
if(trim(strlen($keyword)) <= 4 && $filter != code) {
$searchString = $keyword . "%";
} elseif($filter == "code") {
$searchString = $keyword;
} else {
$searchString = "%" . $keyword . "%";
}
$searchQuery = mysqli_query($this->Connection, "
SELECT fullname
FROM station
WHERE fullname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR midname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR smallname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR code LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
LIMIT 25
");
if(mysqli_num_rows($searchQuery) >= 1) {
$results = array();
while ($row = mysqli_fetch_assoc($searchQuery)) {
$results[] = $row["fullname"];
}
return $results;
} else {
return FALSE;
}
}
}
Nu krijg ik dus als output:
Array ( [0] => Amsterdam Lelylaan [1] => Den Haag Laan v NOI [2] => Geleen-Lutterade [3] => Lage Zwaluwe [4] => Landgraaf [5] => Leerdam [6] => Leeuwarden [7] => Leeuwarden Achter d Hoven [8] => Leeuwarden Camminghaburen [9] => Leiden Centraal [10] => Leiden Lammenschans [11] => Lelystad Centrum [12] => Lichtenvoorde-Groenlo [13] => Lochem [14] => Loppersum [15] => Lunteren [16] => Nijmegen Lent [17] => Onze Lieve Vrouwe t. Nood [18] => Rotterdam Lombardijen [19] => Utrecht Leidsche Rijn [20] => Utrecht Lunetten )
Hoe kan ik dit oplossen? Iets met regel 5 alleen werkt dat niet?
- Dylan
Ik ben bezig met een nieuw livetrein search class en heb een probleem. Ik wil wanneer je bijvoorbeeld op L zoek dat je alleen stations krijgt die beginnen met de letter L.
Script:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public function search($keyword, $filter = "all") {
$keyword = ucwords(strtolower($keyword));
if(trim(strlen($keyword)) <= 4 && $filter != code) {
$searchString = $keyword . "%";
} elseif($filter == "code") {
$searchString = $keyword;
} else {
$searchString = "%" . $keyword . "%";
}
$searchQuery = mysqli_query($this->Connection, "
SELECT fullname
FROM station
WHERE fullname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR midname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR smallname LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
OR code LIKE ".mysqli_real_escape_string($this->Connection, $searchString)."
LIMIT 25
");
if(mysqli_num_rows($searchQuery) >= 1) {
$results = array();
while ($row = mysqli_fetch_assoc($searchQuery)) {
$results[] = $row["fullname"];
}
return $results;
} else {
return FALSE;
}
}
}
Nu krijg ik dus als output:
Array ( [0] => Amsterdam Lelylaan [1] => Den Haag Laan v NOI [2] => Geleen-Lutterade [3] => Lage Zwaluwe [4] => Landgraaf [5] => Leerdam [6] => Leeuwarden [7] => Leeuwarden Achter d Hoven [8] => Leeuwarden Camminghaburen [9] => Leiden Centraal [10] => Leiden Lammenschans [11] => Lelystad Centrum [12] => Lichtenvoorde-Groenlo [13] => Lochem [14] => Loppersum [15] => Lunteren [16] => Nijmegen Lent [17] => Onze Lieve Vrouwe t. Nood [18] => Rotterdam Lombardijen [19] => Utrecht Leidsche Rijn [20] => Utrecht Lunetten )
Hoe kan ik dit oplossen? Iets met regel 5 alleen werkt dat niet?
- Dylan

43: