Zoekfunctie geeft verkeerde resultaten weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Pagina: 1 2 volgende »

Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 13:17:00
Quote Anchor link
Dag allemaal,

Ik heb op me site een zoekfunctie om in een database naar producten te zoeken. Nu ben ik bezig om ook op prijs te gaan zoeken. Dus bijv alle producten met prijzen van 200 tot 300 euro.

Nu heb ik het volgende daarvoor:

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
<?php
                        elseif($key == "prijsmin" || $key == "prijsmax")
                        {

                                if($key == "prijsmin")
                                {

                                        echo "Minimaal" . " : " . $value . "<br/>";
                                        array_push($querytest,"verhuurprijs >= '". $value ."'");
                                }

                                elseif($key == "prijsmax")
                                {

                                        echo "Maximaal" . " : " . $value . "<br/>";
                                        array_push($querytest,"verhuurprijs <= '". $value ."'");
                                }
                        }

?>


Als code bovenin het document. En dan wat weergegeven wordt:

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
<?php
                <tr>
          <
td height="20">Prijs</td>
          <
td height="20" colspan="5"><table border="0" cellspacing="0" cellpadding="0">
            <
tr>
              <
td width="60">minimaal</td>
              <
td width="10">&nbsp;</td>
              <
td><input name="prijsmin" type="text" size="5"></td>
              <
td width="10">cm&nbsp;&nbsp;</td>
              <
td width="60">maximaal</td>
              <
td width="10">&nbsp;</td>
              <
td><input name="prijsmax" type="text" size="5">cm</td>
            <
/tr>
          <
/table></td>
        <
/tr>

      <
/table>?>




Maar als ik nu iets invoer om te zoeken in de DB en ik zoek tussen 100 en 350 dan komen er ook resultaten uit van 2250 en 1300. Oftewel niet de juiste resultaten.Het vreemde is dat bovenstaande code in een iets andere vorm wel werkt voor het zoeken op producten met een bepaalde afmeting. De getallen staan gewoon als getallen in de DB dus niet met tekens erbij.

Iemand enig idee hoe het kan dat het niet werkt?
 
PHP hulp

PHP hulp

19/05/2024 07:49:58
 
M Ypma

M Ypma

13/06/2007 13:30:00
Quote Anchor link
ja maar welk type hebben die velden in je database? int toch?
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 13:31:00
Quote Anchor link
Jup, de type velden zijn int.
verhuurprijs int(100) Ja NULL
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries
 
M Ypma

M Ypma

13/06/2007 13:38:00
Quote Anchor link
vervang je elseif eens door if... anders zoekt hij maar met 1 van de 2 voorwaarden
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 13:40:00
Quote Anchor link
Nee, dat werkt ook niet helaas.
 
Jurgen assaasas

Jurgen assaasas

13/06/2007 13:41:00
Quote Anchor link
Wat is je query?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$q
= "SELECT veld FROM tabel WHERE prijs >=".$maxprijs." AND prijs <=".$minprijs." ";

?>


Ik weet niet of dit werkt maar ergens in die richting.
 
M Ypma

M Ypma

13/06/2007 13:42:00
Quote Anchor link
ah! je hebt een var $key en $value waarin de prijsmin OF prijsmax zit... nooit allebei dus... dus er wordt altijd maar met 1 statement gezocht... dat is je probleem:)
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 13:44:00
Quote Anchor link
Ahaa en hoe kan je dat dan precies oplossen denk je?

