Ajax ti treba…on ti prosljeđuje upit (parametre) sa client side (JS) prema server strani (PHP). Na serveru odradiš što želiš sa dobivenim parametrima i rezultat toga (neke dobivene parametre) možeš opet vratiti na client side.
Nakon što ti se trigira gornja funkcija, na serveru ti se pokreće skripta: “script.php”
$ime=$_POST['ime'];
$prezime=$_POST['prezime'];
//radi što želiš sa dobivenim podacima
//vraćaš rezultat najbolje kao JSON object:
echo json_encode($neki_array_s_podacima);
//taj rezultat ti je data varijabla na client side
Znaci da uzme te varijable sto je moguće jedino iz foreach-a i da kad kliknem na sliku da mi podigne view za +1 za 1 ip po 24 sata, znaci broji samo uniq hitove. Ovo mi se cini komplicirano s ajaxom ali opet nezz kako da preko php-a napravim kad kliknem link da mi napravi +1 jer mi klik na malu sliku otvara veliku preko jquery-a http://prntscr.com/69lpxr
Ne možeš bez ajaxa komunicirati client side i server side (bez reloada stranice). Što znači da ne možeš niti jednu akciju korisnika prenesti na neku logiku koju želiš raditi na serveru. U ovom slučaju klik na sliku.
Nije to niš komplicirano, ako znaš napisati običnu funkciju na client ili server strani. A koliko vidim, gore imaš JS funkciju update_views(), tako da valjda barataš toliko.
Sad samo u tu funkciju stavljaš ajax request, a na serveru radiš što želiš kad stigne taj ajax request. Koji dio ti tu nije točno jasan, tj. što ti je prekomplicirano? Reci što točno zapinje, objasnim…
Btw…džabe ti sav web develop ako ne prihvatiš ajax koji je must have U kamenom dobu si bez toga
Prvo sto mi nije jasno je to sto neznam ni ajax ni js ni jquery
Druga stvar je vidis da su ovi podaci koji mi trebaju templateID i views u foreach petlji dakle ne mogu ih koristit van nje. A klikom na malu sliku mi se otvori cijela slika velika i ovakav link http://localhost/ml-webdesign/index.php#prettyPhoto/0/ i zbog toga dodatka prettyPhoto sto mi uveca sliku ne mogu ni da preko geta ni posta uvatim templateID koji mi je potreban da ga spremim u bazu.
Nije ajax gradivo pa da ga moraš znati, učiti…samo uzmeš funkciju koju sam ti dao.
Od jQuery-a opet netrebaš znati ništa, nego samo kopirati tu funkciju koju sam ti dao.
Od javascripta opet netrebaš znati ništa više, nego zadat jednu jedinu akciju na klik miša. A to buš morao zadat kak god da okreneš…a to je pak osnove osnova. Ako išta znaš od programiranja, onda ćemo lako postaviti jednu funkciju na akciju klika miša.
Btw. jel znaš php? …jer nebu se samo upisalo u bazu ?
Recimo da ti stigne ID slike sa client side na server side, što ćeš točno napraviti sa tim ID-em?
gledaj ovako imam u bazi
table "templates"
polja : id, name, small_image, big_image, date_added, status, link
table "template_views"
polja : id, templateID, views, ip, time
dakle tu mi je problem jer neznam kako da uzmem id od slike i spremim u template_views->templateID
Znam radit s bazom i radim PDO mysql i koristim klase u php-u samo me da oprostiš jebe ovaj id od slike, prvo sam napravio da mi kad otvorim sliku otvori u index.php?id=idslike ali mi onda nestane index.php pa bi moro jos jednu stranicu pravit.
Prvi put mi je da radim ovako i taj jquery me jebe maximalno. Znaci treba mi samo kad se klikne na sliku da mi izvuce id od slike iz foreach petlje i spremi u 1 varijablu da mogu dodat id u bazu template_views->templateID
1.napravi skriptu: 'zabiljezi_pogled.php’
2. kad se klikne na sliku, trigiraj funkciju update_views()
3. ta funkcija treba izgledat:
function update_views()
{
var ID=... ; // <--pobrini se da pridruzis id slike ovoj varijabli !!!
$.ajax({
type: "POST",
url: 'zabiljezi_pogled.php',
data: {id_slike:ID},
dataType:'json'
});
}
ČETIRI: skripta ‘zabiljezi_pogled.php’ treba izgledat:
<?php
$ID=$_POST['id_slike'];
//radi što želiš sa ID-em...upisuj u bazu..simte, tamte...
?>
PET: ne zaboravi inkludati jQuery u zaglavnje dokumenta:
ŠEST: pazi u kojem direktoriju ti se nalazi skripta '‘zabiljezi_pogled.php’, može biti bilo gdje naravno, ali gore u točci 3. moraš staviti taj isti path kod definiranja url-a.
.
.
PS. moderatorima forima,
ovo autonumeriranje ne radi kako spada i vrlo često ide prilično na živce!
Nebi štel zvučat grubo, ali jedini pravi put ti je da pohvataš osnove programiranja. Baviti se templateima a nemati pojma s čime radiš je valjda nešto najgore što si netko želi priuštiti u životu. Zato i imaš ove živčane momente…a imat ćeš ih dok god ne izabereš pravilan put. Raditi na slijepo je naprosto nemoguće…
Znam ali kad te nesta muci tri dana i po goglu sam stalno i nebi napravio da si žuna, a mogo sam jednostavno ko sto i jesam stavio link <a href="index.php?page=works&id=’.$id.’> i problem rjesen otvori mi se cijeli template s podacima na desnoj strani u works.php a tu onda preko id-a izvuce sve o tom templatu + dodam view. Jest da je ono kad kliknes pa ti se otvori kompletna slika ljepse al sta je tu je ;D
Sve jasno, ja te samo savjetujem da se neke korake jednostavno ne isplati preskakati…jer buš takva tri dana muke često susretao.
Za početak, meni nije jasno što se dešava s tvojom stranicom kad klikneš na sliku… dali ti znaš napraviti da kad se klikne na sliku da browser izbaci alert, “Kliknuto je na sliku”. I da to sve odradi bez ikakvog errora?
Ako imaš to, možemo dalje…
Kao sto rekoh ne jebe mene to nego taj jquery dodatak “prettyPhoto” jer u link ide <a href="#" rel="prettyPhoto" onclick="pozovi javascript">mala slika</a> i onda mi otvori ovakav link index.php#prettyPhoto/0/ za drugu sliku index.php#prettyPhoto/1/ trecu index.php#prettyPhoto/2/
<!DOCTYPE html>
<html lang="hr">
<head>
<title>test klik</title>
<meta charset="UTF-8">
<script type="text/javascript">
function otvori_sliku()
{
alert("Kliknuto je na sliku");
};
</script>
</head>
<body>
<a href="#" onclick="otvori_sliku()">ime slike</a>
</body>
</html>
a ja tu vec imam sliku malu i ona ima ID, e sad kad bi mogo taj ID uzet onda nema problema, nesta kao onclick uhvati id slike s time da taj sugavi prettyPhoto mi baci ID slike a ne index.php#prettyPhoto/2/ nego index.php?tid=id slike
Da taj dio koda izlistava male slike 135x135px znaci ovo < img > prikazuje sliku samo a id dobijem sa $temp[‘id’]. A link sam stavio zbog toga prettyPhoto i da trigira funkciju onlick().