ZOEKEN IN DATABASE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dhr. Zwartjes

Dhr. Zwartjes

11/04/2006 15:41:00
Quote Anchor link
Hallo!

Ik zoek een script dat zoekt in een database. Ik heb namelijk een muziekpagina (http://muziek.toxtv.be >> Alle muziek)
en dat werkt met een database. Nu wil ik op een andere pagina een zoekfunctie maken die dus zoekt in de liedjes die in de db staan. Het liefst dat hij bij de zoekresultaten ook het plaatje enzo weergeeft.

Wie kent zo'n script of is bereid er een te maken? Ik ben zelf niet zo ervaren in PHP.

Vriendelijke groeten,
Tommy Z.

P.S. De database ziet er als volgt uit:

CREATE TABLE `links` (
`linkscode` smallint(5) unsigned NOT NULL auto_increment,
`url` varchar(250) default NULL,
`websitename` varchar(250) default NULL,
`description` text,
`banner` varchar(250) default NULL,
`linkin` varchar(4) default NULL,
`linkout` varchar(4) default NULL,
PRIMARY KEY (`linkscode`)
) TYPE=MyISAM AUTO_INCREMENT=44 ;
Gewijzigd op 01/01/1970 01:00:00 door Dhr. Zwartjes
 
PHP hulp

PHP hulp

22/12/2024 14:01:11
 
Eris -

Eris -

11/04/2006 15:46:00
Quote Anchor link
Er zijn 2 manieren om te zoeken.

1 Full text search. : http://www.phphulp.nl/php/zoeken.php?search=1&q=fulltext&w=PHP+tutorials&=Zoeken
2 En Via like
http://www.phphulp.nl/php/tutorials/3/100/

Dus veel speel plezier ;)
 
Tommy

Tommy

11/04/2006 15:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= mysql_query("SELECT * FROM links WHERE linkscode LIKE '%".$zoek."%' OR url LIKE '%".$zoek."%'");
$aantal = mysql_num_rows($query);    
?>

dit zou je op weg moeten helpen

Edit:
Heb te laat gelezen dat je het zelf niet wilt ontwerpen
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
Eris -

Eris -

11/04/2006 15:50:00
Quote Anchor link
In theorie werkt fulltext search beter maar is ook lastiger...
 
Dhr. Zwartjes

Dhr. Zwartjes

11/04/2006 16:09:00
Quote Anchor link
Tommy:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= mysql_query("SELECT * FROM links WHERE linkscode LIKE '%".$zoek."%' OR url LIKE '%".$zoek."%'");
$aantal = mysql_num_rows($query);    
?>

dit zou je op weg moeten helpen

Edit:
Heb te laat gelezen dat je het zelf niet wilt ontwerpen


Waar zou ik dat dan neer moeten zetten?
 

11/04/2006 16:16:00
Quote Anchor link
Is gewoon een nieuwe query.
 

11/04/2006 16:20:00
Quote Anchor link
Kijk weet je wat het is:

90% van de mensen die hier komen schudden een dergelijk systeem zo uit hun mouw, maar daar zou jij niks van leren en bovendien heeft men hier wel wat beters te doen.

Wat ik je aan zou willen raden is om een boek over PHP te kopen, of als je dat al voldoende beheerst maar nog niet met de database (zelf) gewerkt hebt, een boek over MySql.

Vat dit niet op als een belediging, het is juist bedoelt om je op de "goede" weg te helpen.

Waar je even naar zou moeten kijken is een systeem dat Jelmer onlangs gemaakt heeft met een hele uitgebreidde zoekfunctie. Moet je maar even kijken in de scripts library, ik denk in de categorie database.
 
Eris -

Eris -

11/04/2006 16:26:00
Quote Anchor link
Zelf maak ik gebruik van een class die de sql query opsteld. Het werkt aardig..
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
<?php
        function db_search($table, $select,$queryfields, $query, $as, $key = '', $value = '', $limit = '' , $start = ''){
            $sql = 'SELECT '.$select.', MATCH ('.$queryfields.') AGAINST ("'.$query.'") AS '.$as.' FROM '.$table .'
            WHERE MATCH ('
.$queryfields.') AGAINST ("'.$query.'")';
            if(!empty($key) && !empty($value)){
            $sql .= 'AND '.$key.' = '.$value.'';
            }

            $sql .= 'ORDER BY '.$as.' DESC';
            if(!empty($limit) && !empty($start)){
            $sql .= 'LIMIT '.$start.','.$limit.'';
            }

             return $this->get_array($sql);
        }

?>


En komt het nu op een goed database ontwerp..
Gewijzigd op 01/01/1970 01:00:00 door Eris -
 
Stephan de vries

stephan de vries

11/04/2006 17:05:00
Quote Anchor link
Ik gebruik het volgende script:

<html
<head>
</head>
<body>
<link rel="stylesheet" type="text/css" href="style-members.css">
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
<?PHP
$database_url
= "localhost";
$gebruiker = "";
$wachtwoord = "";
$database = "weblog";

mysql_connect("$database_url", "$gebruiker", "$wachtwoord") or die("Connectie met Database mislukt");
mysql_select_db("$database") or die("Fout bij het selecteren van de database");

if($_SERVER['REQUEST_METHOD'] == 'POST') {

$select = "SELECT * FROM weblog WHERE $zoekcat LIKE '%$_POST[trefwoord]%' ORDER BY id DESC";  
$query = mysql_query($select) or die("Er is iets fout gegaan!");  
$resultaten = mysql_num_rows($query);

if($trefwoord == "")
{
echo "Geen zoekterm ingevoerd!";
}
elseif(strlen($trefwoord) < 3)
{
echo "Zoekterm moet minimaal uit 3 tekens bestaan!";
}
elseif ($resultaten == "0")
{
echo "Helaas, er zijn geen resultaten gevonden!<br><br><br>&nbsp;<img src=images/arrow.gif align=absmiddle>&nbsp;&nbsp;&nbsp;<a href=\"javascript: history.go(-1)\">Zoekopdracht aanpassen</a><br>&nbsp;<img src=images/arrow.gif align=absmiddle>&nbsp;&nbsp;&nbsp;<a href=zoeken2.php>opnieuw zoeken</a>";
}
else {

echo "<br><br>&nbsp;<img src=images/lupa1.gif align=absmiddle>&nbsp;&nbsp;Er zijn $resultaten resultaten gevonden voor <i>$_POST[trefwoord]</i>.<br><br>\n";

echo "<table align=\"left\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">\n";
echo "<tr><td><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Auteur:</b></td><td><b>Titel:</b></td></tr>\n";

while ($zoekdata = mysql_fetch_array($query)) {  

echo "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$zoekdata[auteur]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
echo "<td><a href=\"log.php?id=$zoekdata[id]\" target=\"_top\">$zoekdata[titel]</a></td>\n";
}

echo "<tr><td colspan=2><br><br>&nbsp;<img src=images/arrow.gif align=absmiddle>&nbsp;&nbsp;&nbsp;<a href=http://localhost/stephan/zoeken2.php>opnieuw zoeken</a></td>\n";
 
}
}
else {
?>

<br>
<table border="0">
<tr>
<td>
&nbsp;
</td>
<td>
Trefwoord:
</td>
<td>
Zoeken in:
</td>
<td>
&nbsp;
</td>
</tr>

<tr>
<td valign="top">
<img src="images/lupa1.gif">
</td>
<td valign="top">
<form name="formulier" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $PHP_SELF; ?>
" method="post">
<input type="text" name="trefwoord">
&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
<select name="zoekcat">
<option value="auteur">Auteur&nbsp;&nbsp;</option>
<option value="titel">Titel&nbsp;&nbsp;</option>
<option value="bericht">Bericht&nbsp;&nbsp;</option>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td>
<input type="submit" name="submit" value="Zoeken">
</form>
</td>
</tr>
</table>








Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? } ?>

</body>
</html>


Heb hem zelf aangepast.
Zeer makkelijk script. Voor vragen ff pm'en

Het volgende moet je nog even doen:
$database = "weblog";
in: $database = "links";

Verander: ORDER BY id in wat je wilt.
Gewijzigd op 01/01/1970 01:00:00 door stephan de vries
 



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.