problemen met me zoek machine
heb me informatie van een ander topic daar heb ik de situatie ook duidelijk beschreven
zou iemand mij kunnen helpen http://www.phphulp.nl/php/forum/topic/in-databas-zoeken/75844/
alvast bedankt
gr jordy
29/01/2011 14:57:53.
Wat loopt er fout?
Indien er foutmeldingen zijn, copy/paste ze hier.
Dus, je grbruikt het script gepost op Wat loopt er fout?
Indien er foutmeldingen zijn, copy/paste ze hier.
Gewijzigd op 14/08/2013 10:44:05 door Kris Peeters
echot hij altijd" kan hier niet zoeken" dat wordt bepaalt door een else
Maar snap niet wat ik fout doe
topic al zei:
iets als zoeken.php (of hoe het bestand ook heet) zal niet direct werken.
Zoals ik in dat vorige (gekickte) Quote:
Hoe roep je het aan? Je moet wel een ?waar= argument meegeven in de URL, welke gebruikersnaam, ipadres of overal bevat.
iets als zoeken.php (of hoe het bestand ook heet) zal niet direct werken.
Gewijzigd op 14/08/2013 14:06:56 door - Ariën -
Een aantal lijnen code staan me niet aan. Er staat ook foute informatie in het commentaar.
Zijn de vereisten de zelfde?
Die code gaat over 1 zoekopdracht die gaat kijken in twee verschillende velden van 1 database tabel.
Afhankelijk van <select name="waar"> zoek je ofwel in het ene ofwel in het andere veld.
Ofwel wordt er in beide tegelijk gezocht.
Als je niet in verschillende velden moet zoeken, is de helft van de code overbodig
Gewijzigd op 14/08/2013 14:37:30 door Kris Peeters
Toevoeging op 14/08/2013 14:48:40:
Wordt de waar niet benoemt in regel 49 en 68 en 88 sorry als ik jullie overspoel met domme vragen maar php is echt nieuw voor me
Toevoeging op 14/08/2013 18:24:14:
Wordt de "waar" niet benoemt in regel 49 en 68 en 88 ?
Sorry als ik jullie overspoel met domme vragen maar php is echt nieuw voor me
Gewijzigd op 14/08/2013 15:39:34 door Jordy R
Die worden op die regels inderdaad benoemd.
De dokter vraagt "Wat is het probleem"
Mijn antwoord "Weet ik niet".
Dokter "Dan heb je inderdaad een probleem"
Of
Ik: "Het lukt niet"
Dokter: "Dan heb je een probleem"
Moraal:
Dit is een forum voor PHP, niet voor paranormaal begaafden.
Stel vragen duidelijk en geef duidelijk aan waarop je vastloopt en welke foutmelding je krijgt, in het algemeen krijg je dan veel sneller antwoord en is het probleem ook sneller opgelost.
Toevoeging op 14/08/2013 21:16:41:
dit is me scriptje
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
// De variabelen die je naar eigen belangen moet invullen
$db_user = 'unlimi1q_user'; // Gebruiker voor MySQL
$db_pass = '******'; // Wachtwoord voor MySQL
$db_host = 'localhost'; // Host voor MySQL; standaard localhost
$db_db = 'unlimi1q_webshop'; // Database
$tabel = 'Tblproducts'; // De tabel waarin gezocht moet worden
$eerste = 'name'; // De 1e rij in je tabel waain hij moet zoeken
$tweede = 'description'; // De 2e rij in je tabel waain hij moet zoeken
// Met onze database connecten
mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
mysql_select_db($db_db) or trigger_error(mysql_error());
// Onze functie voor het afkorten. Later meer.
function afkorten($var, $lengte) {
if (strlen($var) > $lengte) {
$var = substr($var, 0, $lengte-3)."...";
}
return $var;
}
// Als er een id is in de url de volledige tekst laten zien
if(isset($_GET['id']) and !empty($_GET['id']) and is_numeric($_GET['id'])){
// Resultaten ophalen
$result = mysql_query("SELECT * FROM ".$tabel." WHERE id=" . mysql_real_escape_string( $_GET['id'] ) . "");
// Checken of het tekst id wel bestaat
if (mysql_num_rows($result) >= 1) {
// De resultaten even in een $_ROW['']; stoppen
$row = mysql_fetch_assoc($result);
// Resultaten tonen
echo $row[''.$eerste.''];
echo '<br /><br />';
echo $row[''.$tweede.''];
}
else { // Als het tekst id niet bestaat:
echo 'Dit id bestaat niet!';
}
}
// Als er een zoekterm in de url staat en niet leeg is...
else if(isset($_GET['zoekterm']) and !empty($_GET['zoekterm'])){
if($_GET['waar'] == $eerste) // En de waar is 'titel'..
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$eerste." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // De goede query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
$tekst = $row[''.$tweede.''];
echo afkorten($tekst,25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
}
else if($_GET['waar'] == $tweede) // Of de waar is 'tekst'...
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$tweede." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // Een andere query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
$tekst = $row[''.$tweede.''];
echo afkorten($tekst,25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
}
else if($_GET['waar'] == 'overal') // En als de waar 'overal' is
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$eerste." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%' OR ".$tweede."
LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // Weer een andere query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
echo afkorten($row[''.$tweede.''],25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
} else {
echo 'Hier kan ik niet in zoeken!';
}
}
else { // Als er niks bruikbaars in de url staat:
// Ons zoekformuliertje laten zien
echo
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
// De variabelen die je naar eigen belangen moet invullen
$db_user = 'unlimi1q_user'; // Gebruiker voor MySQL
$db_pass = '******'; // Wachtwoord voor MySQL
$db_host = 'localhost'; // Host voor MySQL; standaard localhost
$db_db = 'unlimi1q_webshop'; // Database
$tabel = 'Tblproducts'; // De tabel waarin gezocht moet worden
$eerste = 'name'; // De 1e rij in je tabel waain hij moet zoeken
$tweede = 'description'; // De 2e rij in je tabel waain hij moet zoeken
// Met onze database connecten
mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
mysql_select_db($db_db) or trigger_error(mysql_error());
// Onze functie voor het afkorten. Later meer.
function afkorten($var, $lengte) {
if (strlen($var) > $lengte) {
$var = substr($var, 0, $lengte-3)."...";
}
return $var;
}
// Als er een id is in de url de volledige tekst laten zien
if(isset($_GET['id']) and !empty($_GET['id']) and is_numeric($_GET['id'])){
// Resultaten ophalen
$result = mysql_query("SELECT * FROM ".$tabel." WHERE id=" . mysql_real_escape_string( $_GET['id'] ) . "");
// Checken of het tekst id wel bestaat
if (mysql_num_rows($result) >= 1) {
// De resultaten even in een $_ROW['']; stoppen
$row = mysql_fetch_assoc($result);
// Resultaten tonen
echo $row[''.$eerste.''];
echo '<br /><br />';
echo $row[''.$tweede.''];
}
else { // Als het tekst id niet bestaat:
echo 'Dit id bestaat niet!';
}
}
// Als er een zoekterm in de url staat en niet leeg is...
else if(isset($_GET['zoekterm']) and !empty($_GET['zoekterm'])){
if($_GET['waar'] == $eerste) // En de waar is 'titel'..
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$eerste." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // De goede query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
$tekst = $row[''.$tweede.''];
echo afkorten($tekst,25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
}
else if($_GET['waar'] == $tweede) // Of de waar is 'tekst'...
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$tweede." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // Een andere query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
$tekst = $row[''.$tweede.''];
echo afkorten($tekst,25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
}
else if($_GET['waar'] == 'overal') // En als de waar 'overal' is
{
$sqlquery = "SELECT * FROM ".$tabel." WHERE ".$eerste." LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%' OR ".$tweede."
LIKE '%" . mysql_real_escape_string( $_GET['zoekterm'] ) . "%'"; // Weer een andere query uitvoeren
$results = mysql_query($sqlquery) or die(mysql_error());; // De goede resultaten ophalen
// Als er resultaten zijn:
if (mysql_num_rows($results) >= 1) {
while($row = mysql_fetch_assoc($results)) {
echo '<a href="?id='.$row['id'].'">'.$row[''.$eerste.''].'</a><br />'; // De titel als linkje met daarna de afgekorte tekst
echo afkorten($row[''.$tweede.''],25); // Onze functie aan roepen. De 25 staat voor 25 tekens
echo "<br /><br />"; // En dan ook maar een paar entertjes
}
}
else { // Als er geen resultaten zijn:
echo "Er zijn geen resultaten";
}
} else {
echo 'Hier kan ik niet in zoeken!';
}
}
else { // Als er niks bruikbaars in de url staat:
// Ons zoekformuliertje laten zien
echo
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
kunt hem werkend zien op www.unlimited-trading.nl/search.php
maakt niet uit wat ik ingeef hij geeft altijd "hier kan ik niet zoeken" Dat wordt bepaalt door de else maar wat is de voorwaarde waar ik niet aan voldoe ?
alvast bedankt
bedankt Aar
Niet zo heel lastig. In je formulier, bij de rest.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
// Ons zoekformuliertje laten zien
echo
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<input type="hidden" name="waar" value="overal" />
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
echo
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<input type="hidden" name="waar" value="overal" />
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
werkt perfect heel erg bedankt allemaal toppertje bedankt voor jullie geduld
zou ik niet gebruiken --> schijnt onveilig te zijn.
Wat is het nut van value met lege waarde?
Wat is het nut van value met lege waarde?
Edit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
echo
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<select name="waar">
<option>name</option>
<option>description</option>
<option>overal</option>
</select>
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
'<form action="'.$_SERVER['PHP_SELF'].'"method="get">
<input id="keyword" class="txt_field" title="keyword" name="zoekterm" value=" " type="text" onfocus="clearText(this)" onblur="clearText(this)" />
<select name="waar">
<option>name</option>
<option>description</option>
<option>overal</option>
</select>
<input id="searchbutton" class="sub_btn" title="Search" name="Search" alt="Search" value="" type="submit" /></form>';
}
?>
Met een selectbox issie weer functioneel denkik
(kan iemand me hier vertellen hoe ik syntax highlighting aan de praat krijg :( ? )
Gewijzigd op 14/08/2013 21:56:35 door Erik van Beek
<?php beginnen en eindigen met ?>
Kijk maar:
Quote mijn bericht maar voor de werking.
Gewijzigd op 14/08/2013 22:11:22 door Eddy E