Hogyan lehetne tovább szűrni?
Van egy kereső inputom,amin az első öt mező kitöltése kötelező,kerület az ötödik,működik is a rendszer ha csak azokat jelölöm be,de ha bejelölök további paramétereket akkor már vannak hibák az eredményben.Mi lehet a megoldás hogy a további szűrés is jól működjön?
Mellékelem a fotót: [link]
Alapok hiányoznak, amiket nem tanultál meg. Ollózással nem leszel jó programozó.
Hogy miért nem segítek? Mert a logikára neked kell rá jönni. Ha nem megy, akkor keress más hobbit. Én iterálással oldanám meg a kérdést.
Egyszerűen egyszerűbb és átláthatóbb lesz a kódod, ha nincs sok egymásbaágyazott bármi. Például nem azt rakod ifbe, ami valószínűleg megtörténik és arra megy tovább a gondolkodásod (arra van írva a több kód), hanem amikor hiba van, amikor nincs a submit elküldve, akkor írja ki a hibát.
- E helyett...
if($_POST["submit"]){
//Az egész kódod
}
else{
//ERROR
header("Location: form.html");
}
...így érdemes:
if(!_POST["submit"] || $_POST["submit"] != "Beküldés"){
//ERROR
header("Location: form.php?hiba=nosubmit");
}
// és ilyenkor a hibakódokat átadod és ott aszerint ki tudod írni, hogy mit rontott el a user. Így több hiakódot is lehet írni, például, ha ez egy egyszerű bejelentkezés lenne, akkor így nézne ki a hiba kezelése:
feldolgozo.php:
<?php
if(!$_POST["submit"] || $_POST["submit"] != "Bejelentkezés"){
header("Location: form.php?error=url_request");
exit();
}
if(!isset($_POST["username"]) || !isset($_POST["password"])){
header("Location: form.php?error=no_passoword_or_username");
}
if($_POST["username"] != "admin" || $_POST["password"] != "1248163264"){
header("Location: form.php?error=invalid_username_or_password");
}
//Az oldal többi része..
Egyenlőre azt tudom csinálni hogy csak az első öt keresőmező lesz kint(ár min max,négyzetméter min max,és kerület)és azokat kötelező kitölteni.Így 100-ban működni fog a keresés.
Gondoltam erre a "ha nincs kitöltve" dologra én is,például ha nincs kitöltve a építési mód,állapot,kilátás,egyébjellemző akkor csak a fűtés opciók közül jelölhetett be valamit.csak itt kérdés hogy végig kell e játszani ezt minden eshetőségre vagy van e sokkal egyszerűbb eljárás.mert így lenne elég sok sql parancs.
A !isset jó mert paramétert vársz.
De elő állíthatod a nézetből, akár aliasokkal. Én utóbbit javaslom, hogy a táblák neve ne legyen egyértelmű.
Én előtte azért fel szoktam venni a keresésben előforduló inputokat, majd iterálással össze állítom a lekérdezést. Igazából ennyi, lehet picit most zavaros ha nem érted írj és újra fogalmazom. Sietek mert 1 óra múlva nagy dolgozat :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!