Zoekfunctie geeft verkeerde resultaten weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

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 »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

Bekijk vacature »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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 »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

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

05/01/2025 00:07:34
 
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.