Functie zoeken in meerdere kolommen in één tabel
Moet dat met SELECT ** FROM ** WHERE ** OR
of
Moet dat met SELECT ** FROM ** WHERE MATCH ** AGAINST
??
Of moet dat met met iets geheel iets anders ?
Thanks!
Gebruik in MySQL dan ook gewoon de AND of OR daar waar je deze nodig hebt. Mocht je écht met fulltext search aan de slag willen gaan, dan zit er in MySQL niks anders op dan je database omzetten naar het onbetrouwbare MyISAM.
Mocht je over PostgreSQL beschikken, kun je met de tsearch-functies aan de slag, daarmee kun je pas écht fulltext search gaan doen. Je kunt dan zelfs gebruik maken van eigen bibliotheken (denk aan vaktaal) om nog beter te kunnen zoeken, zoeken in verschillende talen, etc. etc. etc. Het gebruik van een index is dan niet eens verplicht, maar het is voor de snelheid vaak wel aan te raden.
ik heb namelijk een zoekformulier en wil de bezoeker de mogelijkheid geven om uit meerdere criteria binnen een zelfde kolom te laten zoeken. Dat kan dus als ik het goed begrijp ?
Dat kan inderdaad prima. Maar probeer het eens uit zou ik zeggen, de database bijt niet ;-)
Ik vermoedt dat ik iets niet goed heb begrepen van de AND en OR functies.
Hierbij het script tot nu toe (bestaande uit een zoekpagina en een pagina met het phpscript en de resultaten).
zoekpagina (html)
<form action="DEFrelatiezoekenpostalcodelink.php" method="post">
<blockquote>
<blockquote>
<blockquote>
<p>
<label></label><label></label>
<label>
<input name="zoekwoord" type="text" id="zoekwoord" />
</label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
<p>
<input name="submit22" type="submit" value="zoek" />
</p>
</blockquote>
</blockquote>
</blockquote>
</form></th>
phppagina.php
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
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
<?php
mysql_connect("***", "***", "***"); //Connecten met DB
mysql_select_db("***");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."%'
OR Camping LIKE '".$zoekwoord."%'
OR HORECA LIKE '".$zoekwoord."%'
OR Aupair LIKE '".$zoekwoord."%'
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."%'
OR Camping LIKE '".$zoekwoord."%'
OR HORECA LIKE '".$zoekwoord."%'
OR Aupair LIKE '".$zoekwoord."%'
ORDER BY Bedrijfsnaam ASC");
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
mysql_connect("***", "***", "***"); //Connecten met DB
mysql_select_db("***");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."%'
OR Camping LIKE '".$zoekwoord."%'
OR HORECA LIKE '".$zoekwoord."%'
OR Aupair LIKE '".$zoekwoord."%'
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."%'
OR Camping LIKE '".$zoekwoord."%'
OR HORECA LIKE '".$zoekwoord."%'
OR Aupair LIKE '".$zoekwoord."%'
ORDER BY Bedrijfsnaam ASC");
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
Waar Land = "Frankrijk" OF Camping = "blabla"?
Je moet AND gebruiken om juiste combinaties te maken:
Door ( en ) in je query te gebruiken kan het ook prima:
WHERE Land LIKE 'zoekwoord' AND (.... OR ... OR .....)
Dat betekend dat land moet overeenkomen en 1 van de voorwaarden die tussen ( en ) staan.
Ik heb het aangepast maar ik denk dat ik weer een foutje maak. Ik krijg nu namelijk helemaal geen resultaten meer.
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
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
<?php
mysql_connect("***", "***", "***"); //Connecten met DB
mysql_select_db("***");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
mysql_connect("***", "***", "***"); //Connecten met DB
mysql_select_db("***");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
Kan iemand mij helpen ?
SQL foutafhandeling. Dan weten we misschien al meer over wat er aan de hand is.
Doe wat aan 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
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
<?php
mysql_connect("****", "****", "****"); //Connecten met DB
mysql_select_db("****");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
if($result) {
if(mysql_num_rows($result) > 0) {
echo 'Er zijn '.mysql_num_rows($result).' resultaten gevonden.<br />';
while($rij = mysql_fetch_assoc($result)) {
// weergeef records
}
} else {
echo 'Er zijn 0 resultaten gevonden op '.$zoekwoord.'.<br />';
}
} else {
echo mysql_error().' in query: '.$query;
}
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
mysql_connect("****", "****", "****"); //Connecten met DB
mysql_select_db("****");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
if($result) {
if(mysql_num_rows($result) > 0) {
echo 'Er zijn '.mysql_num_rows($result).' resultaten gevonden.<br />';
while($rij = mysql_fetch_assoc($result)) {
// weergeef records
}
} else {
echo 'Er zijn 0 resultaten gevonden op '.$zoekwoord.'.<br />';
}
} else {
echo mysql_error().' in query: '.$query;
}
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sql = "
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC";
$result = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
?>
$sql = "
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC";
$result = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
?>
Allereerst loont het om (nu in de ontwikkelfase zeker) de fouten weer te geven, dat doe je bijvoorbeeld zoals hierboven. (die() zou ik niet gebruiken, want die stopt ook meteen verdere uitvoering van het script.
Maar het gaat er dus om dat je land als het zoekwoord is én dat die dan gaat kijken of het om een aupair gaat, of welke van de opties je hebt aangevinkt?
Je zal dan een "dynamische query" kunnen gebruiken, dan had ik het eerst verkeerd begrepen. Overigens kan je opbouw nooit, want zowel het textveld als de checkboxes hebben dezelfde naam. -> Gebruik verschillende namen voor de velden.
Om je verder te kunnen helpen, moeten we wel meer weten van je opbouw van de database.
Als ik dus een selectie maak op Frankrijk en dan alle vacatures waar een Camping èn een HOreca-functie zijn, vul ik in het uitklapveld Frankrijk in en in de keuzevakjes Camping en Horeca. Als ik vervolgens ga zoeken krijg ik geen resultaten terwijl die er in de database wel zijn!
In mijn database heb ik de volgende velden:
Land
Camping
HORECA
Aupair
Dit is mijn HTML voor het zoekform:
<select name="zoekwoord" id="zoekwoord">
<option value="Land">Frankrijk</option>
<option value="Land">Nederland</option>
</select>
</label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
<p>
<input name="submit22" type="submit" value="zoek" />
</p>
</blockquote>
</blockquote>
</blockquote>
</form></th>
Mijn PHP-script ziet er alsvolgt uit:
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
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
<?php
mysql_connect("******", "******", "******"); //Connecten met DB
mysql_select_db("******");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$res = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
mysql_connect("******", "******", "******"); //Connecten met DB
mysql_select_db("******");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = mysql_query("
SELECT count(*)
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$totalSearch = mysql_result($sql, 0 ,0);
print '<p style="float:left;"><h1> </h1></p>';
$sql = mysql_query("
SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."' AND (Camping OR HORECA OR Aupair)
ORDER BY Bedrijfsnaam ASC");
$res = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
Eigenlijk moet ik zeggen dat je datamodel niet goed in elkaar zit, als je het slim opbouwt heb je in jou geval een tabel met de landen, een tabel met de soorten vacatures en een koppeltabel.
Je kan heel eenvoudig een nieuw type vacature toevoegen op die manier. Met je huidige opbouw zul jij in de toekomst wanneer je wilt gaan uitbreiden tegen beperkingen aanlopen.
De waarde is vrijwel hetzelfde, dus:
Camping
Aupair
HORECA
De waard bij Land is dus een vrij veld. De waarde geef ik mee middels een uitklapveldje. Dat is voldoende.
Dit werkt echt prima.
Ik heb een werkgeverstabel en een werknemerstabel. Beide met de kolommen, camping, aupair, horeca en beide tabellen metzelfde waarden.
Ik kan heel goed selecteren op alle inschrijvingen die een camping-baan zoeken, of horeca-werk etc. Maar ook ook op werkgevers die iemand voor op de camping, of voor horeca, aupair zoeken. Wat gewoon niet lukt is dat ik als uitgangspunt het land neem.
Ik wil dus weten welke werknemers zich allemaal voor Frankrijk hebben ingeschreven en wie daarvan een campingbaan zoeken. Of een Franse Campingbaan met Horeca zoeken. Dat lukt me juist niet.
Ik heb aangegeven hoe ik er tegenaan kijk, verder is het je eigen keuze.Maar welke waarde staat in de kolom "Camping", "Aupair" of "HORECA" als het een vacature voor 1 van deze kolommen betreft.
De waarde voor de kolom Aupair = Aupair
De waarde voor de kolom HORECA = HORECA
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
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
<?php
//in plaats van wat je nu doet met je query:
$sql = "SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."'";
if(!empty($_POST['camping'])){
$sql_xtra .= " AND (Camping = 'Camping'";
}
if(!empty($_POST['aupair']) && !empty($sql_xtra)){
$sql_xtra .= " OR Aupair = 'Aupair'";
}
else{
$sql_xtra .= " AND (Aupair = 'Aupair'";
}
if(!empty($_POST['horeca']) && !empty($sql_xtra)){
$sql_xtra .= " OR HORECA = 'HORECA'";
}
else{
$sql_xtra .= " AND (HORECA = 'HORECA'";
}
if(!empty($sql_xtra)){
$sql_xtra .= ")";
}
$sql .= $sql_xtra;
//$sql gebruik je nu in mysql_query. De query wordt opgebouwd aan de hand van de keuzes die jij hebt gemaakt in de selectboxes.
?>
//in plaats van wat je nu doet met je query:
$sql = "SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."'";
if(!empty($_POST['camping'])){
$sql_xtra .= " AND (Camping = 'Camping'";
}
if(!empty($_POST['aupair']) && !empty($sql_xtra)){
$sql_xtra .= " OR Aupair = 'Aupair'";
}
else{
$sql_xtra .= " AND (Aupair = 'Aupair'";
}
if(!empty($_POST['horeca']) && !empty($sql_xtra)){
$sql_xtra .= " OR HORECA = 'HORECA'";
}
else{
$sql_xtra .= " AND (HORECA = 'HORECA'";
}
if(!empty($sql_xtra)){
$sql_xtra .= ")";
}
$sql .= $sql_xtra;
//$sql gebruik je nu in mysql_query. De query wordt opgebouwd aan de hand van de keuzes die jij hebt gemaakt in de selectboxes.
?>
Je moet nog wel even onderstaande aanpassen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="zoekwoord" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
Wordt dan zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
</p>
<p>
<input name="camping" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="horeca" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="aupair" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
<p>
<input name="camping" type="checkbox" id="zoekwoord" value="Camping" />
<label></label>
</p>
<p>
<input name="horeca" type="checkbox" id="zoekwoord" value="HORECA" />
<label></label>
</p>
<p>
<input name="aupair" type="checkbox" id="zoekwoord" value="Aupair" />
</p>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
Parse error: syntax error, unexpected T_VARIABLE in /./../..
Hij ziet dus een variabele die hij niet verwacht. Volgens mij staan de punt komma's ; er ook overal ?
Wat gaat er verkeerd ?
Ook vroeg ik me af hoe landen-probleem opgelost gaat worden. Ik wil namelijk op het zoekformulier ook het land aan kunnen geven waarbinnen gezocht moet naar camping/horeca of aupairwerk. Nu zoek hij in alle waarden van Land,.........dat is in mij geval zowel Nederland als Frankrijk.
Het volgende script gebruik ik nu:
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
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
<?php
mysql_connect("****", "****", "****"); //Connecten met DB
mysql_select_db("****");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = "SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."'";
if(!empty($_POST['camping'])){
$sql_xtra .= " AND (Camping = 'Camping'";
}
if(!empty($_POST['aupair']) && !empty($sql_xtra)){
$sql_xtra .= " OR Aupair = 'Aupair'";
}
else{
$sql_xtra .= " AND (Aupair = 'Aupair'";
}
if(!empty($_POST['horeca']) && !empty($sql_xtra)){
$sql_xtra .= " OR HORECA = 'HORECA'";
}
else{
$sql_xtra .= " AND (HORECA = 'HORECA'";
}
if(!empty($sql_xtra)){
$sql_xtra .= ")"
$sql .= $sql_xtra;
$res = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
mysql_connect("****", "****", "****"); //Connecten met DB
mysql_select_db("****");
if ($_SERVER["REQUEST_METHOD"] == "POST"){
$zoekwoord = mysql_real_escape_string($_POST['zoekwoord']);
$sql = "SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."'";
if(!empty($_POST['camping'])){
$sql_xtra .= " AND (Camping = 'Camping'";
}
if(!empty($_POST['aupair']) && !empty($sql_xtra)){
$sql_xtra .= " OR Aupair = 'Aupair'";
}
else{
$sql_xtra .= " AND (Aupair = 'Aupair'";
}
if(!empty($_POST['horeca']) && !empty($sql_xtra)){
$sql_xtra .= " OR HORECA = 'HORECA'";
}
else{
$sql_xtra .= " AND (HORECA = 'HORECA'";
}
if(!empty($sql_xtra)){
$sql_xtra .= ")"
$sql .= $sql_xtra;
$res = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;
while($res = mysql_fetch_array($sql)) {
print '<p><a href="DEFvacatureoverzicht.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
if(!empty($sql_xtra)){
$sql_xtra .= ")"
$sql .= $sql_xtra;
Daar mist de ; (foutje van mijn :S) achter de middelste regel! En de if die je hier ziet moet voor $sql .= worden afgesloten.
“…..En de if die je hier ziet moet voor $sql .= worden afgesloten…..”
Dus op regel 29 moet ik } zetten en dan $sql .= $sql_xtra; verplaatsen naar regel 30 ?
Ikheb de vorige reactie aangepast, moet nou goed zijn. :)