Zoekresultaat verwijzen met link

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Anita

anita

04/12/2006 23:56:00
Quote Anchor link
Ik ben compleet nieuw met alles wat met databases en SQL te maken heeft. En ik ben met trial and error dingen aan het uitzoeken. Nu heb ik een zoekfunctie gevonden die ik ga aanpassen.

Wat ik dus wil is dat men via de zoekfunctie de resultaten kan aanklikken. Zeg maar dat er gezocht is op Sinterklaas en dat word netjes als resultaat neergezet en die word aangeklikt en gaat men naar de info over Sinterklaas.

Misschien een beetje vaag, maar ik hoop dat iemand me toch een beetje in de juiste richting kan duwen!


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
<?
//This is only displayed if they have submitted the form
if ($searching =="yes")
{

echo "<h2>Results</h2><p>";

//If they did not enter a search term we give them an error
if ($find == "")
{

echo "<p>You forgot to enter a search term";
exit;
}


// Otherwise we connect to our Database
mysql_connect("mysql.yourhost.com", "user_name", "password") or die(mysql_error());
mysql_select_db("database_name") or die(mysql_error());

// We preform a bit of filtering
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);

//Now we search for our search term, in the field the user specified
$data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'");

//And we display the results
while($result = mysql_fetch_array( $data ))
{

echo $result['fname'];
echo " ";
echo $result['lname'];
echo "<br>";
echo $result['info'];
echo "<br>";
echo "<br>";
}


//This counts the number or results - and if there wasn't any it gives them a little message explaining that
$anymatches=mysql_num_rows($data);
if ($anymatches == 0)
{

echo "Sorry, but we can not find an entry to match your query<br><br>";
}


//And we remind them what they searched for
echo "<b>Searched For:</b> " .$find;
}

?>
 
PHP hulp

PHP hulp

19/11/2024 06:33:55
 
Terence Hersbach

Terence Hersbach

05/12/2006 00:05:00
Quote Anchor link
we helpen je.. we maken niet.. dus alleen als je er niet uitkomt en je hebt laten zien dat je zelf wat geprobeerd hebt, helpen we.

(we zijn geen ik-wil-dit-dus-maak-het site)
 
Anita

anita

05/12/2006 10:48:00
Quote Anchor link
Dat is ook niet mijn bedoeling dat het compleet inelkaar gezet word. Waar ik op vast zit dat ik niet weet hoe ik van een van de resultaten een link kan maken (constructie). Resultaat naar een specifiek record laten verwijzen.
 
Arjan Kapteijn

Arjan Kapteijn

05/12/2006 10:54:00
Quote Anchor link
Het forum wat ik geschreven heb zat kwa zoekfunctie wel leuk in elkaar. Iedere post had een eigenlijk topicid & postid, door een 'a name' en een #$postid kwam je altijd in het juiste topic en op de juiste plek terecht.
 
Anita

anita

25/12/2006 01:40:00
Quote Anchor link
Mijn zoekfunctievraag is inmiddels opgelost, maar ik stuit op een nieuw probleem.

Ik heb meerdere tabellen waarvan twee HondenKlein en HondenGroot zijn.

Als ik het volgende laat uitvoeren:

$query = "SELECT * FROM HondenKlein
WHERE Soort=\"{$_POST['ras']}\" ORDER BY Naam ASC ";

krijg ik netjes m'n gegevens. Nu wil ik vanuit tabel HondenKlein en HondenGroot de gegevens hebben die voldoen aan ['ras'].

Maar wat ik ook probeer hij blijft alleen in HondenKlein "kijken". Wat moet ik aan de query veranderen... ik weet het ff niet meer.
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

25/12/2006 01:46:00
Quote Anchor link
@anita:
Je database model is waarschijnlijk verkeerd.
Maak er eens 1 tabel van, genaamd honden, met als velden (bijv.):

naam
soort
klein

Nu kun je in klein een 1 neerzetten als de hond tot de kleine rassen behoort, en anders zet je er een 0 in. Nu kun je zoeken in alle kleine honden (WHERE klein = 1), in alle grote honden(WHERE klein = 0) en in alle 2!
Edit:

Volledige query voor het zoeken in groot en klein word dan dus:
"SELECT * FROM honden WHERE soort = '".$_POST['ras']."' ORDER BY naam ASC"

Alleen in klein:
"SELECT * FROM honden WHERE soort = '".$_POST['ras']."' AND klein = 1 ORDER BY naam ASC"

Alleen in groot:
"SELECT * FROM honden WHERE soort = '".$_POST['ras']."' AND klein = 0 ORDER BY naam ASC"

p.s. Hou de velden en tabel namen a.u.b. in kleine letters, en doe de sql-statements (bijv. SELECT, WHERE, AND, OR, FROM) in hoofdletters, dat is wel zo overzichtelijk.
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
Anita

anita

26/12/2006 01:30:00
Quote Anchor link
@ Andries... Dankje. Ik heb het toch helemaal anders gedaan en met een union ben ik eruit eindelijk uitgekomen :) ... waar je je al niet mee bezig kunt houden op 'n eerste kerstdag!
 



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.