Dobrý den,
ve filtrech tkví problém následující: Mohu zvolit, že chci ženy, anebo muže, avšak i obě pohlaví! Lze se vyhnout v PHP obrovskému větvení, kteréžto bude testovat každý prvek WHERE - zda ho tam dávat či nikoliv? Tedy nějak připravit PDO, aby stačilo zavolat execute s polem hodnot... Koukal jsem, asi by šlo udělat OR pro každou část filtru - tedy v SQL prvně otestovat zda je testovaná hodnota null a pak zda sloupec skýtá této hodnoty. Tím mi však SQL string nakyne do neuvěřitelných hodnot. Funguje to, ovšem vskutku to nejde nějak jednodušeji?
Děkuji.
Fórum › MySQL
Jak správně postavit filtrování v PDO?
#3 Matěj Andrle
Smiř se s tím, že univerzální programy, skripty a SQL dotazy jsou dlouhé, nepraktické a plné chyb.
Myslím si, že klíčové slovo ANY nechceš použít http://dev.mysql.com/doc/refman/5.6/en/any-in-some-subqueries.html
#7 Kit
Nechápeš to. In je pole - pole do PDO dostanu jedině s otazníky... :ddd je pro asociativní pole s hodnotami. Hodnotou však nemůže být další pole - to jsem zkoušel včera. Funguje jen toto:
<?php
include "database.php";
$id = $_POST["id"];
$libraryManager = new DatabaseManager();
$statement = $libraryManager->pdoInstance->prepare("DELETE FROM `member` WHERE `id` IN (".str_repeat("?,", count($id) - 1)."?)");
if($statement->execute($id))
echo "Smazáno!";
else
{
$error = $libraryManager->pdoInstance->errorInfo();
echo $error[2];
}
?>
Kde $id je pole. Ale jak jsem psal - mám více filtrů => více polí...
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 5 hostů
Podobná vlákna
Jak postavit obrovský update? — založil Matěj Andrle
Jak postavit výjimku pro string? — založil Matěj Andrle
Jak postavit graficky složitější aplikaci? — založil BDS
Jak správně na namespace? — založil Homer
Jak správně vytvoření checkmenu? — založil MiCizek
Moderátoři diskuze