Versio

Zoeken in MySQL tabel

Zoeken in een MySQL tabel.

Gesponsorde koppelingen

Inhoudsopgave

  1. De MySQL tabel
  2. Het zoeken naar een woord
  3. Formulier om mee te zoeken
  4. Tonen van het resultaat in PHP

 

35 reacties op 'Zoeken in MySQL tabel'

PHP hulp
PHP hulp
0 seconden vanaf nu
 
Gesponsorde koppelingen


10 jaar geleden
 
0 +1 -0 -1
Een goed begin is het halve werk :)
Script werk prima, nu nog de full text search
Merlin
merlin
10 jaar geleden
 
0 +1 -0 -1
perfect script alleen had ik een vraagje als ik geen search string op geef en laat zoeken geeft hij alles weer wat in de tabel staat is dat op te lossen
bedankt :)
Bas Kreleger
Bas Kreleger
10 jaar geleden
 
0 +1 -0 -1
Door te kijken of er wel wat is opgegeven.. als hij leeg is een melding geven dat er niet op niets gezocht kan worden :)


10 jaar geleden
 
0 +1 -0 -1
Sorry hoor maar ik kan die database niet aanmaken maar ja maakt hem ook in php aan kan dat wel????


10 jaar geleden
 
0 +1 -0 -1
Sorry hoor maar ik kan die database niet aanmaken maar ja maakt hem ook in php aan kan dat wel????
Jitze Pieter
Jitze Pieter
10 jaar geleden
 
0 +1 -0 -1
krijg alleen maar foutmeldingen dat ik die db niet heb en dat klopt omdat ik hem niet zo kan aanmaken. kun je dat mischien uitleggen hoe ik dat in admin kan maken. bedankt


10 jaar geleden
 
0 +1 -0 -1
Dit lijken mij opdrachten die je aan mysql geeft nadat je een database hebt gemaakt. Ga naar de directory waar je mysql hebt geinstalleerd, dan in de subdirectory bin staat het bestand mysql.exe, die kan je starten en dan krijg je een dos venster waar je mysql opdrachten kan uitvoeren. bv. om een database te maken:
create database zoektest;
die maakt dan een nieuwe database aan, genaamd zoektest.
daar kan je de opdrachten ingeven die in deze tutorial gebruikt worden. bv:
CREATE TABLE zoek_test ( id INT(11) auto_increment primary key , tekst TEXT not null );

Succes..


10 jaar geleden
 
0 +1 -0 -1
O, ben ik nog wat vergeten. Nadat je met create database zoektest; een database hebt gemaakt moet je nog zeggen dat je die wil gebruiken door:
use zoektest;
Jitze Pieter
Jitze Pieter
10 jaar geleden
 
0 +1 -0 -1
dank je dat werkt inderdaat
Jitze Pieter
Jitze Pieter
10 jaar geleden
 
0 +1 -0 -1
dank je dat werkt inderdaat


10 jaar geleden
 
0 +1 -0 -1
hallo
ik maak een database met allemaal filmtitels,
die titels wil ik sorteren op tabbladen (als er iemand een goed scriptje daarvoor heeft mag je het me altijd laten weten) dus per letter een tabblad. dus om te weten welke film op welk tabblad moet moet ik iedere keer de eerste letter van de titels onderzoeken en dan in het desbetreffende tabblad zetten (dus ook zoeken mor enkel nr de eerste letter van de titel en nt nr hoeveel keer het voorkomt in de titel) weet iemand hoe dit op te lossen?
laat het me weten aub
alvast hartelijk bedankt
ciao
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


10 jaar geleden
 
0 +1 -0 -1
hoi
k heb owk een vraag:)
hoe wil je in deze zin : mysql_query("SELECT * FROM table WHERE defence
erin zetten dat je naar iets zoekt dat lager is dan het ingevoerde?

("SELECT * FROM table WHERE defence < '%" dat werkt niet dus.... wat moet k doen???????

thx voor je aand8.

masll
Ano Niem
Ano Niem
10 jaar geleden
 
0 +1 -0 -1
Hoe voer ik een query uit die in meerdere velden en termen tegelijk zoekt?
Das namelijk wel handig voor een zoek functie op bijv. een profielensysteem
Ik heb nu:
SELECT veld1,veld2 FROM tabel WHERE veld1,veld2 LIKE '%$_POST['veldnaam']%'
maar betwijfel of het werkt
Ano Niem
Ano Niem
10 jaar geleden
 
0 +1 -0 -1
laat ook maar =) k heb al oplossing gevonden :)


