Zoekscript werkt niet
Beste,
Ik ben bezig met een personeelsregistratie systeem te maken. Hier moet ook een zoekfunctie in komen maar deze werkt niet.
Zouden jullie mij kunnen helpen? Ik krijg altijd de melding "Er zijn geen resultaten".
Hier is mijn code:
Ik ben bezig met een personeelsregistratie systeem te maken. Hier moet ook een zoekfunctie in komen maar deze werkt niet.
Zouden jullie mij kunnen helpen? Ik krijg altijd de melding "Er zijn geen resultaten".
Hier is mijn code:
Code (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$Search = $_POST['search'];
if($_POST['submit']){
$SearchID = mysql_query("SELECT * FROM `tbl_barcode` WHERE barcode LIKE '%".$Search."%'");
$SearchRow = mysql_fetch_assoc($SearchID);
$SearchCount = mysql_num_rows($SearchID);
if($SearchCount==1){
$ResultID = mysql_query("SELECT * FROM tbl_personeel WHERE personeelsnummer='".$SearchRow['personeelsnummer']."'");
$ResultCount = mysql_num_rows($ResultID);
if($ResultCount==1){
echo "
<tr>
<td>Naam</td>
<td>Barcode</td>
<td>Personeelsnummer</td>
</tr>
";
while($ResultRow=mysql_fetch_assoc($ResultID)){
echo "
<tr>
<td>".$ResultRow['voornaam']." ".$ResultRow['tussenvoegsel']." ".$ResultRow['achternaam']."</td>
<td>".$SearchRow['barcode']."</td>
<td>".$SearchRow['personeelsnummer']."</td>
</tr>
";
}
echo "</table>";
}
else
echo "Er zijn geen resultaten";
}
else
echo "Er zijn geen resultaten.";
}
?>
<div id="titel">Zoeken</div>
Zoek op barcode of personeelsnummer.
<form action="index.php?pagina=zoeken" method="POST">
<table>
<tr>
<td>Zoekterm</td>
<td><input type="text" name="search" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
$Search = $_POST['search'];
if($_POST['submit']){
$SearchID = mysql_query("SELECT * FROM `tbl_barcode` WHERE barcode LIKE '%".$Search."%'");
$SearchRow = mysql_fetch_assoc($SearchID);
$SearchCount = mysql_num_rows($SearchID);
if($SearchCount==1){
$ResultID = mysql_query("SELECT * FROM tbl_personeel WHERE personeelsnummer='".$SearchRow['personeelsnummer']."'");
$ResultCount = mysql_num_rows($ResultID);
if($ResultCount==1){
echo "
<tr>
<td>Naam</td>
<td>Barcode</td>
<td>Personeelsnummer</td>
</tr>
";
while($ResultRow=mysql_fetch_assoc($ResultID)){
echo "
<tr>
<td>".$ResultRow['voornaam']." ".$ResultRow['tussenvoegsel']." ".$ResultRow['achternaam']."</td>
<td>".$SearchRow['barcode']."</td>
<td>".$SearchRow['personeelsnummer']."</td>
</tr>
";
}
echo "</table>";
}
else
echo "Er zijn geen resultaten";
}
else
echo "Er zijn geen resultaten.";
}
?>
<div id="titel">Zoeken</div>
Zoek op barcode of personeelsnummer.
<form action="index.php?pagina=zoeken" method="POST">
<table>
<tr>
<td>Zoekterm</td>
<td><input type="text" name="search" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
Daarom is het handig om foutafhandeling toe te passen.
Je controleert alleen of hij 1 regel heeft gevonden. Als dit er meer zijn, geeft die aan dat ie niks heeft gevonden.
Als je query fout gaat zal ie ook zeggen dat ie niks heeft gevonden.
Probeer het volgende eens.
en verander mysql_error() naar mysql_error($joudatabaseconnectie)
Verder zijn de mysql_* functies 'deprecated' en zullen uiteindelijk verdwijnen.
Je controleert alleen of hij 1 regel heeft gevonden. Als dit er meer zijn, geeft die aan dat ie niks heeft gevonden.
Als je query fout gaat zal ie ook zeggen dat ie niks heeft gevonden.
Probeer het volgende eens.
en verander mysql_error() naar mysql_error($joudatabaseconnectie)
Verder zijn de mysql_* functies 'deprecated' en zullen uiteindelijk verdwijnen.
Code (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$SearchID = mysql_query("SELECT * FROM tbl_barcode WHERE barcode LIKE '%".mysql_real_escape_string($_POST['search'])."%'");
$SearchRow = mysql_fetch_assoc($SearchID);
if($SearchID) {
if(mysql_num_rows($SearchID) > 0){
$ResultID = mysql_query("SELECT * FROM tbl_personeel WHERE personeelsnummer='".$SearchRow['personeelsnummer']."'");
if($ResultID) {
if(mysql_num_rows($ResultID) > 0){
echo "
<tr>
<td>Naam</td>
<td>Barcode</td>
<td>Personeelsnummer</td>
</tr>
";
while($ResultRow=mysql_fetch_assoc($ResultID)){
echo "
<tr>
<td>".$ResultRow['voornaam']." ".$ResultRow['tussenvoegsel']." ".$ResultRow['achternaam']."</td>
<td>".$SearchRow['barcode']."</td>
<td>".$SearchRow['personeelsnummer']."</td>
</tr>
";
}
echo "</table>";
}
else
echo "Er zijn geen resultaten";
} else
echo 'Er is een fout opgetreden';
echo '<p>'.mysql_error().'</p>';
}
else
echo "Er zijn geen resultaten.";
} else
echo 'Er is een fout opgetreden';
echo '<p>'.mysql_error().'</p>';
}
?>
<div id="titel">Zoeken</div>
Zoek op barcode of personeelsnummer.
<form action="index.php?pagina=zoeken" method="POST">
<table>
<tr>
<td>Zoekterm</td>
<td><input type="text" name="search" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$SearchID = mysql_query("SELECT * FROM tbl_barcode WHERE barcode LIKE '%".mysql_real_escape_string($_POST['search'])."%'");
$SearchRow = mysql_fetch_assoc($SearchID);
if($SearchID) {
if(mysql_num_rows($SearchID) > 0){
$ResultID = mysql_query("SELECT * FROM tbl_personeel WHERE personeelsnummer='".$SearchRow['personeelsnummer']."'");
if($ResultID) {
if(mysql_num_rows($ResultID) > 0){
echo "
<tr>
<td>Naam</td>
<td>Barcode</td>
<td>Personeelsnummer</td>
</tr>
";
while($ResultRow=mysql_fetch_assoc($ResultID)){
echo "
<tr>
<td>".$ResultRow['voornaam']." ".$ResultRow['tussenvoegsel']." ".$ResultRow['achternaam']."</td>
<td>".$SearchRow['barcode']."</td>
<td>".$SearchRow['personeelsnummer']."</td>
</tr>
";
}
echo "</table>";
}
else
echo "Er zijn geen resultaten";
} else
echo 'Er is een fout opgetreden';
echo '<p>'.mysql_error().'</p>';
}
else
echo "Er zijn geen resultaten.";
} else
echo 'Er is een fout opgetreden';
echo '<p>'.mysql_error().'</p>';
}
?>
<div id="titel">Zoeken</div>
Zoek op barcode of personeelsnummer.
<form action="index.php?pagina=zoeken" method="POST">
<table>
<tr>
<td>Zoekterm</td>
<td><input type="text" name="search" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Zoeken" /></td>
</tr>
</table>
</form>
En ga eens zoeken naar wat een JOIN is in SQL, dan kan je namelijk je script ietwat eenvoudiger en zeker sneller doen. Waar je nu 2 queries uitvoert (maar potentieel tig als je meerdere resultaten uit de eerste zou krijgen en die allemaal op deze manier gaat verwerken) kan dan ook in 1:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
mysql_query("SELECT b.voornaam, b.tussenvoegsel, b.achternaam, a.barcode, b.personeelsnummer
FROM tbl_barcode a
INNER JOIN tbl_personeel b ON a.personeelsnummer = b.personeelsnummer
WHERE barcode LIKE '%".$Search."%'");
?>
mysql_query("SELECT b.voornaam, b.tussenvoegsel, b.achternaam, a.barcode, b.personeelsnummer
FROM tbl_barcode a
INNER JOIN tbl_personeel b ON a.personeelsnummer = b.personeelsnummer
WHERE barcode LIKE '%".$Search."%'");
?>
Gewijzigd op 19/02/2014 12:27:20 door Erwin H




