Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 11.07.2011 18:13

Chcel som si spravit vyhladavanie u seba na svojom blogu a napadlo ma to spravit za pomoci ajaxu, vid http://jan.fecik.sk/search.html a zaujimalo by ma ci je to dobre riesenie? Riesim to takto:

Kód:
<html>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<head>
<script type="text/javascript">
function showHint(str) {
  if (str.length==0) {
    document.getElementById("txtHint").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest) {
    xmlhttp=new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
  } else {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","search.php?query="+str,true);
  xmlhttp.send();
}
</script>
</head>
<body>

<form>
<input type="text" onkeyup="showHint(this.value)" size="20" />
</form>
<p><span id="txtHint"></span></p>

</body>
</html>


search.php
Kód:
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("databaza", $con);
mysql_query("SET CHARACTER SET utf8");
$query=mysql_real_escape_string($_GET["query"]);

if(strlen($query) >= 3) {
  $result = mysql_query("SELECT * FROM tabulka WHERE asdf LIKE '%$query%' ORDER BY id DESC");
  if(mysql_num_rows($result)==null) { echo 'nic'; } else {
    while($row = mysql_fetch_array($result)) {
      echo '<p>'.mysql_real_escape_string($row['asdf']).'<hr></p>';
    }
  }
} else { echo 'zadaj minimalne 3 znaky'; }
mysql_close($con);
?>


a zaujimalo by ma, ci je to dobre riesenie, ci tym znacne nevytazujem db server, ako by sa to chovalo ak tam bude stovka clankov a ci je to aj bezpecne riesnie...?







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 11.07.2011 18:38

vytazenie a bezpecnost - ako keby to bolo bez ajaxu.

ked vsak ide o vytazenie a pri xyz clankoch by to slo pomalsie, mozno by si tam mohol dorobit taku vec, ze sa http poziadavka vytvori az ked prestanes pisat, nie pri kazdom stlaceni kalvesy. teda dajme tomu, ze tam das timeout 400 ms po poslednom stlaceni, teda sa hladat zacne az ked napises cele slovo.

pri hladani slova "mysql" sa vytvori poziadavka iba raz, teraz sa vytvori 5 krat







_________________
Sorry za prelkepy
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 12.07.2011 7:09

dik to nie je zly napad to tak nejak dorobit :-) slo mi aj o to ze ci to nie je kravina mat takto spravene vyhladavanie a radsej spravit klasicke....







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 17.07.2011 23:09

Mam este taky mensi problem, v akomkolvek prehliadaci mimo ie ked dam vyhladavat nejaky retazec s diakritikou tak vyhladava, ale v ie mi vypise "nic nenaslo", nevedel by niekto v com by mohol byt problem?







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 18.07.2011 7:45

asi ti niekde bude chybat charset ale teda si pozri ake znaky ti ten IE posiela na ten script


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 18.07.2011 17:50

praveze charset mam nastaveny na utf-8 preto tomu nerozumiem ze preco to nefachci







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Čestný člen
Čestný člen
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 18.07.2011 18:13

Jano, vyskusaj metodu open() pouzit takto (aj keby to nefungovalo, nechaj na webe prosim tuto verziu, nech sa s tym mozem hrat takto):
Kód:
  xmlhttp.open("GET","search.php?query="+encodeURIComponent(str),true);

Mozes skusit v tom search.php spravit iba nasledovne:
Kód:
<?php
header('content-type: text/html; charset=utf-8');
echo $_GET['query'];
?>
a dat vediet, co pride v Exploreri naspat (ako xmlhttp.responseText) napriklad pri natukani slova "inštalácia"?


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyhladavanie v MySQL za pomoci AJAXu

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok Napísal autor témyOffline : 18.07.2011 18:34

jed sin tan pridal xmlhttp.open.... tak to zacalo fungovat :) thx







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. mysql-vyhladavanie

v Databázy

5

628

11.11.2011 15:55

GoodWill Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vyhladavanie v MYSQL

v PHP, ASP

10

895

23.10.2007 10:06

wotan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP - MySQL - vyhladavanie?

v PHP, ASP

5

882

20.03.2010 6:24

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vyhladavanie v MySQL

v PHP, ASP

6

519

29.08.2008 16:46

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Autoclicker za pomoci obrazkov

v Assembler, C, C++, Pascal, Java

2

561

23.07.2009 19:40

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Stisknutí klávesy pomocí programu

v Delphi, Visual Basic

1

569

26.06.2011 12:39

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. EXCEL - automatické zarovnanie (bez pomoci filtra)

v Ostatné programy

1

389

05.04.2011 22:51

jojom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spojit dva disky v jeden pomoci acronic disk suite

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Pevné disky a radiče

35

2142

24.05.2009 17:48

krolyno Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prosím pomôžte, troška ajaxu

v JavaScript, VBScript, Ajax

1

366

10.05.2009 14:49

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mistrovství v AJAXu (problem)

v JavaScript, VBScript, Ajax

1

516

11.09.2009 14:26

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. P: Mistrovství v ajaxu

v Predám

0

385

17.06.2011 14:33

sedlák Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mazanie súboru pomocou ajaxu

v JavaScript, VBScript, Ajax

2

639

11.09.2009 17:35

Unlink Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Formulár načítaný pomocou jQuery AJAXu

v JavaScript, VBScript, Ajax

2

400

01.06.2010 12:55

Draex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pisanie do textoveho pola pomocou ajaxu

v JavaScript, VBScript, Ajax

1

388

10.08.2009 10:57

awtt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Overovanie pola pomocou php a AJAXu

v JavaScript, VBScript, Ajax

24

1502

14.08.2009 8:40

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. formular cez jquery kniznicu pomocou ajaxu a diakritika

v JavaScript, VBScript, Ajax

2

712

25.02.2009 19:40

emer Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra