Hogyan érdemes megcsinálni PHP-ban?
Van egy weboldal, ami mondjuk kilistázza egymás alá az adatbázisban szereplő összes gépjárművet. Viszont az lenne a feladat, hogy lehessen szűrni is, tehát az oldal tetején lenne egy <select> és benne felsorolva az összes autómárkával, majd ha például a felhasználó kiválasztja a Fordot és mellette a gombra kattint, akkor a lista váltson át úgy hogy csak a Fordokat listázza ki.
Én így oldottam volna meg, de nem működik:
if(isset($_GET['marka'])){->SQL parancs ami a kiválasztott autómárkára szűr}
else{->SQL parancs ami az összes autómárkára szűr}
De ez nem működik.
Valakinek esetleg egyszerű ötlete PHP-val, esetleg JS?
Én JS kereséssel oldottam ezt meg egy táblára, ahol a tábla bármelyik oszlopára érvényes a keresés.
A keresőmező a tábla elé:
echo "Keresés a következőre: <input type='search' class='light-table-filter' data-table='customers' placeholder='Keresés'><br>";
És a JS script a végére.
(function(document) {
'use strict';
var LightTableFilter = (function(Arr) {
var _input;
function _onInputEvent(e) {
_input = e.target;
var tables = document.getElementsByClassName(_input.getAttribute('data-table'));
Arr.forEach.call(tables, function(table) {
Arr.forEach.call(table.tBodies, function(tbody) {
Arr.forEach.call(tbody.rows, _filter);
});
});
}
function _filter(row) {
var text = row.textContent.toLowerCase(), val = _input.value.toLowerCase();
row.style.display = text.indexOf(val) === -1 ? 'none' : 'table-row';
}
return {
init: function() {
var inputs = document.getElementsByClassName('light-table-filter');
Arr.forEach.call(inputs, function(input) {
input.oninput = _onInputEvent;
});
}
};
})(Array.prototype);
document.addEventListener('readystatechange', function() {
if (document.readyState === 'complete') {
LightTableFilter.init();
}
});
})(document);
Persze, lehet, hogy van ennél jobb megoldás, de így gépelés közben már szűr és nem kell újratölteni az oldalt.
"Én így oldottam volna meg, de nem működik:"
Látni kellene a teljes kódot. Így nem tudhatjuk, hogy mi nem működik.
Több kérdés felmerül:
1. miért url paramétereket használsz?
2. miért plain sql-t akarsz írni?
3. miért php-ban akarsz megírni egy ilyen interakciót?
#5
1. Mert még most tanulja a Php-t, és mert listázó végpontot GET-el dívik megírni.
2. Mert még most tanulja a Php-t
3. Miért ne? Oh, és amúgy még most tanulja a Php-t
Hasznos választ rittyentettél ide, nem mondom.
6- a válaszod teljesen felesleges és haszontalan volt. Három értelmes kérdést tettem fel, amire te személyeskedve, kötekedve válaszoltál.
1. Miért url paraméter? Miért nem egyyszerűen csak egy ajax post hívás?
2. Mi köze a php-nak a plain sql-hez?
3. Ezt kérdezem én is. Miért? Miért nem írod le a szakmai véleményed?
Nagyon meg tudok lepődni azon, hogy teljesen egyértelmű, szakmai kérdésekből képesek egyesek személyeskedő válaszokat írni, és megsértődni.
Három, a kérdés szempontjából irreleváns kérdést tettél fel.
Továbbá az, hogy kritizálom a válaszod létjogosultságát nem személyeskedés. Üss fel egy szótárat. A "sértődés" feltételezéséről nem is beszélve.
1. Mert még most tanulja a Php-t, és mindenki így kezdi.
2. Az, hogy Php-ban írod meg a kódot hozzá?
3. Megismétlem: Miért ne?
Ezen az oldalon egyetlen feltétellel van létjogosultsága kérdést feltenni a válaszban: Ha az a kérdés megválaszolását segíti. A te kérdéseid miben is segítik a kérdés megválaszolását?
Nyolcas válaszoló:
Tehát a kérdésre, miszerint miért használ GET paramétereket, helyette miért nem olyan irányba tereljük ami jobb, erre az a válaszod, hogy most tanulja. Értem, tehát tanuljon hülyeségeket.
Miért írnál php-ban sql-t 2021-ben? Nem írunk backenden sql kódot, lehet ez még divat volt 5 évvel ezelőtt, ma már ilyet nem csinálunk. ORM-et használunk, és efelé érdemes tanulni. Ha sql-t akarsz gyakorolni, akkor specifikusan sql feladatokat csinálsz.
3. tehát nincs értelmes válaszod, nem tudod megindokolni, hogy miért ezt az elavult megoldást használja.
Nincs több kérdésem, egy újabb balf*sz általános iskolai rendszergazda vagy, aki itt éli ki magát.
Persze, használjon rögtön ORM-et, amikor valószínűleg még azt sem tudja, mi az az OOP. :D
Teljesen igaza van a #6-osnak.
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!