Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Úprava javascriptu ve vyhledávači

jarin001
verified
rating uzivatele
(37 hodnocení)
16. 11. 2009 21:09:57
Mohl byste mi prosím někdo pomoci. Mám na webu jednoduché a rozšířené vyhledávání, obojí používá soubor jQuery.search.js
Kód :
//
// ads titles to search fields
//
//(function(){
$(document).ready(function()
{
$(".defaultText").focus(function(srcc)
{
if ($(this).val() == $(this).title)
{
$(this).removeClass("defaultTextActive");
$(this).val("");
}
});
$(".defaultText").blur(function()
{
if ($(this).val() == "")
{
$(this).addClass("defaultTextActive");
$(this).val($(this).title);
}
});
$(".defaultText").blur();
$("#search").submit(function()
{
var allInputs = $(":input");
var no=allInputs.length;
for(var i=0; i
if (allInputs.title == allInputs.value) allInputs.value="";
}
});
});
Bohužel mi nevyhazuje správné výsledky pokud vyhledávám něco s diakritikou, dá se tento soubor nějak upravit ?
Vyzkoušejte zde http://www.ojeto.cz, kategorie s diakritikou nevadí, ty jsou v DB pod číslem ale kraje nejdou. Díky
16. 11. 2009 21:09:57
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404815
Mirek Komárek
verified
rating uzivatele
(1 hodnocení)
16. 11. 2009 21:25:37
Není třeba zkoumat ten script, výsledky to nedává i při vypnutém javascriptu a beztak voláš action search.php a nemáš tam na onsubmit return false, takže to neproběhne ani se zapnutým js, hledej chybu v serverovém scriptu
16. 11. 2009 21:25:37
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404814
jarin001
verified
rating uzivatele
(37 hodnocení)
16. 11. 2009 21:31:23
Napsal Fred;397746
Není třeba zkoumat ten script, výsledky to nedává i při vypnutém javascriptu a beztak voláš action search.php a nemáš tam na onsubmit return false, takže to neproběhne ani se zapnutým js, hledej chybu v serverovém scriptu
Můžeš to prosím upřesnit ? Když mi s tím pomůžeš tak se ti revanšuju.
16. 11. 2009 21:31:23
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404813
Mirek Komárek
verified
rating uzivatele
(1 hodnocení)
16. 11. 2009 21:41:43
No zkus si vypnout javascript a uvidíš, že výsledek bude stejný jako když ho mám zapnutý. Takže chyba není v js ale v kódování na serveru, nevím databáze, php prostě něco jiného. To return false ti chybí tady
16. 11. 2009 21:41:43
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404812
jarin001
verified
rating uzivatele
(37 hodnocení)
16. 11. 2009 21:47:37
Napsal Fred;397759
No zkus si vypnout javascript a uvidíš, že výsledek bude stejný jako když ho mám zapnutý. Takže chyba není v js ale v kódování na serveru, nevím databáze, php prostě něco jiného. To return false ti chybí tady
Do databáze jsem se díval, tam jsou všechny znaky správně, je to vidět i v adrese že opravdu hledá např. v ústeckém kraji.
Dá se upravit kódování třeba v serch.php ? Soubor samotný je v UTF-8 stejně jako web.
Kód :
require_once "include/include.php";
require_once "classes/packages.php";
require_once "classes/fields.php";
require_once "classes/pictures.php";
require_once "classes/depending_fields.php";
require_once "classes/paginator.php";
global $db;
$post_array = array("word" =>"", "category" =>"", "user_id"=>"", "price_low" =>"", "price_high" =>"", "currency" =>"", "order1" => "", "order2" => "", "with_pic" => "");
$order1_array = array("date_added", "price");
$order2_array = array("desc", "asc");
$page=1;
if(isset($_GET) && is_numeric($_GET) ) $page=$_GET;
if($_GET) {
$args = explode("&",$_SERVER);
foreach($args as $arg)
{
$keyval = explode("=",$arg);
switch($keyval) {
case "word":
case "category":
case "user_id":
case "price_low":
case "price_high":
case "currency":
if($_GET]) $post_array] = escape($keyval);
break;
case "order1":
if($_GET && in_array($_GET,$order1_array)) $post_array = $_GET;
break;
case "order2":
if($_GET && in_array($_GET,$order2_array)) $post_array = $_GET;
break;
case "with_pic":
$post_array = escape($_GET);
break;
default:
$post_array] = escape($keyval);
break;
}
}
}
if($_POST) {
foreach($_POST as $key=>$val)
{
switch($key) {
case "search":
break;
case "word":
case "category":
case "user_id":
case "price_low":
case "price_high":
case "currency":
if($val) $post_array = escape($val);
break;
case "order1":
if($_POST && in_array($_POST,$order1_array)) $post_array = $_POST;
break;
case "order2":
if($_POST && in_array($_POST,$order2_array)) $post_array = $_POST;
break;
case "with_pic":
$post_array = checkbox_value('with_pic');
break;
default:
if($val) $post_array = escape($val);
break;
}
}
global $seo_settings;
$i=0;
$query = "";
foreach ($post_array as $key=>$value) {
if(!$value) continue;
if(!$i && $seo_settings) $sign="?"; else $sign="&";
$query.=$sign.$key."=".$value;
$i++;
}
global $config_live_site;
$url_str = $config_live_site;
if($seo_settings) $url_str.="/1/search.html".$query;
else $url_str.="/search.php?page=1".$query;
header("Location: $url_str");
}
global $lng;
$smarty = new Smarty;
$smarty = common($smarty);
$smarty->assign("lng",$lng);
global $appearance_settings;
$ads_per_page=$appearance_settings;
$listings=new listings();
if(!$page) $page=1;
$info='';
$listings_array=$listings->getAdvSearch($post_array, $page, $ads_per_page);
$no_listings = $listings->noListings();
$smarty->assign("listings_array",$listings_array);
$smarty->assign("no_listings",$no_listings);
$paginator = new paginator();
$paginator->setItemsNo($no_listings);
$paginator->paginate($smarty);
if($no_listings==1) $info=$lng;
else if($no_listings>1){
$info=$lng;
$info=eregi_replace ('::NO_ADS::',"$no_listings", $info);
}
$smarty->assign("info",$info);
$db->close();
if($db->error!='') { $db_error = $db->getError(); $smarty->assign('db_error',$db_error); }
$smarty->display('search.html');
close();
?>
16. 11. 2009 21:47:37
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404811
Mirek Komárek
verified
rating uzivatele
(1 hodnocení)
17. 11. 2009 20:25:09
hele já nejsem phpkář, ale řekl bych že problém bude s tím escape.
Live http header :
https://students.kiv.zcu.cz/doc/php5/manual/cs/function.urlencode.php.html
17. 11. 2009 20:25:09
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404810
jarin001
verified
rating uzivatele
(37 hodnocení)
17. 11. 2009 22:07:04
Napsal Fred;398423
hele já nejsem phpkář, ale řekl bych že problém bude s tím escape.
Live http header :
https://students.kiv.zcu.cz/doc/php5/manual/cs/function.urlencode.php.html
"escape" ma tuším co dělat s lomítkama, ale příklad vyhledávání který jsi popsal to asi neřeší, hledané slovo "škoda" nenajde ale "skoda" už jo.
---------- Doplňující příspěvek odeslán v 15:14 ----------
Napsal jarin001;398514
"escape" ma tuším co dělat s lomítkama, ale příklad vyhledávání který jsi popsal to asi neřeší, hledané slovo "škoda" nenajde ale "skoda" už jo.
Díky všem za pomoc, problém vyřešen díky uživateli "dureks"
Oprava :
search.php radek 19
$args = explode("&",$_SERVER);
prepsano na
$args = explode("&",urldecode($_SERVER));
17. 11. 2009 22:07:04
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404809
Mirek Komárek
verified
rating uzivatele
(1 hodnocení)
19. 11. 2009 17:42:50
jak říkám nejsem phpkář ;-)
19. 11. 2009 17:42:50
https://webtrh.cz/diskuse/uprava-javascriptu-ve-vyhledavaci-2/#reply404808
Pro odpověď se přihlašte.
Přihlásit