Pogledajte određenu poruku
Staro 03. 02. 2006.   #1
bokacbl
profesionalac
Professional
 
Avatar bokacbl
 
Datum učlanjenja: 09.01.2006
Lokacija: Banja Luka
Poruke: 262
Hvala: 24
7 "Hvala" u 5 poruka
bokacbl is on a distinguished road
Pošaljite ICQ poruku za bokacbl
Default Izmjena podataka u bazi putem dinamicke forme - uz koristenje Ajax-a

Posto sam radio par aplikacija koje su administratorskom dijelu zahtijevale izmjenu pojedinih zapisa u tabeli, obicno sam to rjesavao:
- Procitam podatke iz tabele, unesem u <select> i postavim dugme izmjeni i ucitam sljedecu stranu na kojoj su u formu vec uneseni podaci iz tabele pa se upisu izmjene...(mozda i ovo nije dobar nacin ali ja nisam znao drugi).

E sad posto sam citao neki mali tutorial o Ajax-u i XMLHttpRequest
Guide to Using AJAX and XMLHttpRequest from WebPasties

rijesio sam da napravim neku vrstu dinamicke forme.. znaci ja u prvom polju u kojem su procitane vrijednosti iz tabele izaberem neki zapis, i automatski mi se u formi ispod ispisu vrijednosti tog zapisa..

Kôd:
<script language="javascript"  type="text/javascript">
var url = "getProgramData.php?param="; // The server-side script\

function handleHttpResponse() {
  if (http.readyState == 4) {
    // Split the comma delimited response into an array
    results = http.responseText.split("#");
    document.getElementById('name').value = results[0];
 	document.getElementById('url').value = results[1];
	document.getElementById('description').value = results[2];
	document.getElementById('investment').value = results[3];
	document.getElementById('min').value = results[4];
	document.getElementById('max').value = results[5];
	document.getElementById('ratio').value = results[6];
	document.getElementById('referall').value = results[7];
	document.getElementById('support').value = results[8];
	document.getElementById('date_added').value = results[9];
  }
  }
function updateProgramData() {
  var idValue = document.getElementById("id").value;
  http.open("POST", url + escape(idValue), true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
</script>
to sam rijesio na gore pomenuti nacin uz koristenje
Kôd:
function getHTTPObject() , function handleHttpResponse() , function updateProgramData()
iz gore navedenog tutoriala..
Konkretno uz pomoc
Kôd:
var url = "getProgramData.php?param="
se poziva stranica koja sadrzi skript koji ispisuje podatke iz reda iz tabele razdvojene separatorom..

Da a samu promjenu u formi se radi u okviru select
Kôd:
<select name="id" id="id" onChange="updateProgramData();">
E sad interesuje me da li postoje jos neki nacin za rjesavanje ovih takozvanih dinamickih formi koje se koriste za mijenjanje podataka u bazi?
I takodje interesuje me postoji li neki drugi nacin da se rijesi citanje podataka iz baze, mislim da se ne poziva ovaj fajl "getProgramData.php" jer onda malo bolji programer moze da provali kako da procita podatke iz baze...

Poslednja izmena od bokacbl : 03. 02. 2006. u 22:49.
bokacbl je offline   Odgovorite uz citat