fout in zoekquery ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jjriet petersen

jjriet petersen

28/01/2009 00:18:00
Quote Anchor link
Onderstaand staat mijn zoekquery. Het werkt niet. Ik wil zoeken op postcode n op land. Als ik bij postcode iets intik en op zoeken druk krijg ik alle resultaten. Vul ik iets in bij land en vervolgens op zoeken krijg ik wel alléén de resukltaten van dat land. Wie weet wat ik verkeerd doe ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
  $sql
= mysql_query("
    SELECT count(*)
    FROM Contacts
    WHERE Postcode LIKE '%"
.$zoekwoord."%' OR Land 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 Postcode LIKE '%"
.$zoekwoord."%' OR Land LIKE '%".$zoekwoord."%'
    ORDER BY Bedrijfsnaam ASC"
);
?>
Gewijzigd op 01/01/1970 01:00:00 door Jjriet petersen
 
PHP hulp

PHP hulp

02/05/2024 07:29:47
 
Menno Ridder

Menno Ridder

28/01/2009 16:26:00
Quote Anchor link
Hoi jjriet,

Waar is je error handling? Dan kun je zelf al een beetje zien wat er fout gaat.
Je query zelf ziet zo niet fout uit.
 
Jesper Diovo

Jesper Diovo

28/01/2009 16:35:00
Quote Anchor link
Waarom twee queries? Eén moet toch genoeg zijn. Doe bovendien wat aan foutafhandeling, was je deze fout allang tegengekomen waarschijnlijk.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$query
= "SELECT * FROM Contacts WHERE Postcode LIKE '%".mysql_real_escape_string($zoekwoord)."%' OR Land LIKE '%".mysql_real_escape_string($zoekwoord)."%' ORDER BY Bedrijfsnaam ASC";
$result = mysql_query($query);

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;
}

?>
 
- SanThe -

- SanThe -

28/01/2009 16:36:00
Quote Anchor link
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Jjriet petersen

jjriet petersen

28/01/2009 20:09:00
Quote Anchor link
Hieronder staat exact wat ik heb/had. Ik heb nog géén aanpassingen gedaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 Postcode LIKE '%"
.$zoekwoord."%' OR Land 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 Postcode LIKE '%"
.$zoekwoord."%' OR Land LIKE '%".$zoekwoord."%'
    ORDER BY Bedrijfsnaam ASC"
);

    while($res = mysql_fetch_array($sql)) {
    
    print '<p><a href="Contacts.php?id='.$res['id'].'">';
    print $res['Bedrijfsnaam'].'</a><br />';
    print substr($res['Adres'].', '.$res['Postcode'].', '.$res['Woonplaats'].', '.$res['Land'],0,250);
    print '<br />';
    }
    }

?>
 

28/01/2009 20:48:00
Quote Anchor link
jjriet schreef op 28.01.2009 20:09:
Hieronder staat exact wat ik heb/had. Ik heb nog géén aanpassingen gedaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 Postcode LIKE '%"
.$zoekwoord."%' OR Land 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 Postcode LIKE '%"
.$zoekwoord."%' OR Land LIKE '%".$zoekwoord."%'
    ORDER BY Bedrijfsnaam ASC"
);

    while($res = mysql_fetch_array($sql)) {
    
    print '<p><a href="Contacts.php?id='.$res['id'].'">';
    print $res['Bedrijfsnaam'].'</a><br />';
    print substr($res['Adres'].', '.$res['Postcode'].', '.$res['Woonplaats'].', '.$res['Land'],0,250);
    print '<br />';
    }
    }

?>

Waar is je foutafhandeling? SQL Beginnershandleiding.
 
Jjriet petersen

jjriet petersen

30/01/2009 14:09:00
Quote Anchor link
In principe werkt mijn code nu maar het form-gedeelte hapert. Ik wil twee vrij invulvelden voor de postcode en voor het land. Vervolgens één knop om te zoeken. Als er gezocht wordt zou hij op beide variabelen moeten zoeken en dan het gezochte resultaat tonen. Dit werkt nu dus niet!Hij toont nu alle postcodes en/of alle landen!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 Postcode LIKE '"
.$zoekwoord."%'
    OR Land 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 Postcode LIKE '"
.$zoekwoord."%'
    OR Land 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 />';
    }
    }

?>


<form action="DEFrelatiezoekenpostalcodelink.php" method="post">
<blockquote>
<blockquote>
<blockquote>
<p>&nbsp; </p>
<p>
<input type="text" name="zoekwoord" size="15" maxlength="30" value="" />
<input type="text" name="zoekwoord" size="15" maxlength="30" value="" />
</p>
<p>
<input name="submit22" type="submit" value="zoek" />
</p>
</blockquote>
</blockquote>
</blockquote>
</form>
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
 
Jjriet petersen

jjriet petersen

30/01/2009 18:49:00
Quote Anchor link
<bovenstaande aangepast>

Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
 
Jjriet petersen

jjriet petersen

30/01/2009 19:14:00
Quote Anchor link
<bovenstaande aangepast>

Niet Bumpen: Herhaling:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door jjriet petersen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.