zoeken in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jozef

Jozef

26/01/2009 12:15:00
Quote Anchor link
Hallo,
Ik heb een scriptje geschreven om in mysql database uitgebreidt te zoeken.
Men kan zoeken op "omschrijving" of "naam" of " onderwerp".
Ik denk dat my SQL querry niet correct is want het resultaat is niet wat ik verwacht want ik krijg steeds de complete tabel inhoud te zien
Het begin van het zoekscriptje ziet er als volgt uit:


if (($_POST['omschrijving']) OR ($_POST['onderwerp']) OR ($_POST['naam'])){
// query samenstellen
$query="SELECT * FROM bezetting_2006 WHERE
omschrijving LIKE '%". $_POST["omschrijving"] . "%'
OR onderwerp LIKE '%". $_POST["onderwerp"] . "%'
OR naam LIKE '%". $_POST["naam"] . "%'

";

$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
}else{

....

Kan iemand helpen wat er mis is?
 
PHP hulp

PHP hulp

06/05/2024 02:36:34
 
Wesley Overdijk

wesley Overdijk

26/01/2009 12:18:00
Quote Anchor link
je echo staat hier niet bij?

anyway, kan het zijn dat als een veld niet word ingevuld, hij dus naar iets zoekt wat niet gezet is, dus klopt het ergens al niet. ik zou een array maken met de mogelijke tabellen/ velden, en dan in loopjes, gaan zoeken. dan kan je het resultaat ook tonen als dit:

Gevonden in:

- klanten
naam1
naam2

- bedrijven
bedrijf1
bedrijf2


dit doe ik zelf ook.
 
Jozef

Jozef

26/01/2009 12:25:00
Quote Anchor link
Hallo, Dit is het complete scriptje..

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
<?php

include("verbinding.php");


if (($_POST['omschrijving']) OR  ($_POST['onderwerp']) OR ($_POST['naam'])){
    // query samenstellen
    $query="SELECT * FROM bezetting_2006  WHERE
        omschrijving LIKE '%"
. $_POST["omschrijving"] . "%'
        OR onderwerp LIKE '%"
. $_POST["onderwerp"] . "%'
        OR naam LIKE '%"
. $_POST["naam"] . "%'
        
        "
;

    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
    $aantal = mysql_num_rows($result);
}
else{
    
}
    
?>

<html>
<head>
<title>Zoeken: de resultaten</title>
</head>
<body>

<table border="1" width="100%" align="center">
<tr><th>naam</th><th>onderwerp</th><th>omschrijving</th></tr>

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
<?php
// controleer eerst of er records werden gevonden
if ($aantal == 0){
    // Nee
    echo ("Helaas, er werden geen records gevonden
        met <b> "
. $_POST["naam"]. " </b><br>
        met <b> "
. $_POST["onderwerp"]. " </b><br>
        met <b> "
. $_POST["omschrijving"]. " </b><br>

\n"
);

}
else{
    // Ja
    //echo("<b>query</b> : $query <hr>");

    echo("<b>Er werden $aantal records gevonden:</b><br>");
    while (list($id,$naam,$onderwerp,$omschrijving) = mysql_fetch_row($result)){
        
echo("<tr><td>$naam</td> <td>$onderwerp</td>  <td>$omschrijving</td></tr>\n");
}
}

?>

</table>
<br><hr>
</body>
</html>
 
Jozef

Jozef

26/01/2009 12:48:00
Quote Anchor link
Hallo, Dit is het complete scriptje..
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php

include("verbinding.php");


if (($_POST['omschrijving']) OR  ($_POST['onderwerp']) OR ($_POST['naam'])){
    // query samenstellen
    $query="SELECT * FROM bezetting_2006  WHERE
        omschrijving LIKE '%"
. $_POST["omschrijving"] . "%'
        OR onderwerp LIKE '%"
. $_POST["onderwerp"] . "%'
        OR naam LIKE '%"
. $_POST["naam"] . "%'
        
        "
;

    $result = mysql_query($query) or die ("FOUT: " . mysql_error());
    $aantal = mysql_num_rows($result);
}
else{
    
}
    
?>

<html>
<head>
    <title>Zoeken: de resultaten</title>
</head>
<body>

<table border="1" width="100%" align="center">
<tr><th>naam</th><th>onderwerp</th><th>omschrijving</th></tr>

<?php
// controleer eerst of er records werden gevonden
if ($aantal == 0){
    // Nee
    echo ("Helaas, er werden geen records gevonden
        met <b> "
. $_POST["naam"]. " </b><br>
        met <b> "
. $_POST["onderwerp"]. " </b><br>
        met <b> "
. $_POST["omschrijving"]. " </b><br>

\n"
);

}
else{
    // Ja
    //echo("<b>query</b> : $query <hr>");

    echo("<b>Er werden $aantal records gevonden:</b><br>");
    while (list($id,$naam,$onderwerp,$omschrijving) = mysql_fetch_row($result)){
        
echo("<tr><td>$naam</td> <td>$onderwerp</td>  <td>$omschrijving</td></tr>\n");
}
}

?>

</table>
<br><hr>
</body>
</html>


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 Jozef
 



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.