Zoeken in meerdere velden
momenteel heb ik dit, maar dit werkt niet.
Edit:
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' OR vacature_diensverband LIKE '%" . $_POST['vacature_diensverband'] . "%'";
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Was er bijna...bedankt!
Weer iets geleerd.
ik heb een drop down list waaronder 6 opties ($_POST['vacature_dienstverband']) staan.
Echter moet de optie Geen Voorkeur veranderen in niets. zodat hij hierop niet zoekt
Stuke van de code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<select name="vacature_dienstverband" value="<?php echo $_POST['vacature_dienstverband'] ?>">
<option>Geen Voorkeur</option>
<option>-------------</option>
<option>fulltime</option>
<option>Parttime</option>
<option>Freelance</option>
<option>Stage</option>
</select></p>
<option>Geen Voorkeur</option>
<option>-------------</option>
<option>fulltime</option>
<option>Parttime</option>
<option>Freelance</option>
<option>Stage</option>
</select></p>
Dus wanneer <option>Geen Voorkeur</option> of
<option>-------------</option> aangeklikt is, moet hij dus eigenlijk niets invullen in plaats van Geen Voorkeur of -------------
Ik hoop dat het duidelijk is!
Alvast bedankt.
Edit: verwerk trouwens nooit postvariabelen regelrecht in je query, dat is erg gevoelig voor MySQL-injection.
Gewijzigd op 01/01/1970 01:00:00 door - -
Kan je die opties niet gewoon weghalen?
Zou kunnen...alleen dan wordt er dus altijd gezocht op dienstverband.
Anders checken of er iets is geselecteerd en query aanpassen.
Ik ben net pas begonnen met php dus als jullie mij misschien kunnen helpen?
ik heb er dit van gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ";
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}else{
if (!empty($_POST))
{
//query samenstellen
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%'";
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
?>
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ";
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}else{
if (!empty($_POST))
{
//query samenstellen
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%'";
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
?>
Dit werkt niet. Wat is er fout?
Gewijzigd op 01/01/1970 01:00:00 door Dennis
if(....)
{
$query = "......";
}
else (of elseif())
(
$query = "......";
}
en dan pas de rest:
$result = .......
Edit: Quotes aangepast, toets hapert af en toe.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Opgelost met de manier van hierboven.
Ik moet hem nu nog iets meer uitbreidden. Wellicht dat ik binnenkort met nog wat vraagjes kom.
Nogmaals bedankt.
Dus:
resultaat 1 is wit
resultaat 2 is blauw
resultaat 3 is wit
resultaat 4 is blauw
enz..
gaat dat ook met php?
loop
{
if($var == 1)
{
zwart
}
else
{
wit
}
$var = 3 - $var
}
eindloop
Edit: Een = je te weing.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Waar moet ik dat zetten in mijn code? (laatste vraag van vanacht :D)
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
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
<?php
include("include/connection.php");
if (!empty($_POST))
{
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ORDER BY vacature_datum DESC ";
}
else
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%' ORDER BY vacature_datum DESC";
}
//query samenstellen
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
//controleren of er resultaten zijn gevonden
if($aantal == 0)
{
echo "Er zijn geen vacatures gevonden met de titel ".$_POST['vacature_titel']."";
echo "U kunt <a href=\"zoek_vacature.php\">hier</a> opnieuw zoeken.";
}
if($aantal == 1)
{
echo "U heeft gezocht op: <b>".($_POST['vacature_titel'])."</b><br />";
echo "Er is <b>".$aantal." </b>vacature gevonden <br />";
}
if($aantal > 1)
{
echo "U heeft gezocht op:<b>".($_POST['vacature_titel'])."</b><br />";
echo "Er zijn <b>".$aantal." </b>vacatures gevonden <br />";
}
while($rij = mysql_fetch_array($result))
{
$vacature_ID = $rij['vacature_ID'];
//resultaten laten zien
echo "<table width=\"800\" border=\"1\" ><tr><td width=\"150\" valign=\"top\" >";
echo $rij['vacature_datum']."<br />";
echo "<td valign=\"top\" ><b>".$rij['vacature_titel']."</b><br />";
echo $rij['vacature_inleiding']."</td>";
echo "<td width=\"150\" valign=\"top\" ><b>Dienstverband:</b>".$rij['vacature_dienstverband']."<br />";
echo "<b>Niveau:</b>".$rij['vacature_niveau']."<br />";
echo "<b>Werkervaring:</b>".$rij['vacature_werkervaring']."<br />";
echo "<a href=\"vacature\vacature.php?ID=$vacature_ID\">Meer informatie...</a>"; echo "</td></tr></table>";
}
?>
include("include/connection.php");
if (!empty($_POST))
{
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ORDER BY vacature_datum DESC ";
}
else
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%' ORDER BY vacature_datum DESC";
}
//query samenstellen
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
//controleren of er resultaten zijn gevonden
if($aantal == 0)
{
echo "Er zijn geen vacatures gevonden met de titel ".$_POST['vacature_titel']."";
echo "U kunt <a href=\"zoek_vacature.php\">hier</a> opnieuw zoeken.";
}
if($aantal == 1)
{
echo "U heeft gezocht op: <b>".($_POST['vacature_titel'])."</b><br />";
echo "Er is <b>".$aantal." </b>vacature gevonden <br />";
}
if($aantal > 1)
{
echo "U heeft gezocht op:<b>".($_POST['vacature_titel'])."</b><br />";
echo "Er zijn <b>".$aantal." </b>vacatures gevonden <br />";
}
while($rij = mysql_fetch_array($result))
{
$vacature_ID = $rij['vacature_ID'];
//resultaten laten zien
echo "<table width=\"800\" border=\"1\" ><tr><td width=\"150\" valign=\"top\" >";
echo $rij['vacature_datum']."<br />";
echo "<td valign=\"top\" ><b>".$rij['vacature_titel']."</b><br />";
echo $rij['vacature_inleiding']."</td>";
echo "<td width=\"150\" valign=\"top\" ><b>Dienstverband:</b>".$rij['vacature_dienstverband']."<br />";
echo "<b>Niveau:</b>".$rij['vacature_niveau']."<br />";
echo "<b>Werkervaring:</b>".$rij['vacature_werkervaring']."<br />";
echo "<a href=\"vacature\vacature.php?ID=$vacature_ID\">Meer informatie...</a>"; echo "</td></tr></table>";
}
?>
Opm. Je maakt in de while steeds een <table> aan. Is dat de bedoeling?
straks gaat de tabel eruit.
We zijn bezig met een prototype voor een schoolopdracht. Onze kennis van php was op 0.0 :) NU een klein beetje.
Het is al laat. Kan niet echt meer nadenken.
Ik heb er dit van gemaakt, maar dat werkt niet.
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
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
<?php
include("include/connection.php");
if (!empty($_POST))
{
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ORDER BY vacature_datum DESC ";
}
else
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%' ORDER BY vacature_datum DESC";
}
//query samenstellen
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
//controleren of er resultaten zijn gevonden
if($aantal == 0)
{
echo "Er zijn geen vacatures gevonden met de titel ".$_POST['vacature_titel']."";
echo "U kunt <a href=\"zoek_vacature.php\">hier</a> opnieuw zoeken.";
}
if($aantal == 1)
{
echo "U heeft gezocht op: <b>".($_POST['vacature_titel'])."</b><br />";
echo "Er is <b>".$aantal." </b>vacature gevonden <br />";
}
if($aantal > 1)
{
echo "U heeft gezocht op:<b>".($_POST['vacature_titel'])."</b><br />";
echo "Er zijn <b>".$aantal." </b>vacatures gevonden <br />";
}
$var = 1;
loop
{
if($var == 1)
{
while($rij = mysql_fetch_array($result))
{
$vacature_ID = $rij['vacature_ID'];
//resultaten laten zien
echo "<table width=\"800\" border=\"1\" ><tr><td width=\"150\" valign=\"top\" >";
echo $rij['vacature_datum']."<br />";
echo "<td valign=\"top\" ><b>".$rij['vacature_titel']."</b><br />";
echo $rij['vacature_inleiding']."</td>";
echo "<td width=\"150\" valign=\"top\" ><b>Dienstverband:</b>".$rij['vacature_dienstverband']."<br />";
echo "<b>Niveau:</b>".$rij['vacature_niveau']."<br />";
echo "<b>Werkervaring:</b>".$rij['vacature_werkervaring']."<br />";
echo "<a href=\"vacature\vacature.php?ID=$vacature_ID\">Meer informatie...</a>"; echo "</td></tr></table>";
}
}
else
{
wit
}
$var = 3 - $var
}
eindloop
?>
include("include/connection.php");
if (!empty($_POST))
{
if($_POST['vacature_dienstverband'] == "Geen Voorkeur")
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' ORDER BY vacature_datum DESC ";
}
else
{
$query = "SELECT * FROM vacatures WHERE vacature_titel LIKE '%" . $_POST['vacature_titel'] . "%' AND vacature_dienstverband LIKE '%" . $_POST['vacature_dienstverband'] . "%' ORDER BY vacature_datum DESC";
}
//query samenstellen
$result = mysql_query($query) or die ('fout: '.mysql_error());
$aantal = mysql_num_rows($result);
}
else
{
}
//controleren of er resultaten zijn gevonden
if($aantal == 0)
{
echo "Er zijn geen vacatures gevonden met de titel ".$_POST['vacature_titel']."";
echo "U kunt <a href=\"zoek_vacature.php\">hier</a> opnieuw zoeken.";
}
if($aantal == 1)
{
echo "U heeft gezocht op: <b>".($_POST['vacature_titel'])."</b><br />";
echo "Er is <b>".$aantal." </b>vacature gevonden <br />";
}
if($aantal > 1)
{
echo "U heeft gezocht op:<b>".($_POST['vacature_titel'])."</b><br />";
echo "Er zijn <b>".$aantal." </b>vacatures gevonden <br />";
}
$var = 1;
loop
{
if($var == 1)
{
while($rij = mysql_fetch_array($result))
{
$vacature_ID = $rij['vacature_ID'];
//resultaten laten zien
echo "<table width=\"800\" border=\"1\" ><tr><td width=\"150\" valign=\"top\" >";
echo $rij['vacature_datum']."<br />";
echo "<td valign=\"top\" ><b>".$rij['vacature_titel']."</b><br />";
echo $rij['vacature_inleiding']."</td>";
echo "<td width=\"150\" valign=\"top\" ><b>Dienstverband:</b>".$rij['vacature_dienstverband']."<br />";
echo "<b>Niveau:</b>".$rij['vacature_niveau']."<br />";
echo "<b>Werkervaring:</b>".$rij['vacature_werkervaring']."<br />";
echo "<a href=\"vacature\vacature.php?ID=$vacature_ID\">Meer informatie...</a>"; echo "</td></tr></table>";
}
}
else
{
wit
}
$var = 3 - $var
}
eindloop
?>
Morgen weer verder.
Nogmaals tnx!
Verder heb ik nog het volgende:
Wanneer ik deze code gebruik voor het zoeken in meerdere tabellen krijg ik bij de resultaten elk gevonden items 2 x te zien.