Zoekfunctie geeft verkeerde resultaten weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

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 »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van IT Operations Manager! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

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

06/05/2024 06:34:29
 
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.