problemen met me zoek machine

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jordy R

Jordy R

14/08/2013 10:39:56
Quote Anchor link
ik heb problemen met me zoekfuntie en kom er echt niet uit
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
 
PHP hulp

PHP hulp

20/11/2024 13:39:02
 
Kris Peeters

Kris Peeters

14/08/2013 10:43:17
Quote Anchor link
Dus, je grbruikt het script gepost op 29/01/2011 14:57:53.

Wat loopt er fout?
Indien er foutmeldingen zijn, copy/paste ze hier.
Gewijzigd op 14/08/2013 10:44:05 door Kris Peeters
 
Jordy R

Jordy R

14/08/2013 14:02:37
Quote Anchor link
Het script loopt goed zonder foutmeldingen alleen
echot hij altijd" kan hier niet zoeken" dat wordt bepaalt door een else
Maar snap niet wat ik fout doe
 
- Ariën  -
Beheerder

- Ariën -

14/08/2013 14:06:22
Quote Anchor link
Zoals ik in dat vorige (gekickte) topic al zei:

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 -
 
Kris Peeters

Kris Peeters

14/08/2013 14:17:02
Quote Anchor link
Ik heb zo het gevoel dat we beter from scratch beginnen.
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
 
Jordy R

Jordy R

14/08/2013 14:17:03
Quote Anchor link
Probeer het even uit te vogelen lukt het niet dan kom ik er op terug alvast bedankt

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
 
- Ariën  -
Beheerder

- Ariën -

14/08/2013 19:58:10
Quote Anchor link
Die worden op die regels inderdaad benoemd.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/08/2013 20:20:39
Quote Anchor link
Stel, ik ga naar de dokter en ik zeg "Ik heb een probleem".
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.
 
Jordy R

Jordy R

14/08/2013 21:03:59
Quote Anchor link
Zal proberen duidelijker te zijn sorry

Toevoeging op 14/08/2013 21:16:41:

dit is me scriptje

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
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>'
;  
}

?>

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
 
- Ariën  -
Beheerder

- Ariën -

14/08/2013 21:17:06
Quote Anchor link
Dat is al uitgelegd, want dit werkt wel.
M.a.w. Er mist een input voor je waar
Gewijzigd op 14/08/2013 21:18:57 door - Ariën -
 
Jordy R

Jordy R

14/08/2013 21:29:34
Quote Anchor link
dankje zie nu inderdaad het probleem nu even puzzelen waar ik die input moet schrijven

bedankt Aar
 
- Ariën  -
Beheerder

- Ariën -

14/08/2013 21:31:21
Quote Anchor link
Niet zo heel lastig. In je formulier, bij de rest.
 
Erik van Beek

Erik van Beek

14/08/2013 21:37:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';  
}
?>

 
Jordy R

Jordy R

14/08/2013 21:40:14
Quote Anchor link
werkt perfect heel erg bedankt allemaal toppertje bedankt voor jullie geduld
 
Obelix Idefix

Obelix Idefix

14/08/2013 21:45:07
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SERVER['PHP_SELF']
zou ik niet gebruiken --> schijnt onveilig te zijn.
Wat is het nut van value met lege waarde?
 
Erik van Beek

Erik van Beek

14/08/2013 21:48:33
Quote Anchor link
Je zoekt nu altijd in overal doordat er een vaste waarde in je formulier staat. In principe kan je regel 47 t/m 85 nu verwijderen uit je script, en de else if op regel 86 veranderen in if.

Edit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';  
}
?>



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
 
Eddy E

Eddy E

14/08/2013 22:10:43
Quote Anchor link
Gewoon met

<?php beginnen en eindigen met ?>

Kijk maar:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'gelukt';
?>


Quote mijn bericht maar voor de werking.
Gewijzigd op 14/08/2013 22:11:22 door Eddy E
 



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.