zoekform op website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jacques

jacques

03/08/2009 12:13:00
Quote Anchor link
Hallo,

ik zag hier op het forum het volgende zoekscript:
http://www.phphulp.nl/php/tutorials/3/100/
Is dit bruikbaar als basis voor een zoekscript?

Mvg,
Jacquesz.
 
PHP hulp

PHP hulp

27/11/2024 09:14:14
 
B a s
Beheerder

B a s

03/08/2009 12:15:00
Quote Anchor link
Jacques, das best wel een oude tutorial. Zijn veel betere, bijv. ééntje van Blanche: Fulltext Index in MySQL.
 
Jacques

jacques

03/08/2009 23:24:00
Quote Anchor link
Ik heb hier ook dit terug gevonden:

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?PHP

/* Errors */
error_reporting(E_ALL);

/* Kijken of er wordt gepost */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    /* Kijken of er wel een naam is ingevuld */
    if(!empty($_POST['jouwveld']))
    {

        /* Query uitvoeren */
        $Query =
        "
            SELECT
                id,
                username
            FROM
                profiel
            WHERE
                username LIKE '%"
.mysql_real_escape_string($_POST['jouwveld'])."%'
        "
;
        
        /* Result */
        $Result = mysql_query($Query);
        
        /* Kijken of de query is gelukt */
        if(!$Result)
        {

            /* Foutje in query */
            echo 'Er is een fout ogpetreden met het zoeken naar een username.';
        }

        else
        {
            /* Kijken of er username(s) zijn gevonden */
            if(mysql_num_rows($Result) == 0)
            {

                /* Geen username(s) gevonden */
                echo 'Wij konden geen username vinden met:'.$_POST['jouwveld'];
            }

            else
            {
                /* Start tabel */
                echo '<table border="0" width="120">
                        <tr>
                            <td colspan="2">Er zijn: '
.mysql_num_rows($Result).' usernames(s) gevonden.</td>
                        </tr>
                     '
;

                /* Username(s) laten zien */
                while($Row = mysql_fetch_assoc($Result))
                {

                    /* Resultaten weergeven */
                    echo '<tr>
                              <td>'
.$Row['username'].'</td>
                              <td><a href="profilelink.php?id='
.$Row['id'].'">Profiel</a></td>
                          </tr>
                         '
;
                }

                
                /* Tabel Sluiten */
                echo '</table>';
            }
        }
    }

    else
    {
        /* Geen naam ingevuld */
        echo 'Voer A.U.B een naam in.';
    }
}


?>


Is dit te gebruiken mits enkele aanpassingen in de Query
 
Jacques

jacques

19/08/2009 12:04:00
Quote Anchor link
Waarom werkt deze niet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
<form action="index.php?pagina=search" method="post">
<
p>
<
input name="search_input" class="textbox" type="text" />
<
input name="search_button" class="button" value="searchtype="submit" />
<
/p>
<
/form>
?>


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
<?
include('system/config.connection.php');
$SQL = "SELECT naam,titel FROM advertenties WHERE naam LIKE '%" . $_POST[" search_input "]  ."%' ORDER BY adv_id";
//exit($SQL);
    //-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
    //-- kijken of er een resultaat is

    $res = mysql_query($SQL);
    
    //-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
    if (mysql_num_rows($res) >= 3)
    {

        //-- er is een resultaat gevonden, toon de resultaten via een while () loop
        while ($row = mysql_fetch_array($res))
        {

            echo "<p>Resultaat Naam: <b>$row[naam] $row[titel]</b><br>";
            //echo "<p>Resultaat tekst: <b>$row[text]</b></p>";
        }
        
        echo "<a href=\"index.php?pagina=search\" title=\"zoek opnieuw\">zoek opnieuw</a>";
    }

    //-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
    else
    {
        echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[search_input]</b></p>";
        
        echo "<p><a href=\"index.php?pagina=search\" title=\" opnieuw zoeken \">zoek opnieuw</a></p>";
    }

?>
Gewijzigd op 01/01/1970 01:00:00 door jacques
 
Jesper Diovo

Jesper Diovo

19/08/2009 12:06:00
Quote Anchor link
Ho, lekker. Ik zou je ook niet aan willen raden dat script te gaan gebruiken. Het is hartstikke lek. Overigens, kijk even naar regel 10, daar staat een 3. Dat betekent dat de query minstens 3 rijen terug moet geven wil je pas een resultaat weergeven. Maar als er 1 rij teruggegeven wordt is er al resultaat. Die logica klopt dus niet.
 
Jacques

jacques

19/08/2009 12:10:00
Quote Anchor link
Dat klopt inderdaad Jezpur. thx.

Heb dit even aangepast, maar het probleem is dat bij eender welk zoekwoord ik ingeef de uitkomst hetzelfde is?
 
Jesper Diovo

Jesper Diovo

19/08/2009 12:12:00
Quote Anchor link
En is dat ook zo als je de queries (met de zoekwoorden al ingevuld) uitvoert in phpMyAdmin?
 
Jacques

jacques

19/08/2009 12:15:00
Quote Anchor link
Je bedoeld dus dat ik dit uitvoer met verschillende zoektermen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
exit($SQL);
?>



Dan is alles identiek!
 



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.