Dit staat er trouwens boven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$eind
= count($zoekenop);
        $querytest = array();
        echo "U zocht op :<br/>";
        for($i = 0;$i < $eind ; $i++)
        {

                foreach ($zoekenop[$i] as $key => $value)
                {

?>



Hoe denk jij dat het dan precies moet?
 
Frank -

Frank -

13/06/2007 13:55:00
Quote Anchor link
Zoeken doe je met een query die de juiste WHERE-voorwaardes bevat. Ik snap niet waarom je met een array aan de slag gaat en wat de foreach in de code doet.

Ik zou de query uitvoeren, fetchen en vervolgens de resultaten op het scherm zetten. Veel meer stelt het niet voor.
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 13:59:00
Quote Anchor link
Frank zou je me een voorbeeld kunnen geven hoe jij het neer zou zetten dan? Ik ben redelijk handig met PHP en code aanpassen etc lukt me vaak nog wel. Maar bovenstaand uitvoeren..pff dat gaat me net me pet te boven.
 
Frank -

Frank -

13/06/2007 14:05:00
Quote Anchor link
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
<?php
$query
= "SELECT * FROM tabelnaam WHERE prijs > 100 AND prijs < 200";
$result = mysql_query($query);

if($result){ // query is gelukt

  if(mysql_num_rows() > 0){ // er zijn resultaten, fetchen en echoen:
    while($row = mysql_fetch_assoc($result)){
      // echo de resultaten
    }
  }

  else {
    echo 'Geen resultaten gevonden';
  }

}

else {
  echo 'Query mislukt.';
  echo mysql_error();
}

?>

Het is slechts een voorbeeldje, het kan nog veel beter. Ga bv. met PDO aan de slag en maak een hele duidelijke scheiding tussen logica, database en output. Dat staat nu lukraak doorelkaar, typisch beginners-voorbeeld dus.
 
Bluecherry

bluecherry

13/06/2007 16:04:00
Quote Anchor link
Waarom quote je hier?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php array_push($querytest,"verhuurprijs >= '". $value ."'"); ?>


Wat je hiermee zegt is vergelijk (int)verhuurprijs >= (str)$value, kans is dus groot dat je DBM deze vergelijk vertaalt naar (str)verhuurprijs >= (str)$value wat onverwachte resultaten oplevert..

Dit is juist:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php array_push($querytest,"verhuurprijs >= {$value}"); ?>


@Frank, op jou manier kan je dus niet filteren op enkel groter dan of kleiner dan... de manier van robert-jan is niet ideaal maar laat dit wel toe

Een 'vuile' uitwerking:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$query
= "SELECT * FROM <sometable>";
$strSep = "WHERE";
foreach($querytest as $test) {
    $query .= " {$strSep} {$test}";
    $strSep = "AND";
}

?>

Resultaat no foreach loop:
1. >= AND <= : $query="SELECT * FROM <sometable> WHERE verhuurprijs >= <value> AND verhuurprijs <= <value>"
2. Geen van beide: $query="SELECT * FROM <sometable>"
3. >=: $query="SELECT * FROM <sometable> WHERE verhuurprijs >= <value>"
4. <=: idem (maar <= ipv >=)
Gewijzigd op 01/01/1970 01:00:00 door bluecherry
 
Jurgen assaasas

Jurgen assaasas

13/06/2007 16:07:00
Quote Anchor link
bluecherry schreef op 13.06.2007 16:04:
Waarom quote je hier?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php array_push($querytest,"verhuurprijs >= '". $value ."'"); ?>


Wat je hiermee zegt is vergelijk (int)verhuurprijs >= (str)$value, kans is dus groot dat je DBM deze vergelijk vertaalt naar (str)verhuurprijs >= (str)$value wat onverwachte resultaten oplevert..

Dit is juist:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php array_push($querytest,"verhuurprijs >= {$value}"); ?>


@Frank, op jou manier kan je dus niet filteren op enkel groter dan of kleiner dan... de manier van robert-jan is niet ideaal maar laat dit wel toe


bijna goed.. variabelen buiten quotes!
 
Bluecherry

bluecherry

13/06/2007 16:14:00
Quote Anchor link
@Jurgen, aaargh :D. Geef mij 1 (één) goede reden waarom je dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $strTest = "blablabla".$bla."blablabla".$blablabla."blbla"; ?>

boven dit verkiest:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $strTest = "blablabla{$bla}blablabla{$blablabla}blbla"; ?>


En liefst geen subjectieve reden ~ 'het ziet er gewoon mooier uit :-*'

Er wordt op dit forum gedaan alsof het heiligschennis is om vars binnen de quotes te houden... ik zou die heilige geschriften dan wel eens willen bekijken? :D
 
Jurgen assaasas

Jurgen assaasas

13/06/2007 16:18:00
Quote Anchor link
Het is sneller dan binnen quotes. Lees de tutorial "Laadtijd beperken" maar eens. Het scheelt misschien geen hele seconden maar op een website die erg groot is met veel gebruikers wil je natuurlijk zoveel mogelijk winst pakken.

En ja, ik vind het er ook mooier uitzien(ik programmeer in Notepad++).
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 16:22:00
Quote Anchor link
Bovenstaande werkte ook niet. Dit is de volledige code even. Misschien dat de fout ergens anders zit..

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<?<?php
if(isset($_GET["zoeken"]))
{

        $con = new verbinding();
        $con->connectDB();


        // array maken voor alle criteria
        $zoekenop = Array();

        // elke ingevoerde criteria checken op spaties etc
        foreach ($_POST as $key => $value)
        {

                   $_POST[$key] = trim($value);
                   $_POST[$key] = addslashes($value);


                   // elke ingevoerde waarde aan de array toevoegen
                   if(!empty($_POST[$key]))
                {

                        // velden fix
                        if($key == "thema" || $key == "stijl" || $key == "techniek" || $key == "ondergrond" || $key == "koop_verhuur" || $key == "kunstenaar")
                        {

                                if($key == "stijl" || $key == "ondergrond" || $key == "koop_verhuur" || $key == "kunstenaar")
                                {

                                        if($value != "nvt")
                                        {

                                                $test = array($key => $value);
                                                array_push($zoekenop,$test);
                                        }
                                }

                                elseif($key == "thema")
                                {

                                        if($value == "nvt")
                                        {

                                                if(!empty($_POST["thema2"]))
                                                {

                                                        $test = array($key => $_POST["thema2"]);
                                                        array_push($zoekenop,$test);
                                                }
                                        }

                                        else
                                        {
                                                if(empty($_POST["thema2"]))
                                                {

                                                        $test = array($key => $value);
                                                        array_push($zoekenop,$test);
                                                }
                                        }
                                }

                                elseif($key == "techniek")
                                {

                                        if($value == "nvt")
                                        {

                                                if(!empty($_POST["techniek2"]))
                                                {

                                                        $test = array($key => $_POST["techniek2"]);
                                                        array_push($zoekenop,$test);
                                                }
                                        }

                                        else
                                        {
                                                if(empty($_POST["techniek2"]))
                                                {

                                                        $test = array($key => $value);
                                                        array_push($zoekenop,$test);
                                                }
                                        }
                                }
                        }

                        // einde velden fix
                        else
                        {
                                if($key != "Submit" && $key != "thema2" && $key != "techniek2")
                                {

                                        $test = array($key => $value);
                                        array_push($zoekenop,$test);
                                }
                        }
                }
        }


        // TERING wat een denkwerk..


        $eind = count($zoekenop);
        $querytest = array();
        echo "U zocht op :<br/>";
        for($i = 0;$i < $eind ; $i++)
        {

                foreach ($zoekenop[$i] as $key => $value)
                {

                        // hack voor min & max hoogte
                        if($key == "hoogtemin" || $key == "hoogtemax")
                        {

                                if($key == "hoogtemin")
                                {

                                        echo "Minimale Hoogte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_hoogte >= '". $value ."'");
                                }

                                elseif($key == "hoogtemax")
                                {

                                        echo "Maximale hoogte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_hoogte <= '". $value ."'");
                                }
                        }

                        // hack voor min & max breedte
                        elseif($key == "breedtemin" || $key == "breedtemax")
                        {

                                if($key == "breedtemin")
                                {

                                        echo "Minimale breedte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_breedte >= '". $value ."'");
                                }

                                elseif($key == "breedtemax")
                                {

                                        echo "Maximale breedte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_breedte <= '". $value ."'");
                                }
                        }

                        // hack voor min & max diepte
                        elseif($key == "dieptemin" || $key == "dieptemax")
                        {

                                if($key == "dieptemin")
                                {

                                        echo "Minimale diepte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_diepte >= '". $value ."'");
                                }

                                elseif($key == "dieptemax")
                                {

                                        echo "Maximale diepte" . " : " . $value . "<br/>";
                                        array_push($querytest,"afmeting_diepte <= '". $value ."'");
                                }
                        }

                          elseif($key == "prijsmin" || $key == "prijsmax")
                          {

                                  if($key == "prijsmin")
                                  {

                                          echo "Minimaal" . " : " . $value . "<br/>";
                                          array_push($querytest,"verhuurprijs >= {$value}");
                                  }

                                  if($key == "prijsmax")
                                  {

                                          echo "Maximaal" . " : " . $value . "<br/>";
                                          array_push($querytest,"verhuurprijs >= {$value}");
                                  }
                          }

                        else
                        {
                                // anders gewoon verder met criteria
                                // opdelen na eerste letter

                                $eerste = substr($key,0,1);
                                $rest = substr($key,1);
                                echo strtoupper($eerste). $rest . " : " . $value . "<br/>";
                                   array_push($querytest,$key ." LIKE '%". $value ."%'");
                        }
                }
        }


        array_push($querytest,"actief='1'");

        // van de array een zoek query($qry) maken met
        // $qry = "SELECT * FROM producten WHERE titel LIKE '%" . $_POST["titel"] . "%' AND kunstenaar LIKE '%" . $_POST["kunstenaar"] . "%'";

        // Query zetten

        $qry = "SELECT * FROM producten";
        if(count($querytest) > 0)
        {

                $qry .= " WHERE ";
                $test = implode(" AND ",$querytest);
                $qry .= $test;
                // echo "<br/>Query : " . $qry . "<br/><br/>";
        }

        // RESULT SET hier zo
        $sql = mysql_query($qry);
        if(mysql_num_rows($sql) > 0)
        {

                if($qry != "SELECT * FROM producten")
                {

                        echo "<h3>Resultaten</h3>";
                        echo "<table border=1 cellpadding=3 cellspacing=3 style='border-collapse:collapse'>";
                        echo "<tr><th>&nbsp;</th><th>Titel</th><th>Kunstenaar</th><th>Techniek</th></tr>";
                        while($data = mysql_fetch_array($sql))
                        {

                                echo "<tr>";
                                echo "<td>";
                                $fotonaam = $data["kunstenaar_id"] . "_" . $data["id"] . "_1";

                                $exts = array("jpeg","jpg","gif","png","bmp");

                                foreach($exts as $ext)
                                {

                                        if(file_exists("img/thumbs/".$fotonaam.".".$ext))
                                        {

                                                echo "<a href='index.php?page=product&id=".$data["id"]."'>";
                                                echo "<img style='border:1px solid #000000' src='img/thumbs/$fotonaam.$ext'></a>";
                                        }
                                }

                                echo "</td>";
                                echo "<td><a href='index.php?page=product&id=" . $data["id"] . "'>" .  $data["titel"] . "</a></td>";
                                echo "<td>" . $data["kunstenaar"] . "</td>";
                                echo "<td>" . $data["techniek"] . "</td>";
                                //echo "<td>" . $data["stijl"] . "</td>";
                                //echo "<td>" . $data["thema"] . "</td>";
                                //echo "<td>" . $data["ondergrond"] . "</td>";

                                echo "</tr>";
                        }

                        echo "</table>";
                }

                else
                {
                        echo "U heeft geen zoekcriteria ingevuld! <a href='index.php?page=zoekproduct'>Terug</a>";
                }
        }

        else
        {
                echo "<br/>Helaas heeft uw zoekopdracht geen resultaten opgeleverd. U kunt <a href='javascript:history.go(-1)'>hier</a> klikken om uw zoekopdracht aan te passen ";
        }
}

