Bepaalde klanten ophalen op basis van aanvrager gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Furio Scripting

Furio Scripting

22/12/2015 15:33:37
Quote Anchor link
Goedemiddag Forumleden,

Ik ben bezig met een offerte website waar een consument offertes kan ontvangen van bedrijven in een straal van 20 km op basis van de latitude en longitude.

De consument heeft tijdens het aanvragen de optie om 3 checkboxes te selecteren:

Garantie,
Leentoestel,
Klaar terwijl u wacht service.

De code om de klanten op te halen binnen 20 km heb ik al en werkt perfect maar om enkel de klanten te selecteren die aan de aanvraag eisen voldoen heb ik meer moeite mee. Ik hoop dat ik dit rechtstreeks in de sql query kan doen, alle kolommen die bovenstaand genoemd zijn staan in dezelfde tabel "klanten".

Dit is de code voor enkel de klanten in 20 km straal op te halen ,ik wil graag ook de opties erin verwerken:

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
<?php
$tableName
= "klanten";
            $origLat = $sLatitude;
            $origLon = $sLongitude;
            $dist = 20 ; // This is the maximum distance (in miles) away from $origLat, $origLon in which to search
            $query = "SELECT *, 6371 * 2 *
                      ASIN(SQRT( POWER(SIN(($origLat - abs(latitude))*pi()/180/2),2)
                      +COS($origLat*pi()/180 )*COS(abs(latitude)*pi()/180)
                      *POWER(SIN(($origLon-longitude)*pi()/180/2),2)))
                      as distance FROM $tableName WHERE
                      longitude between ($origLon-$dist/abs(cos(radians($origLat))*69))
                      and ($origLon+$dist/abs(cos(radians($origLat))*69))
                      and latitude between ($origLat-($dist/69))
                      and ($origLat+($dist/69))
                      having distance < $dist ORDER BY distance limit 100;"
;
            $result = $db->query($query);
            
            while ($rows = mysqli_fetch_assoc($result))
            {

            
            // Hier binnen zijn de dichtsbijzijnde bedrijven in 20 km straal.
}
?>
Gewijzigd op 22/12/2015 15:34:46 door Furio Scripting
 
PHP hulp

PHP hulp

23/12/2024 20:36:51
 
Obelix Idefix

Obelix Idefix

22/12/2015 15:52:51
Quote Anchor link
Je kunt toch controleren of 1 of meer checkboxen zijn aangevinkt?
Op basis daarvan bouw je de query op met where.
 
Furio Scripting

Furio Scripting

22/12/2015 15:58:30
Quote Anchor link
Obelix en Idefix op 22/12/2015 15:52:51:
Je kunt toch controleren of 1 of meer checkboxen zijn aangevinkt?
Op basis daarvan bouw je de query op met where.


Ja ik heb via if elses of een 0 of een 1.

Dus if checkbox "garantie" == aangevinkt
{
$garantie = 1;
}

Dan zou ik in de query kunnen zeggen WHERE garantie = 1 maar waar voeg ik die in bij de huidige query, ik krijg steeds sql errors dus ik zal hem wel niet op de juiste plek zetten?
 
- Ariën  -
Beheerder

- Ariën -

22/12/2015 16:06:41
Quote Anchor link
wat doe je dan precies?
 
Obelix Idefix

Obelix Idefix

22/12/2015 16:21:09
Quote Anchor link
Wat voor errors?

Query bouw je op in delen. Je huidige query zul je moeten opsplitsen.
 
Furio Scripting

Furio Scripting

23/12/2015 15:03:27
Quote Anchor link
Het is gelukt en was dus heel simpel achter de WHERE kon ik zetten AND garantie = "'.$iGarantie.'".... ANd leentoestel = "'.$ileentoestel.'" etc..
 



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.