9 jaar geleden
 
0 +1 -0 -1
Ey, ik ben net begonnen met mysql en php. Ik heb alles precies gedaan zoals er in de tutorial staat maar ik krijg een warning als ik bij zoeken iets intypt: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\apachefriends\xampp\htdocs\resultaat.php on line 18

kan iemand mij helpen??
Martijn


9 jaar geleden
 
0 +1 -0 -1
Ey, ik ben net begonnen met mysql en php. Ik heb alles precies gedaan zoals er in de tutorial staat maar ik krijg een warning als ik bij zoeken iets intypt: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\apachefriends\xampp\htdocs\resultaat.php on line 18

kan iemand mij helpen??
Martijn
Coen
Coen
9 jaar geleden
 
0 +1 -0 -1
>Bas Kreleger schreef op 29-12-2003
>
>Door te kijken of er wel wat is opgegeven.. als hij leeg is een melding geven >dat er niet op niets gezocht kan worden :)

Hi, en kun je ook vertellen wat je dan neer zet qua notatie? Misschien ben je bereid om de tutorial aan te passen en het erin te verwerken?
Merci!


9 jaar geleden
 
0 +1 -0 -1
Graag zou ik een zoekfunctie willen hebben volgens deze wijze, waarmee een database wordt doorzocht. Het zal een soort bedrijvengids moeten worden. Nu heb ik een aantal vragen:

1) Kan ik de database m.b.v. phpMyAdmin opzetten?
2) Kan ik het zoekformulier ook toevoegen op mijn index.html pagina i.p.v. opslaan als zoeken.php? Krijg dan namelijk een raar resultaat met vreemde tekens en een tweede zoekvak.
3) Dit zelfde voor resultaat.php?
Bas Kreleger
Bas Kreleger
9 jaar geleden
 
0 +1 -0 -1
PHP moet .php heten, of anders aangegeven in je config file, maar je moet het gewoon .php laten heten.. en je kunt een database aanmaken in phpmyadmin met daarbij de bijbehorende tabellen.. je kunt overigens alleen een database aanmaken wanneer je daar recht tot hebt, niet een probleem met een eigen server lijkt mij :)
Willem Jan Z
Willem Jan Z
9 jaar geleden
 
0 +1 -0 -1
Waarom heb je het zoekformulier in PHP gemaakt, gewoon in HTML en als PHP opslaan werkt toch ook? Lijkt me alleen maar meer werk...


9 jaar geleden
 
0 +1 -0 -1
Hoi het script werkt bij mij perfect en heb hem zelfs al lokaal werken op een andere database maar ik wil graag weten hoe je dit in een gestructueerde tabel kan weergeven en niet als tekst onder elkaar alvas bedankt.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


9 jaar geleden
 
0 +1 -0 -1
Op zich werkt het script hij geeft alleeb geen resultaat. Hij laat wel het aantal rows zien door 6X resultaat Id: ed maar er staat niet achter terwijl er toch vanalles in mijn Database staat. Ik heb het script aangepast naar mijn eigen Database. Kan iemand mij hiermee helpen?
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
<?
    //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
    if (!@mysql_select_db("XXXXXXXXXX", @mysql_connect("localhost", "XXXXXXX", "XXXXXXXX")))
    {

        echo "Er kan geen database connectie gemaakt worden.";
        exit();
    }


    //-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
    //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:

    $sql = "SELECT * FROM AdressenlijstKerk WHERE Achternaam LIKE '%$HTTP_POST_VARS[zoekterm]%'";
    
    //-- 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) >= 1)
    {

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

            echo "<p>Resultaat id: <b>$row[id]</b><br>";
            echo "Resultaat Achternaam: <b>$row[tekst]</b></p>";
        }

        
        echo "<a href=\"zoek.php\" 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[zoekterm]</b></p>";
        
        echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
    }

?>


9 jaar geleden
 
