Dinamičko ažuriranje podataka

Dinamičko ažuriranje podataka

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Radim na jednoj web aplikaciji gde postoji jedna stranica, a sadržaj se dobija učitavanjem GET parametra, tačnije:

1. Korisnik upisuje termin
2. U XML fajlu se nalaze svi termini. U PHP fajlu se nalazi algoritam pretraživanja prema kom AJAX doprema informacije u realnom vremenu tj. dok korisnik kuca tekst.

PHP fajl:

<?php $xmlDoc=new DOMDocument(); $xmlDoc->load("linkovi.xml"); $x=$xmlDoc->getElementsByTagName('termin'); // dobijanje q parametra za URL $q=$_GET["q"]; // pregleda sve termine ako je unet parametar if (strlen($q)>0) {   $hint="";   for($i=0; $i<($x->length); $i++) {     $y=$x->item($i)->getElementsByTagName('naslov');     $z=$x->item($i)->getElementsByTagName('url');     if ($y->item(0)->nodeType==1) {       // pronađi link koji se poklapa sa unosom       if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) {         if ($hint=="") {           $hint="<a href='" .           $z->item(0)->childNodes->item(0)->nodeValue .           "' target='_blank'>" .           $y->item(0)->childNodes->item(0)->nodeValue . "</a>";         } else {           $hint=$hint . "<br /><a href='" .           $z->item(0)->childNodes->item(0)->nodeValue .           "' target='_blank'>" .           $y->item(0)->childNodes->item(0)->nodeValue . "</a>";         }       }     }   } } // šalje ispis "bez predloga" ako nije pronađeno nijedno poklapanje // ili šalje termine koji se poklapaju ako su pronađeni if ($hint=="") {   $odgovor="no suggestion"; } else {   $odgovor=$hint; } // slanje odgovora echo $odgovor; ?>

3. Izlaze rezultati dok korisnik kuca tekst u polje (slično kao na Google pretrazi) i korisnik bira termin koji želi.

E sada, imam jednu stranicu sablon.php koja predstavlja šablon za svaki termin. Hoću da se sadržaj te stranice ažurira u zavisnosti od unetog termina (npr. ako je termin web onda da izađe opis i reference za taj termin). JSON bi bio dobar za to ali postoji par problema.

1. Odakle da se učitavaju opisi za svaki termin ponaosob preko JSON?
2. Pošto će za svaki termin biti barem dve ili više referenci, potreban mi je neki sistem koji će da prepoznaje separatore (u ovom slučaju zareze) kod linkova i da svaki link uvede u div. Npr:

"linkReference" : "example.com , example.com , example.com" "naslovReference" : "Primer, Primer, Primer"

Arrow

<div id="reference">      <a href="example.com>Primer</a><br>      <a href="example.com>Primer</a><br>      <a href="example.com>Primer</a><br> </div>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Nisam radio ovaj nivo prikaza preko xml-a ali sam radio direkt iz baze podataka na sličan način prikaza. E sada, da li možeš da napraviš loop u jQuery pa da ti koristi zarez kao marker za odvajanje ili direkt u još jednom PHP da pročita json i sa explode da ga razlošiš i posle u nekoj petlji prikažeš?



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 25 Maj 2014 16:27

Ovako nešto:

var nasloviReferenci = $('#termini.naslovi').val().split(","); var linkoviReferenci = $('#termini.linkovi').val().split(",");

???

Dopuna: 25 Maj 2014 16:41

Ili da napravim niz sa referencama pa ih onda učitavam u bazu i po potrebi iščitavam, nešto u ovom obliku:

<?php $referenca1 = "<a href='".array_values($reference[1])."' target='blank'>".array_keys($reference[1])."</a>"; ?>

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Neka ti ajax pošalje informacije u nizu, kao na primer:
ime|prezime|email
Ovako:
marko|marković|marko@markovic.mar

Posle u jQuery razloži ovako nekao:

// unutar ajax funkcije koja toi vraća informacije var nesto = data.split("|"); var ime=nesto[0],       prezime=nesto[1],       email=nesto[2],
Ti kod uradi kako tebi odgovara. Sam samo pokazao. Ja slično radim u jednoj administraciji gde transferujem neke podatke. U pretrazi tražim neku osobu po imenu prezimenu, u toku pretrage autocomplete mi pokazuje predloge. Kada nađem tu osobu i kliknem na nju, automatski mi popuni prazana polja sa informacijama te osobe. Na sličan način radim i pretrage i druge stvari.

To je jedna fora koju sam koristio nekada dok sam radio sa PLC-ima i povezivanja PIC i ATMEL čipova preko RS232 i USB porta ali taj princip može da se upotrebi na svemu i svačemu.

Pokušaj.

Ko je trenutno na forumu
 

Ukupno su 1072 korisnika na forumu :: 72 registrovanih, 4 sakrivenih i 996 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 015, 9191vs, babaroga, Battlehammer, Belac91, Betty25, Bivan, bolimejoli, Boris BM, BZ, Ciri1994, colji, darionis, Drugsparrow, dule10savic, dutrzen, Dvojac005, eagle.rs, Ezbuck, Fabius, feanor, HrcAk47, hyla, icemilos, ivan1973, ivica976, Jovan.D, Jozo74, Klass, lucko1, M74AB3, mainstream, Makeitdrip, Malahit, markomacii9, markoni.slo, mat, milenko crazy north, miljannis, MiloradKomadic, Mitch22, Motocar, Mskok, N95, nebidrag, nebojsag, Nemanja.M, Nikolajevic, niksa517, ObicanUser, Oscar, Pale2025, peradetlić, PrincipL, procesor, Pv123, redstar72, samoborac, Sančo, silikon, sixpac, stibium51, strn, tomigun, tritonus, US_Rank_0, vladao75, vuk77, vukan0799, zoran77, Đurđevdan, 800077