Zoeken / funktie
Ik wil graag een zoek fuktie hebben waarbij ik in alle kolommen kan zoeken.
Op de volgende link: http://www.radiobood.nl/rep1.php, dit om een idee te krijgen van hoe of wat.
Het invul gedeelte heb ik, de data er boven zou ge vonden moeten worden, Dus zoeken op Chassis, geeft als resutaat allse van dit chassis, merk klacht en oplossing.
Ik ben een echte beginner, graag je uitleg hoe aan te pakken, iedeen e.d.
Ik zal het geen wat ik heb hier onder een kopie zetten.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?
$a = Gerard;
$b = van;
$c = Lierop;
$aantal = 11;
print("Welkom ". $a ." ". $b ." " . $c ."...!");
print("<br><br>");
//------------------------------
//----------------------------------------------------------
$tabel = "Reparatie";
$Merk = "Sony";
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$sql = "SELECT * FROM ".$tabel." WHERE Merk = '".$Merk."'"; // $Merk kan waarschijnlijk ook uit meerdere woorden bestaan dus er moeten aanhalingstekens omheen
$result = @mysql_query($sql,$db) or Die(mysql_error()); //gegevens in variabele plaatsen
$aantal = mysql_num_rows($result); //aantal producten in tabel
$field = mysql_num_fields($result); //aantal velden in tabel
//----------------------------------------------------------------------------------------------------------------
if($aantal != '0')
{
print("<table>");
for($i = 0; $i < $aantal; $i++)
{
if($tbl = mysql_fetch_array($result, MYSQL_ASSOC)) //alle producten weergeven
{
print("<tr>");
print("<td width = \"20\"></td>");
for($n = 1; $n < $field; $n++) // Alle resterende invulvelden van de tabel weergeven.
{
$veldnaam = mysql_field_name($result, $n); // Om veldnamen uit de tabel te halen.
print("<tr><td width = \"20\"></td><td>");
$veldnm = str_replace("_", " ", ucwords(strtolower($veldnaam)));
print("<font size=\"2\">".$veldnm.": </font>"); // 2 Staat voor groote letter op het scherm
print("</td><td>");
print("<font size=\"2\">".$tbl[$veldnaam]."</font>"); // Ingevulde waarde weergeven alvoor deze naar db worden verstuurd.);
print ("</td></tr>");
}
}
}
}
print("</table>");
mysql_close($db);
?>
$a = Gerard;
$b = van;
$c = Lierop;
$aantal = 11;
print("Welkom ". $a ." ". $b ." " . $c ."...!");
print("<br><br>");
//------------------------------
//----------------------------------------------------------
$tabel = "Reparatie";
$Merk = "Sony";
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$sql = "SELECT * FROM ".$tabel." WHERE Merk = '".$Merk."'"; // $Merk kan waarschijnlijk ook uit meerdere woorden bestaan dus er moeten aanhalingstekens omheen
$result = @mysql_query($sql,$db) or Die(mysql_error()); //gegevens in variabele plaatsen
$aantal = mysql_num_rows($result); //aantal producten in tabel
$field = mysql_num_fields($result); //aantal velden in tabel
//----------------------------------------------------------------------------------------------------------------
if($aantal != '0')
{
print("<table>");
for($i = 0; $i < $aantal; $i++)
{
if($tbl = mysql_fetch_array($result, MYSQL_ASSOC)) //alle producten weergeven
{
print("<tr>");
print("<td width = \"20\"></td>");
for($n = 1; $n < $field; $n++) // Alle resterende invulvelden van de tabel weergeven.
{
$veldnaam = mysql_field_name($result, $n); // Om veldnamen uit de tabel te halen.
print("<tr><td width = \"20\"></td><td>");
$veldnm = str_replace("_", " ", ucwords(strtolower($veldnaam)));
print("<font size=\"2\">".$veldnm.": </font>"); // 2 Staat voor groote letter op het scherm
print("</td><td>");
print("<font size=\"2\">".$tbl[$veldnaam]."</font>"); // Ingevulde waarde weergeven alvoor deze naar db worden verstuurd.);
print ("</td></tr>");
}
}
}
}
print("</table>");
mysql_close($db);
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
if(isset($_POST['submit']))
{
$zoeknaar = $_POST['zoeknaar'];
$zoekquery = mysql_query("SELECT * FROM Merk WHERE (Merk LIKE '%$zoekwoord%') ORDER BY Merk ASC");
$resultaat = mysql_num_rows($zoekquery);
if(!$resultaat)
{
echo "Niks gevonden!";
}
else
{
while($obj = mysql_fetch_array($zoekquery))
{
echo $obj[Merk] ."<br />";
}
}
}
else
{
?>
if(isset($_POST['submit']))
{
$zoeknaar = $_POST['zoeknaar'];
$zoekquery = mysql_query("SELECT * FROM Merk WHERE (Merk LIKE '%$zoekwoord%') ORDER BY Merk ASC");
$resultaat = mysql_num_rows($zoekquery);
if(!$resultaat)
{
echo "Niks gevonden!";
}
else
{
while($obj = mysql_fetch_array($zoekquery))
{
echo $obj[Merk] ."<br />";
}
}
}
else
{
?>
<form method="post">
Zoek in de database:<br />
<input type="text" name="zoeknaar" value="zoekwoord" /><br />
<input type="submit" name="submit" value="Zoek!" />
</form>
</body>
</html>
Gr. Gerard
Je wilt de velden van het ID erbij hebben?
Moet natuurlijk zijn: je wilt de velden die bij de gevonden waarde hoort?
Zou je me het een en ander uit willen en kunnen leggen, hoe ik dit aan pak??
De velden van het ID zijn niet belangrijk, hier op zoeken is dus niet noodzakelijk.
Gr. Gerard
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$sql = "SELECT * FROM tabel WHERE veld_naam = '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
$sql = "SELECT * FROM tabel WHERE veld_naam = '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
staan ook tutjes op deze site over zoeken.. zoek op zoeken ;-)
Waar voeg ik dit stukje toe, of moet ik iets weg halen?
tutjes, wat is dit, ik ben nieuw op deze site?
Gr
tip meld je aan hoef je je email enz..... niet steeds in te vullen.
A:
zoek formulier gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
echo "<HTML>\n
<HEAD><TITLE>Zoeken</TITLE></HEAD>
<BODY>
<p><b>Zoek in de database:</b></p>
<p>
<FORM METHOD=\"POST\" ACTION=\"zoek.php\">
Zoekterm:<br>
<input type=\"text\" name=\"zoekterm\" size=\"30\"><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</p>
</BODY>
</HTML>";
?>
echo "<HTML>\n
<HEAD><TITLE>Zoeken</TITLE></HEAD>
<BODY>
<p><b>Zoek in de database:</b></p>
<p>
<FORM METHOD=\"POST\" ACTION=\"zoek.php\">
Zoekterm:<br>
<input type=\"text\" name=\"zoekterm\" size=\"30\"><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</p>
</BODY>
</HTML>";
?>
Hier vul ik dus het zoek woord in, bv Sony.
B:
Het volgende script:
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
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("reparatie", @mysql_connect("localhost", "test", "test")))
{
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 reparatie 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>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>";
}
?>
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("reparatie", @mysql_connect("localhost", "test", "test")))
{
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 reparatie 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>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>";
}
?>
Resultaat: zie: http://www.radiobood.nl/zoek form.php
Ik denk dat ik op de goede weg ben maar het lijkt er nog niet helemaal op.
De database heet: reparatie
Dit is nu het resultaat: Er kan geen database connectie gemaakt worden.
Graag hulp.