0 +1 -0 -1
Laat maar ik hd echo "Resltaat Achternaam:<b>$row[tekst} niet aangepast. Daar heb ik nu Achternaam ingevuld en nou doet hij het
Vincent Volmer
Vincent Volmer
9 jaar geleden
 
0 +1 -0 -1
Het script werkt goed en heb eea voor mijzelf aangepast. Nu zit ik met het volgende;

In het zoek.php formulier wil ik diverse keuzes laten maken zie: http://centani.nl/zoek.php [zoeken op zoekterm, produkt, provincie etc]

Nu wil ik ook dat men kan zoeken op een [produkt in een provincie]. Dus 2 zoektermen (zoals hieronder, 'n deel uit zoek.php;


<FORM METHOD=\"POST\" ACTION=\"resultaat.php\">
Zoeken op provincie en produkt:<br>


<select name=\"zoekterm\">
<option value=\"Drenthe\">Drenthe</option>
<option value=\"Flevoland\">Flevoland</option>
<option value=\"Friesland\">Friesland</option>
<option value=\"Gelderland\">Gelderland</option>
<option value=\"Groningen\">Groningen</option>
<option value=\"Limburg\">Limburg</option>
<option value=\"Noord-Brabant\">Noord-Brabant</option>
<option value=\"Noord-Holland\">Noord-Holland</option>
<option value=\"Overijssel\">Overijssel</option>
<option value=\"Zeeland\">Zeeland</option>
<option value=\"Zuid-Brabant\">Zuid-Brabant</option>
<option value=\"Zuid-Holland\">Zuid-Holland</option>
</select>

<select name=\"zoekterm1\">
<option value=\"NGP\">NGP</option>
<option value=\"CETRIS\">CETRIS</option>
<option value=\"Elith GPL\">Elith GPL</option>
<option value=\"Colorplank\">Colorplank</option>
</select>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</FORM>

Hierbij krijg je dus 2 'zoektermen' die verstuurd worden.
Hoe krijg ik dat binnen deze regel ingepast? (stukje uit resultaat.php);


$sql = "SELECT * FROM projecten WHERE MATCH (projectplaats,projectnaam,provincie,produkt,jaar) AGAINST ('%$_POST[zoekterm]%' IN BOOLEAN MODE) ";



De uitdaging zit 'm vooral in dat in ieder geval gezocht moet kunnen worden op zoekterm (zoals hierboven) maar dus ook via een keuze menu.

Iemand een idee?


8 jaar geleden
 
0 +1 -0 -1
Wanneer ik niks invul als zoekterm maar wel op zoeken druk dan krijg ik alle tekst die er in staat. Dat is volgens mij niet goed? Kan er dan geen melding worden gegeven als "geen zoekterm opgegeven"?


8 jaar geleden
 
0 +1 -0 -1
Ik heb dezelfde vraag als Martijn:

Martijn schreef op 19-07-2004
Ey, ik ben net begonnen met mysql en php. Ik heb alles precies gedaan zoals er in de tutorial staat maar ik krijg een warning als ik bij zoeken iets intypt: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource.

Bij mij staat er Warning: Supplied argument is not a valid MySQL result resource in c:\php\tui\resultaat.php on line 13.

Op line 13 staat ook de mysql_num_rows():
Jens V
Jens V
8 jaar geleden
 
0 +1 -0 -1
Hoe komt het dat ik deze warning krijg? Ik heb in men MySQL de rijen id, voornaam, achternaam, maar het werkt neit. Wat doe ik verkeerd? de link is www.php.tdkclan.com/jens/oefeningen/zoeken/zoek.php resultaat.php

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/fh2028/domains/tdkclan.com/public_html/php/jens/oefeningen/zoeken/resultaat.php on line 18

Mijn resultaat.php

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
<?
    //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
    if (!@mysql_select_db("XXXXXXX", @mysql_connect("localhost", "XXXXXXXX", "XXXXXXXXX")))
    {

        echo "Er kan geen database connectie gemaakt worden.";
        exit();
    }


    //-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
    //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:

    $sql = "SELECT id,voornaam FROM zoek_test WHERE tekst LIKE '%$HTTP_POST_VARS[zoekterm]%'";

    //-- 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) >= 1)
    {

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

            echo "<p>Klasnummer: <b>$row[id]</b><br>";
            echo "Voornaam: <b>$row[voornaam]</b></p>";
            echo "Achternaam: <b>$row[achternaam]</b></p>";
        }


        echo "<a href=\"zoek.php\" 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[zoekterm]</b></p>";

        echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
    }

