Aktív témák
-
Brown ügynök
senior tag
Ha ilyen sok feltételt kell vizsgálni egy lekérdezéskor, akkor érdemes úgy megírni a programot, hogy az állítsa össze a lekérdezést. Például, ha az apartmanokat keressük, készpénzes, bankkártyás fizetéssel:
$query = " select apartman from szallas ";
if ($kp != '')
{
$query .= " where kp = 1 ";
}
if ($cc != '')
{
$query .= " and cc = 1 ";
}Az automatikus keresést pedig AJAX technológiával, javascript nyelven lehet megoldani. Legjobb egy javascript keretrendszerrel, pl.: jQuery
-
Sk8erPeter
nagyúr
Az a baj, hogy már maga az adatbázis struktúrája rossz ebben a formában. Úgy kellene, hogy itt azonosítókat kapcsolsz össze, ami kiadja egy szállodaentitás tulajdonságait.
Az összes tulajdonsághoz tartozna egy azonosító (pl. magához az ellátás típusához is tartozik egy számszerű azonosító (pl. 666)), és a tulajdonságok konkrét értékeihez is tartozna azonosító (pl. a reggeli típusa 1, a félpanzió 2, a teljes ellátás 3, stb.), stringekkel ilyen esetben nem nagyon érdemes dolgozni, vagy legfeljebb egyetlen táblában legyen, amit összekapcsolsz az összes többivel, hogy megtudd, melyik tulajdonságról van szó - pl. nyilván a tulajdonságnak (ellátás) van egy neve is, ezt egy külön táblában jelezni kell; de van a tulajdonságokhoz tartozó értékeknek (reggeli, stb.) is neve, de ezek legyenek elkülönítve. Aztán INNER JOIN-olod őket...
Bocs, de most kissé késő van, ha holnap lesz energiám, ennél egy kicsit bővebben is kifejtem... Ez nagyjából ahhoz hasonlóan működik, mint egy társkereső, ott is vannak paraméterek, amik szerint keresget az ember mondjuk partnereket, nekem kellett hasonlóval dolgoznom már adatbázisszinten, na ott a fenti elképzelés szerint csináltam, elég összetett lett, de nagyon jól szűrhető, és elég konzekvens, de ami leginkább előnye, hogy könnyen bővíthető újabb paraméterekkel a meglévő struktúra megborítása nélkül.
Gondolom ez most így csak bonyolult fostengernek tűnik így elsőre, de annyira nem is az, majd megpróbálom jobban kifejteni, ha érdekel. -
SektorFlop
aktív tag
nekem is van ehez hasonló helyzet, kiolvasom az egész táblát és csak azt íratom ki ami megfelel egy bizonyos feltételnek, remélem jól értelmeztem a dolgot és tudok segíteni.
ahogy írtad kimented a változókba az értékeket:
$apartman, $vendeghaz, $hotel, $reggeli, $felpanzio, $teljesellatas
$szallasok= mysql_query("SELECT * FROM szallasok");
while($sor=mysql_fetch_array($szallasok)){
//kiolvasol minden adatatot az adatbázisból amire szükségedvan
pl ha van olyan rekord a szálások táblában hogy tipus, akkor:
$tipus=$sor['tipus'];//ha vendégházakat akarod kiíratni, akkor itt egy példa:
if($tipus==$vendeghaz){elvileg csak azokat a házakat fogja listázni aminek a tipusa megegyezik a $vendeghaz értékével.
}
}remélem tudtam segíteni és érthető amit írtam, de ha nem írd le táblád rekordjait meg hogy is nézz ki igazából, úgy többet tudok segíteni
Aktív témák
Hirdetés
- ÚJ HP EliteBook 840 G8 - 14"FHD IPS - i5-1145G7 - 32GB - 512GB SSD - Win10 PRO - Garancia
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Surface Laptop 4 i7-1185G7 16GB 512GB magyarbill 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest