meerdere zoekfuncties in database
nu heb ik de uitslagen van de shows in een database gestopt met phpmyadmin via de webserver met onderstaande code krijg ik ook netjes de gegevens in een tabel.
nu wil ik het zo maken dat men starks op diverse manieren de resultaten kan zien,
De resultaten van de hele show,
of resultaten per hond (over het hele jaar)
men moet dus een show kunnen kiezen en per jaar, of een hond per jaar.
ik heb al verschillende sites bekeken, maar kan geen geschikte zoekfunctie vinden.
wie kan mij helpen?
[paginacode]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Uitslagen</title>
</head>
<body>
Code (php)
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
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
<?php
// maak de verbinding
$db= mysql_connect( "host", "user", "password" );
//kies de database
mysql_select_db( "database", $db );
//maak de querie
$sql = 'SELECT * FROM `TABLE 1`';
//haal de gegevens op
$result = mysql_query( $sql, $db );
//toon de gegevens
echo "<table border=\"1\" align=\"center\">";
echo "<tr><th>Show</th>";
echo "<th>Jaar</th>";
echo "<th>Keurmeester</th>";
echo "<th>Klasse</th>";
echo "<th>Kleur</th>";
echo "<th>Hond</th>";
echo "<th>Eigenaar</th>";
echo "<th>Uitslag</th></tr>";
while( $row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo $row['Show'];
echo "</td><td>";
echo $row['Jaar'];
echo "</td><td>";
echo $row['Keurmeester'];
echo "</td><td>";
echo $row['Klasse'];
echo "</td><td>";
echo $row['Kleur'];
echo "</td><td>";
echo $row['Hond'];
echo "</td><td>";
echo $row['Eigenaar'];
echo "</td><td>";
echo $row['Uitslag'];
echo "</td></tr>";
}
echo "</table>";
?>
// maak de verbinding
$db= mysql_connect( "host", "user", "password" );
//kies de database
mysql_select_db( "database", $db );
//maak de querie
$sql = 'SELECT * FROM `TABLE 1`';
//haal de gegevens op
$result = mysql_query( $sql, $db );
//toon de gegevens
echo "<table border=\"1\" align=\"center\">";
echo "<tr><th>Show</th>";
echo "<th>Jaar</th>";
echo "<th>Keurmeester</th>";
echo "<th>Klasse</th>";
echo "<th>Kleur</th>";
echo "<th>Hond</th>";
echo "<th>Eigenaar</th>";
echo "<th>Uitslag</th></tr>";
while( $row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo $row['Show'];
echo "</td><td>";
echo $row['Jaar'];
echo "</td><td>";
echo $row['Keurmeester'];
echo "</td><td>";
echo $row['Klasse'];
echo "</td><td>";
echo $row['Kleur'];
echo "</td><td>";
echo $row['Hond'];
echo "</td><td>";
echo $row['Eigenaar'];
echo "</td><td>";
echo $row['Uitslag'];
echo "</td></tr>";
}
echo "</table>";
?>
</body>
</html>
Pascal Wetzels op 15/10/2012 14:54:07:
ik heb al verschillende sites bekeken, maar kan geen geschikte zoekfunctie vinden.
Zelf maken lijkt me de meest geschikte/eenvoudige oplossing.
Ten aanzien van de code die hierboven staat:
Waar controleer je of er verbinding is gemaakt met de database? En waar is de controle of er verbinding is gemaakt met de database?
Ik hoop dat `TABLE 1` niet de echte naam is. Ten eerste: geef een tabel een naam die logisch is. Daarnaast zou ik geen spatie in een tabel gebruiken. Ook het nummeren van tabellen is niet logisch. Heb je straks zelf nog enig idee wat er in TABLE 9 staat?
Selecteer de velden die je wilt in je query, geen *
De query mist foutafhandeling.
Gebruik bij de echo ' zodat je in HTML " kunt gebruiken. Scheelt je een heleboel keren \ (en dat vermindert kans op fouten en maakt het overzichtelijker).
Code (php)
1
2
3
4
2
3
4
<?php
$naamvandehond = 'Tarzan';
$sql = 'SELECT * FROM `TABLE 1` WHERE Hond='.$naamvandehond;
?>
$naamvandehond = 'Tarzan';
$sql = 'SELECT * FROM `TABLE 1` WHERE Hond='.$naamvandehond;
?>
Gewijzigd op 15/10/2012 17:38:17 door Frank Nietbelangrijk
verder heb ik nog eens nagedacht over de zoek functie, maar kan het misschien beter wijzigen naar een keuze menu, dat men in het 1e menu zegt, wat ze willen zien, een show uitslag of de uitslag van een bepaalde hond en daarna kunnen kiezen welke show / hond dat ze willen zien, deze gegevens wil ik dan weer uit de data base halen,
alleen zit ik bij de hond dat die er dus vaker in voor komt.
iemand een idee hoe ik zoiets moet opzetten?
als ik het klaar heb zal ik het script hier netjes posten zodat anderen het ook kunnen gebruiken
Maak een formulier met zo'n keuzeformulier. Afhankelijk van die keuze, laat je het 2e formulier zien.
Dit kan heel basic door bij het 1e formulier een verzendknop neer te zetten en dan de gegevens te verwerken en het tweede formulier te tonen of door bij het 1e formulier te werken met javascript (onchange) (of jquery) en aan de keuze automatisch het 2e formulier te tonen.
Mogelijk dat de zoekterm "chained select" je ook nog op ideeen brengt.
Ik heb nog wat research gedaan en kwam ook uit op jquery en chained select, ga daar vandaag eens naar kijken.
iedereen toch bedankt voor de hulp tot zover.