Functie zoeken in meerdere kolommen in één tabel
Nu krijg ik weer de volgende error-melding:
Parse error: syntax error, unexpected ';' in /../..////..
Ik heb nu echt letterlijk gedaan wat jij verbeterd had, zie hieronder:
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
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
<?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="***************.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="***************.php?id='.$res['id'].'">';
print $res['Bedrijfsnaam'].'</a><br />';
print substr($res['Adres'].', '.$res['Postcode'].',
'.$res['Woonplaats'].', '.$res['Land'],0,250);
print '<br />';
}
}
?>
Dat gaat om regel 38 en 39, dat stond niet in mijn code, maar die substr functie moet op 1 regel, dusniet opgesplitst worden in 2,
Parse error: syntax error, unexpected ';' in /../..////..
Het is mij nog steeds niet gelukt,........
Error? Stukje relevante code. Dus regel voor de error tot en met een regel na de error.
foutafhandeling, dat het allemaal wat netter wordt.
Regel 32 mis je nog een ). Overigens vergeet je daar een query mee te geven in mysql_query(). Doe trouwens iets aan je $res = mysql_query() or trigger_error(mysql_error().'<br />In query: '.$sql;(HIER??)
Ik heb het overal geprobeert te plaatsen ook met een (punt) '.' Ik snap er niks van!
De query meegeven ? Welke dan ? Die staat er boven toch al ? Moet ik het nu weer aangeven dan ?? Ik weet eens hoe de query nu wordt met al die AND en OR erin.
Code (php)
1
2
3
2
3
<?php
$res = mysql_query($sql) or trigger_error(mysql_error() . '<br />In query: ' . $sql);
?>
$res = mysql_query($sql) or trigger_error(mysql_error() . '<br />In query: ' . $sql);
?>
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
In query: SELECT * FROM Contacts WHERE Land LIKE '' AND (Campinghoreca = 'Campinghoreca' AND (HORECA = 'HORECA') in /customers/domein.nl/domein.nl/httpd.www/*****.php on line 1503
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/domein.nl/domein.nl/httpd.www/******.php on line 1505
De onderstaande code heb ik ingevuld. Ik weet niet hoe en wat ik nu moet aanpassen. Kan iemand mij helpen ?
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 = "SELECT *
FROM Contacts
WHERE Land LIKE '".$zoekwoord."'";
if(!empty($_POST['campinganimatie'])){
$sql_xtra .= " AND (Campinganimatie = 'Campinganimatie'";
}
if(!empty($_POST['campinghoreca']) && !empty($sql_xtra)){
$sql_xtra .= " OR Campinghoreca = 'Campinghoreca'";
}
else{
$sql_xtra .= " AND (Campinghoreca = 'Campinghoreca'";
}
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($sql) or trigger_error(mysql_error() . '<br />In query: ' . $sql);
while($res = mysql_fetch_array($sql)) {
print '<p><a href="************='.$res['id'].'">';
print $res['Bedrijfsnaam'].' ('.$res['Status'].')</a><br />';
print $res['Adres'].', '.$res['Postcode'].', '.$res['Woonplaats'].', '.$res['Land'].'</a><br />';
print $res['JobSolutionZomer'].', '.$res['JobSolutionWinter'].', '.$res['BusinessSolution'].'</a><br />';
print $res['Campinganimatie'].', '.$res['Campinghoreca'].', '.$res['Campingallround'].', '.$res['HORECA'].', '.$res['Commercieel'].', '.$res['Marketing'].', '.$res['Customerservice'].'</a><br />';
print substr($res['EScode'].'=EScode',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['campinganimatie'])){
$sql_xtra .= " AND (Campinganimatie = 'Campinganimatie'";
}
if(!empty($_POST['campinghoreca']) && !empty($sql_xtra)){
$sql_xtra .= " OR Campinghoreca = 'Campinghoreca'";
}
else{
$sql_xtra .= " AND (Campinghoreca = 'Campinghoreca'";
}
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($sql) or trigger_error(mysql_error() . '<br />In query: ' . $sql);
while($res = mysql_fetch_array($sql)) {
print '<p><a href="************='.$res['id'].'">';
print $res['Bedrijfsnaam'].' ('.$res['Status'].')</a><br />';
print $res['Adres'].', '.$res['Postcode'].', '.$res['Woonplaats'].', '.$res['Land'].'</a><br />';
print $res['JobSolutionZomer'].', '.$res['JobSolutionWinter'].', '.$res['BusinessSolution'].'</a><br />';
print $res['Campinganimatie'].', '.$res['Campinghoreca'].', '.$res['Campingallround'].', '.$res['HORECA'].', '.$res['Commercieel'].', '.$res['Marketing'].', '.$res['Customerservice'].'</a><br />';
print substr($res['EScode'].'=EScode',0,250);
print '<br />';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
jjriet schreef op 24.02.2009 22:15:
... for the right syntax to use near '' at line 3
In query: SELECT * FROM Contacts WHERE Land LIKE '' AND ...
In query: SELECT * FROM Contacts WHERE Land LIKE '' AND ...
Je LIKE waarde is leeg.
wat moet ik daar zetten dan ?
tussen '" dan zoekwoord moet plaatsen ??
$zoekwoord is dus leeg.
<form action="************.php" method="post">
<blockquote>
<blockquote>
<blockquote>
<p>
<label></label><label></label>
<label></label>
<label></label><input name="Campinganimatie" type="checkbox" id="zoekwoord" value="Campinganimatie" />
<label></label>
</p>
<p>
<input name="Campinghoreca" type="checkbox" id="zoekwoord" value="Campinghoreca" />
<label></label>
</p>
<p>
<input name="HORECA" type="checkbox" id="zoekwoord" value="HORECA" />
</p>
<p>
<input name="submit22" type="submit" value="zoek" />
</p>
</p>
</blockquote>
</blockquote>
</blockquote>
</form></th>