[ EmmaR @ 26.01.2015. 11:05 ] @
Osnovna struktura datoteke:
Code:

<html>
<head></head>
<body>
<div id="linkovi">
"Linkovi":
<span id="l1">Link 1</span>
<span id="l2">Link 2</span>
</div>
<div> id="rezultat">
U ovom tagu treba da se upisuje rezultat vracen od strane PHP-a, a na osnovu izabranog linka (span taga).
Mora PHP jer se podaci vuku iz baze, tacnije samo jedne tabele.
</div>
</body>
</html>


Cilj: Korisnik izabere neki od ponuđenih linkova (ovde span tagovi "glume" linkove i ima ih dosta), a na osnovu izabranog linka na istoj strani se ispisuje rezultat. Očekivani rezultat je uvek niz vrednosti prosleđenih iz tabele, a filtiranih na osnovu izabranog linka: Za ovaj deo je zadužen PHP.
Problem: kako da PHP vidi koji je link izabran? Može li to PHP direktno ili mora preko JavaScript-a i AJAX-a (pokušavam da izbegnem httpRequest)?
[ Nemanja Avramović @ 26.01.2015. 11:16 ] @
Ako nećeš da se osvežava čitava stranica - mora JS/ajax. Ako nećeš JS/ajax, namesti prave linkove na osnovu kojih će PHP generisati rezultat
[ EmmaR @ 26.01.2015. 11:35 ] @
Citat:
Nemanja Avramović: Ako nećeš da se osvežava čitava stranica - mora JS/ajax. Ako nećeš JS/ajax, namesti prave linkove na osnovu kojih će PHP generisati rezultat


Treba samo da se osvežava deo u koji se smešta rezultat. Pokušala sam nešto sa pravim linkovima, ali ne znam kako da izvedem da se rezultat vraća na istoj strani, niti kako da prosledim istom PHP fajlu promenljivu - "filter" na osnovu koje vraća rezultat.
[ Nemanja Avramović @ 26.01.2015. 11:56 ] @
Kao što sam napisao, ako je potrebno samo deo da se osvežava, moraćeš da koristiš ajax.

U suprotnom mora cela stranica da se osvežava, a linkovi bi bili ovako nešto:

Code:
<a href="?filter=filter1">link1</a>
<a href="?filter=filter2">link2</a>
<a href="?filter=filter3">link3</a>


Pa u PHP-u na osnovu $_GET['filter'] filtriraš rezultate.

Sa ajaxom je slično - isto ćeš generisati link sa parametrom u URL-u, pozvati ajax-om PHP i rezultat upisati u #rezultat
[ plus_minus @ 26.01.2015. 11:59 ] @
@EmmaR

Možda to što hoćeš može i kroz <iframe> (sad mi pade nešto na pamet, da sa onclick na link.. menjaš src iframe-a ... itd.. ) .. ali, ipak mislim da je bolje izbegavati iframe u svakom slučaju...
Na kraju krajeva, ajax i jeste osmišljen za to što bi želela. :) Dakle, ajax.
[ EmmaR @ 26.01.2015. 12:28 ] @
Citat:
plus_minus: @EmmaR

Možda to što hoćeš može i kroz <iframe> (sad mi pade nešto na pamet, da sa onclick na link.. menjaš src iframe-a ... itd.. ) .. ali, ipak mislim da je bolje izbegavati iframe u svakom slučaju...
Na kraju krajeva, ajax i jeste osmišljen za to što bi želela. :) Dakle, ajax.


iframe sam u startu odbacila.

Citat:
Nemanja Avramović: Kao što sam napisao, ako je potrebno samo deo da se osvežava, moraćeš da koristiš ajax.

U suprotnom mora cela stranica da se osvežava, a linkovi bi bili ovako nešto:

Code:
<a href="?filter=filter1">link1</a>
<a href="?filter=filter2">link2</a>
<a href="?filter=filter3">link3</a>


Pa u PHP-u na osnovu $_GET['filter'] filtriraš rezultate.

Sa ajaxom je slično - isto ćeš generisati link sa parametrom u URL-u, pozvati ajax-om PHP i rezultat upisati u #rezultat


Hvala. Probacu ovo.
[ EmmaR @ 20.02.2015. 11:45 ] @
Moze li ovako:

html:
Code:

<html>
<head>
<title>JS to PHP</title>
<script src="jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
       $("#ciljni").load("js1.php?drzava="+$(this).text());
  });
});
</script>
</head>
<body>
<div>
<button id="btn1">Srbija</button>
<button id="btn2">Engleska</button>
<button id="btn3">Francuska</button>
<button id="btn4">Spanija</button>
</div>
<div id="ciljni"></div>
</body>
</html>

php:
Code:

<?php
$niz=array("Srbija"=>"Beograd","Francuska"=>"Pariz","Engleska"=>"London","Spanija"=>"Madrid");
$info="nepoznata vrednost";
$v="nepoznato";

if(isset($_GET['drzava']))
//if(isset($id))
{
    $v=$_GET['drzava'];
    //$v=$id;
    foreach($niz as $k=>$vred)
    {
        if($k == $v)
        {
            $info = $vred;
            break;
        }
    }
    echo "<pre>Drzava: {$v}\t\tGlavni grad: {$vred}</pre>";
}
else
{
            
        echo "nepoznata promenljiva";
    
}

?>


Resenje sa pravim inkovima mi nije odgovaralo jer ne znam kako "elegantno" da ubedim PHP da podatke vrati na polaznu stranu. Ovaj problem sam (delimicno) prevazisla koriscenjem PHP DOM-a.

P.S. Kada je u pitanju pravi sajt da li jQuery datoteka moze da se postavi lokalno na server sajta, ili se mora staviti link ka originalnoj lokaciji?
[ vuxor @ 20.02.2015. 14:03 ] @
Što se tiče jQuery datoteke, ona može biti hostovana i na tvom serveru i kao link ka nekoj od CDN mreža (npr. google CDN). Možda je najbolje da koristiš CDN kao primarni izvor, jer je verovatno da korisnik koji dolazi na tvoj sajt već ima keširanu verziju datoteke, pa ne mora da je ponovo učitava.
Code:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</script>

U ovom slučaju verzija koja je na tvom serveru će biti učitana samo ako google CDN ne radi.
[ EmmaR @ 20.02.2015. 15:27 ] @
Citat:
vuxor: Što se tiče jQuery datoteke, ona može biti hostovana i na tvom serveru i kao link ka nekoj od CDN mreža (npr. google CDN). Možda je najbolje da koristiš CDN kao primarni izvor, jer je verovatno da korisnik koji dolazi na tvoj sajt već ima keširanu verziju datoteke, pa ne mora da je ponovo učitava.
Code:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</script>

U ovom slučaju verzija koja je na tvom serveru će biti učitana samo ako google CDN ne radi.


Hvala