Jump to content
php.lv forumi

izvērstā meklēšana


ray

Recommended Posts

Man vajadzētu uztaisīt izvērsto meklēšanu, bet tā kā iepriekš ar neko tādu neesmu saskāries, tad man nav ne jausmas kā viņu taisa un kā ir ar tiem sql vaicājumiem un tukšajām formām. varbūt kāds ir ar to saskāries un var iedot kādu skriptu vai kko tml.

Link to comment
Share on other sites

parastu esmu taisījis, vnk izvērstajā meklēšanā ir iespēja atstāt laukus tukšus un man nav ne jausmas vai to maz ir iespējams salikt to visu vienā vaicājumā.

kkas līdzīgs kā gribu varētu būt TE, bet manā gadījumā būs daudz vairāk lauki.

Edited by ray
Link to comment
Share on other sites

varētu būt kkā šitā

SELECT * FROM `tabula` WHERE `vaards` LIKE %Janka% AND `uzvaards` LIKE %bēr% AND `adrese` LIKE %% AND `pilseeta` LIKE %%

 

% nozīmē ka tajā malā var būt vēl kkas piem meklējot %bēr% var iegū Mazbērziņš. Tukšīe %% neveiks atlasi nekam.

Link to comment
Share on other sites

varētu būt kkā šitā

SELECT * FROM `tabula` WHERE `vaards` LIKE %Janka% AND `uzvaards` LIKE %bēr% AND `adrese` LIKE %% AND `pilseeta` LIKE %%

 

% nozīmē ka tajā malā var būt vēl kkas piem meklējot %bēr% var iegū Mazbērziņš. Tukšīe %% neveiks atlasi nekam.

 

 

šāda doma man ienāca prātā, bet kas būs, ja piemēram lietotājs negribēs norādīt parametru pilseta un atstās to tukšu, tad man liekas, ka tiks atlasīti tie lauki, kur lauks pilseta būs tukšs, bet vajag tā, lai rezultāts būtu tāds it kā nebūtu vaicājumā `pilseeta` LIKE %%.

Edited by ray
Link to comment
Share on other sites

Esmu darījis šādi: (Nepārpaudīju tagad vai strādā)

 

<?php
// Attiiram datus (eskeipojam, izraveejam aizdomīgos simbolus)

$where = array();

if (!empty($_GET['city'])) {
$where[] = 'city LIKE "%'.$_GET['city'].'%"';
}

if (!empty($_GET['name'])) {
$where[] = 'city LIKE "%'.$_GET['name'].'%"';
}

if (!empty($_GET['phone'])) {
$where[] = 'city LIKE "%'.$_GET['phone'].'%"';
}

$sql = "
SELECT *
FROM `table`
WHERE ".implode(' AND ', $where)."
";
?>

Edited by andrisp
Link to comment
Share on other sites

ja pie implode nodzeesh AND, tad viss straadaa korekti!

 

edit:

Tagad jautaajums gudrajiem praatiem.

Kaa uztaisiit taa lai viena select lauka saturs buutu atkariigs no iepriekseejaa selectaa izveeleetaa.

Lai mazliet buutu skaidraaks:

 

Ja 1. selectaa atziimeets: ||| Kam jaaparaadas 2. selectaa:

 

AUDI ||| A4, A3, A6, 80, 100, 200, 90, A2

 

BMW ||| 316, 318, 320, 323, 325, 328, 330, 520, 523, 528, 530 utt

 

Ceru, ka domu saprataat. To kaut kaa ar php var izveikt vai jaanjem talkaa javascripts. Maybe kaads var pateikt peec kaadiem atsleegvaardiem sho te mekleet ieksh googles. Galiigi nezinu kaa pat sho probleemu noformuleet ieksh eng!

Edited by Agnisr
Link to comment
Share on other sites

Nu tip to vajag kameer veel submit nav nospiests pie lietotaaja mekleeshanas formas aizpildes.

Kad lietotaajs pirmajaa select`aa nospiezh piemeeram AUDI, tad otrajaa select`aa automaatiski izmainas dati un paraadas, piemeeram, A2, A3, A4, A5 nevis visu auto iespeejamie modelji! Cik saprotu, tad te talkaa jaanjem javascript, pats vinju galiigi nepaarzinu, tapeec googlee gribu atrast gatavu risinaajumu, bet nemaz nezinu peec kaada keyworda mekleet! Ceru, ka domu uztveeri, ko man iisti vajag.

 

Piemeers ir mobile.de , kad noklikskina uz noteiktas auto markas otrajaa selectaa paraadas attieciigie modelji.

Link to comment
Share on other sites

×
×
  • Create New...