javascript - multiple explode and foreach, while searching a `input` value in txt file html/php/ajax -


Actaully मुझे txt फ़ाइल से इनपुट मान खोजना होगा , जब कुंजी डाउन इवेंट शुरू हो जाता है (इसका अर्थ है कि खोज फ़ंक्शन को alphabetically के रूप में होता है)। उस txt फ़ाइल में एकाधिक पंक्तियाँ और कुंजी है।

अब सबसे पहले मुझे उचित परिदृश्य के साथ पूरे परिदृश्य का वर्णन करें।

HTML कोड:

  & lt; इनपुट प्रकार = "टेक्स्ट" नाम = "खोज" /> & Lt; div & gt; & lt; / div & gt; $ (Document) .ready (function () {$ ('input')। Bind ('keydown', function () {setTimeout (खोज ($ (this) .val ()। ToLowerCase ()), 2000);} );}); फ़ंक्शन खोज (v) {$ .ajax ({url: 'search.php', प्रकार: 'प्राप्त करें', डेटा: 'sv =' + v, डेटाप्रकार: 'जेसन', कैश: गलत, सफलता: फ़ंक्शन (आर) {$ ('Div')। रिक्त (); के लिए (var i में r) {$ ('div')। अनुलग्नक (r [i] + ",");}}, त्रुटि: कार्य (a, b, C) {$ ('body')। अनुलग्नक (b + '& lt; hr / & gt;');}}); }   

पीएचपी कोड:

  // एडीडी डेटा को TXT फाईल $ file = "UL.txt"; अगर ((! File_exists ($ फ़ाइल)) || (0 == filesize ($ फ़ाइल))) {$ data = "$ name | $ email | ऑफ़लाइन"; } और {$ डेटा = "\ r \ n $ नाम | $ ईमेल | ऑफ़लाइन"; } $ Fp = fopen ("UL.txt", "a") या मर ("लिखने के लिए फ़ाइल नहीं खोला जा सका!"); Fwrite ($ fp, $ डेटा) या मर ("फ़ाइल में मूल्यों को नहीं लिखा जा सका!"); fclose ($ एफपी);   

`UL.txt '

  एबीसी डीफ। Ababc@def.com ओफ़लाइन गही जेकेएल.घी @ jkl.com। ऑफ़लाइन एमएनओ पीकटर | एमनो @ Pqr.com | ऑफ़लाइन Stu Vwxyz :stuv@wxyz.com। ऑफ़लाइन ....   

search.php :

 < कोड> हैडर ('सामग्री-प्रकार: आवेदन / जेसन'); $ खोज = सरणी (); यदि ($ _ सर्वर ["REQUEST_METHOD"] == "GET") {$ searchMe = $ _GET ['sv']; $ F = फ़ाइल ("UL.txt"); विदेशी मुद्रा ($ एफ $ $ 1 = & gt; $ v1) {$ d1 [$ k1] = विस्फोट ("|", $ v1); $ ईमेल [] = स्ट्रॉटलर (ट्रिम ($ d1 [$ k1] [1])); // $ d1 [$ k1] [1]; $ नाम [] = स्ट्रटोलॉयर (ट्रिम ($ d1 [$ k1] [0])); // $ d1 [$ k1] [0]; विदेशी मुद्रा ($ ईमेल $ $ 2 = & gt; $ v2) {if ($ v2 == $ searchMe) {$ search [] = $ v2; } और {$ खोज = 'कोई परिणाम नहीं'; }}}} गूंज json_encode ($ खोज);   

अब, यह कोड काम नहीं करता है $ v2 के बजाय $ search [] को नाम: ईमेल: स्थिति के बदले $ वापस करनी होगी

searchMe मिलान $ email या $ name , लेकिन मुझे नहीं पता कि यह कैसे करना है। इसका मतलब है कि शब्दों से शब्द का मिलान कैसे करें और कुंजी का उपयोग करके पूरे पंक्ति को $ search [] पर निर्दिष्ट करें।

धन्यवाद और amp; यदि आप विस्फोट स्ट्रिंग (नाम, और ईमेल) के बीच खोज करना चाहते हैं तो क्यों नहीं < Code> stripos () ?

नमूना कोड:

  & lt;? Php $ data = array (); $ return_value = array (); यदि ($ _ सर्वर ["REQUEST_METHOD"] == "GET") {$ सुई = स्ट्रॉोलॉयर (urlencode ($ _ GET ['sv'])); $ file_contents = फ़ाइल ('ul.txt'); प्रकार ($ file_contents); $ सीमा = स्ट्रेलन ($ सुई); विदेशी मुद्रा ($ file_contents $ key = & gt; $ haystack) {$ small_haystack = explode ('|', $ haystack); // नाम या ईमेल के लिए खोज $ remove_dot_com = str_replace ('। com', '', $ small_haystack [1]); // यदि (स्ट्रिप्स ($ छोटे_हाय स्टक [0], $ सुई) == गलत || स्ट्रॉप्स ($ हटाने_दोट_कॉम, $ सुई)! == गलत) {if ((substr (strtolower ($ small_haystack [0]), 0 , $ Range)) == $ सुई || (substr ($ remove_dot_com, 0, $ range)) == $ सुई {$ return_value [$ key] ['name'] = $ small_haystack [0]; $ रिटर्न_वल्यू [$ की] ['ईमेल'] = $ छोटे_हा स्टेंक [1]; $ रिटर्न_वल्यू [$ की] ['स्टेटस'] = $ छोटा_हा स्टेंक [2]; }} Echo json_encode ($ return_value); }? & Gt;   

और फिर बस html पर परिणाम जोड़ें:

  खोज: & lt; input type = "text" name = "search" id = "search_field" / & gt; & Lt; तालिका आईडी = "खोज_पदों" & gt; & lt; / तालिका & gt; $ ('# Search_field') कुंजीप (फ़ंक्शन (ई) {var search_value = $ (this) .val (); $। एएक्सएक्स ({url: 'results.php? Sv =' + एन्कोडुरिकोमोनेंट (खोज_मूल्य), प्रकार: 'जीईटी', डेटा टाइप: 'जेसन', सफलता: फ़ंक्शन (प्रतिक्रिया) {$ ('# सर्च_रेट्स') रिक्त (); $ .ईईसी (प्रतिक्रिया, फ़ंक्शन (अनुक्रमणिका, तत्व) {$ ('# search_results')। संलग्न करें ('& lt; tr & gt; & lt; td & gt;' + element.name + '-' + element.email + '-' + element.status + '& lt; / td & gt; & lt; / tr & gt;');});} });});    

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -