Zoeken in Database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matthijs

Matthijs

05/12/2006 12:23:00
Quote Anchor link
Ik heb de tutorial gevold van het zoeken in de database.
Mijn vraag is alleen hoe ik kan zoeken ik alle tabellen?

Met vriendelijke groet,

Matthijs
 
PHP hulp

PHP hulp

19/11/2024 06:18:49
 
Joren de Wit

Joren de Wit

05/12/2006 13:41:00
Quote Anchor link
Hoezo wil je zoeken in meerdere tabellen? In een goed datamodel komt 1 bepaalde eigenschap (vb. woonplaats) maar in 1 tabel voor en als jij dus naar records wilt zoeken met een specifieke woonplaats, hoef je dat maar in 1 tabel te doen.
 
Matthijs

Matthijs

05/12/2006 14:14:00
Quote Anchor link
Ik wil graag zoeken in de tabel Nieuws en de tabel Agenda.
 
- SanThe -

- SanThe -

05/12/2006 14:19:00
Quote Anchor link
SELECT ..... FROM ..... WHERE tabel1 LIKE '%zoekwoord%' OR tabel2 LIKE '%zoekwoord%'
 
Marc

Marc

05/12/2006 14:22:00
Quote Anchor link
select nieuws.info,agenda.datum from nieuws as nieuws, agenda as agenda


nieuws.info = tabel nieuws met info als veld

veel succes
 
Matthijs

Matthijs

07/12/2006 14:13:00
Quote Anchor link
Nog een vraagje :)

Hoe zorg ik ervoor dat ik in de rij titel en de rij bericht zoek?
Ik heb al geprobeerd om bij [SELECT * FROM nieuws WHERE bericht LIKE '%$HTTP_POST_VARS[zoekterm]%'";] achter bericht een komma te zetten en daar titel te typen, maar dan krijg ik een error:

Warning: Supplied argument is not a valid MySQL result resource in c:\www\skvr\zoek\search.php on line 47


Code:

if ($_POST['keuze'] == "nieuws"){
$sql = "SELECT * FROM nieuws WHERE bericht 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 tekst: <b>$row[bericht]</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>";
}
}

Met vriendelijke groet,

Matthijs
 
Frank -

Frank -

07/12/2006 14:18:00
Quote Anchor link
$HTTP_POST_VARS[zoekterm] ??? Dat is echt een stuk antiek. Vandaag de dag schrijf je dit als $_POST['zoekterm']. Dus niks geen HTTP en VARS maar wel keurig quotes om de key van de array.

Verder controleren of $res TRUE of FALSE is, wanneer de query is mislukt zal dit namelijk een FALSE opleveren. Met mysql_error() kun je dan de exacte foutmelding opvragen.
 
Matthijs

Matthijs

07/12/2006 15:28:00
Quote Anchor link
Ik heb nu iets wat ook niet werkt maar geeft wel even mijn bedoeling weer:

if ($_POST['keuze'] == "nieuws"){
//-- $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 nieuws WHERE bericht LIKE '%$_POST[zoekterm]%' AND titel LIKE '%$_POST[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 "<p>Resultaat id: <b>$row[titel]</b><br>";
echo "Resultaat tekst: <b>$row[bericht]</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> $_POST[zoekterm]</b></p>";

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



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.