else
{
?>
?>
 
Bluecherry

bluecherry

13/06/2007 16:58:00
Quote Anchor link
@jurgen
Je hebt helaas gelijk ivm snelheid (kon het niet laten ff getest op assign/echo/print, http://blue-dns.com/phphulp/test-var-in-string.php). Maar zelfs bij 100.000 maal is het verschil maar +/-0.025 ms, bij 1000 (mag je al een groot project hebben) amper 0.00025ms ... mierenneukerij dus :D.

Maar goed, ik geef ridderlijk mijn fout toe...

@robert-jan, /edit: schaam-op-mij, sry commentaar sloeg bij nader inzien op niets :s
Gewijzigd op 01/01/1970 01:00:00 door bluecherry
 
Bluecherry

bluecherry

13/06/2007 17:48:00
Quote Anchor link
Ik weet niet of ik nu iets fundamenteel heb opgelost maar ik had 5 min-tjes niets te doen en heb je code ff herschreven: http://pastebin.be/2694

Edit:

Dit is de correct url: http://pastebin.be/2696


Ok, miss waren het een paar min-tjes meer :)
Gewijzigd op 01/01/1970 01:00:00 door bluecherry
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 18:06:00
Quote Anchor link
Hey bluecherry,

Bedankt voor het herschrijven! Alleen bij het zoeken staat er nu steeds u zocht op titel:

Terwijl ik daar dan niet op zoek. Ook het zoeken op afmetingen werkt niet meer nu. Het zoeken op prijs werkt ook nog niet goed. Maar bedankt voor de moeite die je hebt genomen!
 
Bluecherry

bluecherry

13/06/2007 18:43:00
Quote Anchor link
Idd, beetje te snel geweest :s.

http://pastebin.be/2700

* lege velden worden genegeerd (verklaard 'titel')
* de $criteriaMapping array heeft nu de juiste waarden (verklaard fout in zoeken)

Verder zou het nu moeten werken.

/ps: als je later criteria wil toevoegen:
- die gefixed moeten worden: naam van het veld toevoegen aan $fixCriteria
- die een aangepaste behandeling vereisen (!= $key LIKE %$value%): toevoegen aan de $criteriaMapping array naar analogie met de bestaande entries
Gewijzigd op 01/01/1970 01:00:00 door bluecherry
 
Robert-Jan De Vries

Robert-Jan De Vries

13/06/2007 18:54:00
Quote Anchor link
Hey bluecherry,

Het weergeven van titel is inderdaad weg nu. Alleen waar ik ook op zoek ik krijg altijd dezelfde resultaten. Dus er zit ergens iets niet helemaal goed volgens mij.

Als ik op kunstenaar zoek dan geeft hij niet aan dat ik op kunstenaar heb gezocht en geeft hij alle resultaten weer.

Is dit correct?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?
<form name="zoekform" action="/test/index.php?page=zoekproduct&zoeken" method="POST">?>



Het rare is trouwens dat zoals ik het script eerst had het zoeken op min en max hoogte, breedte en diepte wel gewoon werkt. Dat script zou toch precies zo te gebruiken moeten zijn voor de prijs. Type voor hoogte etc staat op varchar(10) en NULL nee, verhuurprijs staat NULL op ja. Maar dat kan het niet zijn toch?

In eerste instantie dacht ik dus gewoon dezelfde code te kunnen gebruiken voor min en max prijs net als min en max breedte. Vaag dat dat niet kan dan toch
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries
 

Pagina: 1 2 volgende »



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.