Zoekfunctie geeft verkeerde resultaten weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

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 »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

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

23/11/2024 14:33: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.