?>



Answer asap please :)
Jens V
Jens V
8 jaar geleden
 
0 +1 -0 -1
bovenstaande heb ik gevonde, maar hij kan enkel uit de rij voornaam zoeken.
Hoe kan ik hem OOK uit de rij achternaam laten zoeken?
Kevin -
Kevin -
8 jaar geleden
 
0 +1 -0 -1
Martijn schreef op 19-07-2004
Ey, ik ben net begonnen met mysql en php. Ik heb alles precies gedaan zoals er in de tutorial staat maar ik krijg een warning als ik bij zoeken iets intypt: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\apachefriends\xampp\htdocs\resultaat.php on line 18

kan iemand mij helpen??
Martijn

Ik heb ook dit probleem wie kan mij helpen?
Oook een beginner :(
Something Else
Something Else
7 jaar geleden
 
0 +1 -0 -1
hmmz ik krijg geen error, wel alle files netjes aangemaakt. Database connectie goed opgezet. Bestaat de tabel wel in de database?

1 opmerking aan Bas: als ik niks invul krijg ik gewoon alles te zien? of is dit de bedoeling??

voor degene die dat niet wil hebben kan je het simpel oplossen:

dit toevoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(empty($HTTP_POST_VARS[zoekterm])){
        echo "Niks ingevuld<br />";
        echo "Ga <a href=\"#\" onclick=\"history.go(-1)\">terug</a>";
    }

?>


wordt dit dan:

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
<?php
    //-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
    if (!@mysql_select_db("database", @mysql_connect("localhost", "user", "pass")))
    {

        echo "Er kan geen database connectie gemaakt worden.";
        exit();
    }


    //-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we
    //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:

    $sql = "SELECT id,tekst FROM zoek_test WHERE tekst LIKE '%$HTTP_POST_VARS[zoekterm]%'";

    //-- 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(empty($HTTP_POST_VARS[zoekterm])){
        echo "Niks ingevuld<br />";
        echo "Ga <a href=\"#\" onclick=\"history.go(-1)\">terug</a>";
    }
elseif (mysql_num_rows($res) >= 1)
    {

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

            echo "<p>Resultaat id: <b>$row[id]</b><br>";
            echo "Resultaat tekst: <b>$row[tekst]</b></p>";
        }


        echo "<a href=\"zoek.php\" 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[zoekterm]</b></p>";

        echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
    }

?>
Tristan
Tristan
7 jaar geleden
 
0 +1 -0 -1
@ martijn
@ Matthijs
@ Kevin

ik had hetzelfde probleem, maar ik heb het opgelost. waarschijnlijk hebben jullie je mysql tabel een andere naam gegeven en dat niet aangepast in resultaat.php
Bas Matthee
Bas Matthee
5 jaar geleden
 
0 +1 -0 -1
Ik moet zeggen dat dit script me een heel eind op weg heeft geholpen. Superbedankt. Er stonden wat dingetjes die anders konden/moesten en ik heb em wat aangepast voor mijn eigen gebruik, maar ondanks dat een superscript!

Het resultaat is te zien op http://www.hardwareplaza.net
Maurice
maurice
3 jaar geleden
 
0 +1 -0 -1
er woord niks gevonden bij mij!
Yorick toma
yorick toma
3 jaar geleden
 
0 +1 -0 -1
Bedankt !
Het werkt echt perfect !
Maar weet iemand hoe ik de relevantie kan instellen ?
Bijvoorbeeld ik wil dat in de table ID 4 hoger komt als je zoekt..
Alvast bedankt !
- Yorick Toma
Fudge NL
Fudge NL
2 jaar geleden
 
0 +1 -0 -1
Ik weet dat deze reactie, 7 jaar na dato, vrij laat is, maar ik wou je toch even bedanken voor deze geweldige post. :D

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Labels
  • Geen tags toegevoegd.
Get Adobe Flash player