Zoekfunctie geeft verkeerde resultaten weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

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 »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Applicatieontwikkelaar Java EE

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving De afdeling IV –

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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 »

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

14/05/2024 21:18:44
 
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.