Autor Zpráva
cheli
Profil
Zdravím, narazil jsem na další problém a nedokážu si pomoct.
Mám vytvořen skript (javascript) na odpočet času 2 datumů. Z db načítám pomocí php hodnoty času a vkládám je do javascriptu. Bohužel se mi rozdíl odpočtu času zobrazí jen u prvního řádku v db. U dalších je prostor prázdný. Kde je zas chyba?

Kód je zhruba takový:

dotaz = mysql_query("SELECT * FROM tabulka");
while ($pole = mysql_fetch_assoc($dotaz)) {

//zde rozděluji pomocí explode čas na rok,měsíc,den,hodinu,minutu,vteřinu ($pole['konec_cau'])

include "./scripts/js/odpocet.php"; // - zde dokládám do javascriptu prvky času pomocí kódu níže
//var x = new Date(<?php echo $datum[0]; ?>, <?php echo $datum[1]; ?>, <?php echo $datum[2]; ?>,
//<?php echo $cas[0]; ?>, <?php echo $cas[1]; ?>, <?php echo $cas[2]; ?>);

echo "<span id='odp'></span>";

}


podstatné je to, že to tak funguje jen u prvního záznamu. Nadpis, text, obrázek se zobrazí u obou, ale čas jen u jednoho.
Joker
Profil
cheli:
No protože všechny prvky <span> mají stejné ID. Jestli časy máte v JS v poli, dejte spanům různá ID a dávejte do nich pak správné časy.
cheli
Profil
Joker:
A nenapsal byste příklad, jak to má vypadat? Jen ty podstatné řádky.
Zkusil jsem takhle:
V souboru s javascriptem -
var element = document.getElementById(odp<?php echo $radek['id']; ?>);

a pak v vypis z db-
<span id='odp-".$radek['id']."'></span>


Ve zdrojovém kódu se zobrazuje správně:
<span id='odp1'></span>
<span id='odp2'></span>
<span id='odp3'></span>


i u js:
var element = document.getElementById('odp1');
var element = document.getElementById('odp2');
var element = document.getElementById('odp3');


Teď už se nevypisuje čas u prvního záznamu, ale u posledního a ostatních ne.
_es
Profil
cheli:
...„document.getElementById(odp“...
do argumentu tej metódy patrí textový reťazec. A premennú začínajúcu na odp si asi nedefinoval.

Ten posledný JavaScriptový kód má aký význam?
premennú element len prepisuješ stále na inú hodnotu.

Rozdeľ si to celé na riešenie v PHP a riešenie v JavaScripte.
A pri prípadnom probléme daj dotaz buď na PHP alebo na JavaScript.
Inak ti s tým asi veľa ľudí neporadí.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: