Toon posts:

[php/mysql] Query probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Okay ik heb een erg leuk probleem! Ik heb het volgende:
code:
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
      if ($provincieId=="0")
    {
    $provincieId = "1";
    }
        
        
    if ($plaats != "")
    {
    $plaatsZoekStr = "AND hotels.h_plaats LIKE '%$plaats%'";
    }
    if ($sterren != "0")
    {
    $sterrenZoekStr = "AND hotels.h_sterren = '$sterren'";
    }
    if ($hotel != "0")
    {
    $hotelZoekStr = "AND hotels.h_naam = '$hotel'";
    }
    
    if ($orderby == "naam")
    {
    $orderByStr = "ORDER BY hotels.h_naam DESC";
    }
    if ($orderby == "omschrijving")
    {
    $orderByStr = "ORDER BY arrangementen.a_naam DESC";
    }
    if ($orderby == "sterren")
    {
    $orderByStr = "ORDER BY hotels.h_sterren DESC";
    }

en verder
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query = "SELECT *, arrangementen.id AS arId
          FROM arrangementen, hotels
              WHERE hotels.provincie_id = $provincieId
              $plaatsZoekStr
              $sterrenZoekStr
              $hotelZoekStr
              AND arrangementen.hotel_id = hotels.id
              $orderByStr
              LIMIT $pos, $searchLimit;";
              


    $result = mysql_query($query);
        print mysql_error(); //print error
        
    if(($row = mysql_fetch_array($result)) != "0"){
            
        while ($row = mysql_fetch_array($result))
        { blah blah blah .... }

Nou wil ik ook op alle provincies kunnen zoeken maar dat werkt dus niet.

Hoe kan ik ervoor zorgen dat
code:
1
WHERE hotels.provincie_id = $provincieId

iets van
code:
1
WHERE hotels.provincie_id = 1,2,3,4,5,6,7,8,9,10

wordt?

Ik weet niet of die een beetje duidelijk is. Ik hoop van wel. Oh ja normaal gesproken stuur ik dus een provincieId mee, bv 1. Maar als ik 0 mee stuur moet hij op alle provincieId's zoeken. :?

Alvast bedankt!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
in

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
code:
1
2
3
4
5
6
7
8
if($getal == 0)
{
    $query .= "WHERE 1";
}
else
{
    $query .= "WHERE hotels.provincie_id = ".$getal;
}

Zoiets :?

edit: In tweede WHERE 'hotels.provincie_id = ' vergeten...

Verwijderd

Topicstarter
huh? in? :?:?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
where provincie in (1,2,3)

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Ik ga ervanuit dat je $ProvincieID uit een webformpje krijgt ofzo en dat het een Array is als er meerder waarden zijn geselekteerd..
code:
1
2
3
4
5
6
7
If ($ProvincieID != 0) {
    $ProvincieID = join("," $ProvincieID);
} else {
    $ProvincieID = 1;
}

$deel_query = "WHERE hotels.provincie_id  IN ($ProvincieID)";

SIZE does matter.
"You're go at throttle up!"


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Ej, join();

da's handig :) Ik helemaal zelf functies voor bouwen |:(

Verwijderd

Topicstarter
heel erg top! het werkt. ik krijg nu de volgende query:
code:
1
2
3
4
5
SELECT *, arrangementen.id FROM arrangementen,
hotels WHERE hotels.provincie_id IN (1,2,3,4,5,6,7,8,9,10,11,12)
AND hotels.h_plaats LIKE '%dam%'
AND arrangementen.hotel_id = hotels.id
LIMIT 0, 20;

*D

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Op woensdag 20 februari 2002 23:11 postte PinoPolio een wel erg op zijn icon gelijkende smiley:
*D
:D

SIZE does matter.
"You're go at throttle up!"


  • Postman
  • Registratie: Februari 2000
  • Laatst online: 01:25
Op woensdag 20 februari 2002 23:08 schreef Nielsz het volgende:
Ej, join();

da's handig :) Ik helemaal zelf functies voor bouwen |:(
Daar hebben ze nu documentatie voor uitgevonden. En nog helemaal gratis ook :P (http://www.mysql.com/doc)
Of koop het boek 'Database Systems' van Thomas Connolly en Carolyn Begg (ISBN: 0201342871, ik heb de Second Edition). Dan leer je meteen iets over databases in het algemeen. Staan ook 2 hoofdstukken in die alleen SQL behandelen. Oh ja, boek is 1000 pagina's dik ;)

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09

Skinny

DIRECT!

Op woensdag 20 februari 2002 23:55 schreef FlamerX het volgende:

[..]

Daar hebben ze nu documentatie voor uitgevonden. En nog helemaal gratis ook :P (http://www.mysql.com/doc)
Jammer dat ik hier de PHP funktie join() bedoelde >:)

SIZE does matter.
"You're go at throttle up!"


  • Postman
  • Registratie: Februari 2000
  • Laatst online: 01:25
Op woensdag 20 februari 2002 23:57 schreef Skinny het volgende:

[..]

Jammer dat ik hier de PHP funktie join() bedoelde >:)
Daar hebben ze ook een documentatie van >:)

Verwijderd

Topicstarter
Op donderdag 21 februari 2002 00:02 schreef FlamerX het volgende:

[..]

Daar hebben ze ook een documentatie van >:)
Er bestaat overal documentatie voor.. dus waarom zou dit forum dan nog bestaan?? Als we zo beginnen zijn alle vragen overbodig..

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 01:25
Op donderdag 21 februari 2002 13:37 schreef PinoPolio het volgende:

[..]

Er bestaat overal documentatie voor.. dus waarom zou dit forum dan nog bestaan?? Als we zo beginnen zijn alle vragen overbodig..
Foutje, ok?
Pagina: 1