[ Googladzija @ 31.01.2017. 13:08 ] @
pitanje je pocetnicko: koji je najjednostavniji nacin da iskoristim varijablu iz php-a u javascript-u.
u ovom slucaju u pitanju su varijable $znak i $pozicija.
Code:

    $res = mysqli_query($mysqli, $sql4);

    while ($row = mysqli_fetch_assoc($res)) {
     
            $pozicija = $row["pozicija"];
            $znak = $row["znak"];

            echo    '<script type="text/javascript">',
                    'var elem = document.createElement("img");',
                    'elem.setAttribute("src", "slova/slovo-" + $znak + ".jpg");',
                    "document.getElementById('unutra' + $pozicija).appendChild(elem);",
                    '</script>';

    }
[ K.F. Gaus @ 31.01.2017. 13:47 ] @
Code:


<script>
var znak = <?php echo $znak; ?>;
var pozicija= <?php echo $pozicija; ?>;
</script>


Uz napomenu da ti ovaj pristup nije dobar. Odvoji javascript od php koda.
[ Googladzija @ 31.01.2017. 19:42 ] @
Citat:
K.F. Gaus
Code:

<script>
var znak = <?php echo $znak; ?>;
var pozicija= <?php echo $pozicija; ?>;
</script>


javlja mi gresku:

SyntaxError: expected expression, got '<'
var znak = <?php echo $znak ?>;


da li treba pod navodnicima?
Code:

<script>
var znak = "<?php echo $znak; ?>";
var pozicija= "<?php echo $pozicija; ?>";
</script>


[ plus_minus @ 31.01.2017. 22:16 ] @
Code (html):

<script type="text/javascript">
var
  znak = '<?=($znak)?>',
  pozicija = '<?=($pozicija)?>';
</script>
 
[ K.F. Gaus @ 31.01.2017. 22:22 ] @
Da, pod navodnicima.
[ Googladzija @ 01.02.2017. 01:13 ] @
ipak cu morati detaljnije objasniti. kako god zakrpim negdje curi... :)

dakle, u html-u imam neki div u koji dinamicki trebam dodati img tag.

ovo imam:
Code:

    <div id="unutra23" class="col-md-2 dim divPad">
    </div>

a ovo bi trebao biti rezultat:
Code:

    <div id="unutra23" class="col-md-2 dim divPad">
        <img src="slova/slovo-A.jpg">
    </div>

da dohvatim ono "23" iz id-a div-a ("unutra23") i da upisem ono "A" u src od img-a ("slova/slovo-A.jpg"), trebaju mi podaci iz baze, i oni se nalaze u varijablama $pozicija i $znak. i to je ok.
e sad nastaje problem kad php varijable zelim prebaciti u php. zadnja varijanta koda (kombinovao sam s odgovorima ovdje):
Code:

    echo "<script type='text/javascript'>
    var znak = '<?=($znak)?>';
    var pozicija= '<?=($pozicija)?>';
    var elem = document.createElement('img');
    elem.setAttribute('src', 'slova/slovo-' + znak + '.jpg');
    document.getElementById('unutra' + pozicija).appendChild(elem)
    </script>";


greska koju mi na kraju pokazuje Firebug je:
TypeError: document.getElementById(...) is null

[ Googladzija @ 01.02.2017. 13:04 ] @
zaboravih nesto napomenuti...
kada samo umjesto:
Code:

    elem.setAttribute('src', 'slova/slovo-' + znak + '.jpg');
    document.getElementById('unutra' + pozicija).appendChild(elem)

stavim:
Code:

    elem.setAttribute('src', 'slova/slovo-' + "A" + '.jpg');
    document.getElementById('unutra' + "23").appendChild(elem)

sve uredno radi.

moze li moj problem imati veze sa tipom podataka u bazi?
[ dusans @ 01.02.2017. 14:19 ] @
Pogledaj generisani javascript u browser-u i sve će ti samo kazati.
[ Googladzija @ 01.02.2017. 14:39 ] @
Citat:
dusans: Pogledaj generisani javascript u browser-u i sve će ti samo kazati.

moze li u browseru da se vidi javascript ako je u php fajlu?
[ peromalosutra @ 01.02.2017. 17:49 ] @
A kako će browser da izvrši JS ako ga ne vidi? :)

Malo pročitaj oko toga šta se izvršava na server, a sta na klijent strani, net je prepun toga.

Ukratko, PHP-om možes generisati HTML, JS, pa čak i CSS ako hoćeš. Browser na kraju dobija HTML, JS ili CSS, on ni ne zna da li je to generisano dinamički, ili je poteklo iz statičkog fajla. Nije to uvijek najbolje rjesenje po pitanju arhitekture, ali radi.
[ Googladzija @ 01.02.2017. 18:56 ] @
pa znam te osnovne stvari, da se php kod izvrsava na serveru, a html/js na klijentu.

nego, ne znam gdje da nadjem js kod u Firebug-u (ovaj dio koji generise php). tu se ne snalazim najbolje. nema ga u html source...
[ Googladzija @ 01.02.2017. 21:01 ] @
ipak je problem gore na samom pocetku, na mjestu koje sam mislio da je ispravno rijeseno, ali nije.
da ilustrujem cijelim, ali uproscenim kodom:
Code:

<?php
        $znak = "A";
        $pozicija = "23";

            echo    "<script type='text/javascript'>
                     var znak = '<?php echo $znak; ?>';
                     var pozicija = '<?php echo $pozicija; ?>';

                     alert('znak je: ' + znak);
                     alert('pozicija je: ' + pozicija);

                     </script>";
?>


moje pitanje je:

zasto dobijem rezultat
znak je: <?php echo A; ?>
pozicija je: <?php echo 23; ?>

umjesto
znak je: A
pozicija je: 23

pokusao sa navodnicima, polunavodnicima, bez navodnika, sa echo, bez echo... i jos ponesto... ali nista ne pomaze... :(
[ peromalosutra @ 01.02.2017. 21:41 ] @
PHP kod treba da se nalazi unutar <?php i ?> tagova, ali ti tagovi se dalje ne ugnjezdjavaju. Ti vise puta zaredom pokusavas otvoriti tag i to ti se tako i ispisuje. Sve sto se nalazi izmedju ovih tagova ce biti zamjenjeno sa ispisom koji se generise (npr
preko echo).

Code:


<?php
        $znak = "A";
        $pozicija = "23";

            echo    "<script type='text/javascript'>
                     var znak = '$znak';
                     var pozicija = '$pozicija';

                     alert('znak je: ' + znak);
                     alert('pozicija je: ' + pozicija);

                     </script>";
?>
[ Googladzija @ 01.02.2017. 22:25 ] @
par puta sam pomislio da bi ugnjezdjavanje moglo biti problem... samo pomislio...

to je to! hvala ti, drug!