Jump to content
php.lv forumi

Datu ielikshana mysql bez refresh


Recommended Posts

Labdien. Ieksh AJAX esmu jauninjais. Varbuut kads varetu iedot piemeru vai pamacibu ka var uztaisit ta ka piemeram kads ieposto komentaru, un lapa nerefreshojas, bet komentars ieliekas datubaze, un uzradas ajax loading

Link to post
Share on other sites

Javascript funkcija ar kuru nosūta datus piemēram send('piemēram');

function send(packet){
   var send = new XMLHttpRequest;
   send.onreadystatechange = function(){
       if (send.readyState == 4) {
           var obj = (send.responseText);
           parse(obj);
       }
   }
   send.open("GET", "http://host/server.php?send=" + packet, true);
   send.send(null);
}

 

JavaScrip funkcija kura saņem datus no PHP

function parse(packet){
alert(packet);
}

 

php server.php apstrāda informāciju

<?php
   echo $_GET['send'];
?>

 

Un tas notiek apmēram tā

saglabājām datus no textboxa no nosūtam ar send(texbox.value);

php saņem un apstrādā datus ,saglabā mysql un nosūta caur echo ka viss ir OK!

Clients saņem datus funkcija parse() un visi dati glabājas packet vārā ,ņem un caur innerHTML inerto packet datus savā tabulā vai divā.

 

īsāka un ātrāka varianta nav :)

Link to post
Share on other sites

Wuu, ir gan.

Lietojot kādu no pieejamām javascript bibliotēkām, piemēram, jQuery:

$("#textarea").bind("blur", function(){
 $.get('http://host/server.php?send='+$(this).val(), null, function(msg){ alert(msg); });
});

Link to post
Share on other sites

Divrteņu izgudrotājs esi, Wuu :)

Gan nāks laiks, kad sapratīsi, ka esošu kodu ir jāizmanto pēc iespējas vairāk. Tā tikai produktīvāks būsi un mazāk iespēju kļūdas ielaist būs (jeb ātrāk tās tiks labotas). Vajag "ārstēties" no slimošanas ar Not Invented Here "slimību".

Link to post
Share on other sites

Neiet runa par to ,ja protams gribi piebarot savu webu pilnu ar visādām javascript fīčām tad protam jquery. Bet ja cilvēks vēlas tikai komentārus ielikt neredzu tam jēgu mācīties jquery funkcijas. Un par kļūdām tu stipri maldies ,viss kas atnāk no php ir vienā vārā packet. Gan jquery gan manā variantā PHP jāraksta būs pašam. Un ja manā variantā tu nemāki tik galā ar vienu vāru ,tad kāda tur vel doma ķerties pie freimworkiem?

Link to post
Share on other sites

Nu, manuprāt, jau Wuu variants īsti labi nedarbosies, jo ne visiem pārlūkiem XMLHttpRequest objekts inicializējams tādā veidā:

var send = new XMLHttpRequest;

 

Tādēļ būtu jāraksta vēl klāt papildus if`i un citas inicializēšanas. (vēl viens pluss jQuery)

 

Un arī es noteikti ieteiktu izmanot jQuery. Ja būs jāraksta vairāk AJAX`a un nepieciešama klāt papildus funkcionalitāte (kaut vai tiek atgriezts XML pēc izsaukuma), tad rakstīt to pašam ir useless.

Link to post
Share on other sites
  • 4 months later...

Javascript funkcija ar kuru nosūta datus piemēram send('piemēram');

function send(packet){
   var send = new XMLHttpRequest;
   send.onreadystatechange = function(){
       if (send.readyState == 4) {
           var obj = (send.responseText);
           parse(obj);
       }
   }
   send.open("GET", "http://host/server.php?send=" + packet, true);
   send.send(null);
}

 

JavaScrip funkcija kura saņem datus no PHP

function parse(packet){
alert(packet);
}

 

php server.php apstrāda informāciju

<?php
   echo $_GET['send'];
?>

 

Un tas notiek apmēram tā

saglabājām datus no textboxa no nosūtam ar send(texbox.value);

php saņem un apstrādā datus ,saglabā mysql un nosūta caur echo ka viss ir OK!

Clients saņem datus funkcija parse() un visi dati glabājas packet vārā ,ņem un caur innerHTML inerto packet datus savā tabulā vai divā.

 

īsāka un ātrāka varianta nav :)

 

Un kā tie dati ierasktās mysql? Kur norāda db tabulas un querys. Vai tas darās tai failā - server.php (kas piemērā)?????

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...