Autor Zpráva
Majkelju
Profil
Zdravím, přečetl jsem si téma Vložení PHP do JS
, a další odkazy, nejsem z toho ale vůbec moudrý, spíš ještě víc zmatený :)
Jestli jsem to dobře pochopil, tak se stránka musí znovu načíst, nebo se musí použít AJAX... O tom jsem si něco přečetl v linku v tématu, byl tam i příklad, ale nepochopil jsem "pointu"....
Tak bych prosil, jestli by mi někdo nevysvětlil, co dělat v mém konkrétním případě... Mám funkci v JS, do ní jsem vložil PHP kód s sql dotazem do databáze, a v tom dotazu potřebuju použít proměnnou, která je v té funkci v JS, ale nevím, jak ji vložit do toho dotazu...jak jsem zjistil, nestačí jen na chvíli přerušit PHP :)) Reload stránky nepřichází v úvahu, funkce vypadá asi takto, nefunkční proměnná $index na zvýrazněném řádku je ta, kterou potřebuju přenést (vlastně o ten řádek ani tak nejde, když tu proměnnou přebírá fce sama o sobě):

function zobrazDetail2(index){
    <?
        $result = $db->query(" 
            SELECT 
            `polozky_dzs_typ_potreby`.`znacka`,
            `polozky_dzs_typ_potreby`.`popis`
            FROM `polozky_dzs_kalkulace`
            JOIN `polozky_dzs_potreby` ON `polozky_dzs_kalkulace`.`k_potreby` = `polozky_dzs_potreby`.`id`
            JOIN `polozky_dzs_typ_potreby` ON `polozky_dzs_typ_potreby`.`id` = `polozky_dzs_potreby`.`k_typ_potreby`
            WHERE `k_polozka`='$k_polozka' 
            GROUP BY `znacka`
            ORDER BY `znacka`
         ");
         
        while($row = $result->fetch_assoc()){
            $znacky[]=$row['popis'];
        }
        $vyber=$znacky[$index];

        $result2 = $db->query(" 
            SELECT 
            `polozky_dzs_kalkulace`.`mnozstvi`,
            `polozky_dzs_potreby`.`nazev`,
            `polozky_dzs_potreby`.`k_typ_potreby`,
            `polozky_dzs_typ_potreby`.`znacka`,
            `mj`.`znacka` AS `mj`
            FROM `polozky_dzs_kalkulace`
            JOIN `polozky_dzs_potreby` ON `polozky_dzs_kalkulace`.`k_potreby` = `polozky_dzs_potreby`.`id`
            JOIN `polozky_dzs_typ_potreby` ON `polozky_dzs_typ_potreby`.`id` = `polozky_dzs_potreby`.`k_typ_potreby`
            JOIN `mj` ON `polozky_dzs_potreby`.`k_mj` = `mj`.`id`
            WHERE `k_polozka`='$k_polozka' 
            AND `polozky_dzs_typ_potreby`.`popis` = '$vyber'
            ORDER BY `znacka`
        ");
    ?>
        oknoDetailu2 = window.open('','Detaily',"height=300, width=350");
        oknoDetailu2.document.write(detaily);
    }
Joker
Profil
Majkelju:
A přečetl jste si v FAQ blok Komunikace mezi javascriptem a PHP, vysvětlující, proč to nejde jednoduše kombinovat?

Nicméně konkrétně v tomhle případě, jestli to dobře chápu, otevřete nové okno a pak ho v prohlížeči naplníte HTML kódem, který chcete vyrobit v PHP.
Tak proč to neuděláte daleko jednodušeji? Dejte PHP kód třeba do detaily.php a volejte window.open('detaily.php?id='+kdeMateUlozeneId,….

Anebo to udělejte ještě jednodušeji, funkce zobrazDetail2 se předpokládám volá při kliknutí na něco, tak tu funkci úplně zrušte, PHP kód dejte do detaily.php a z toho „něco“ udělejte úplně prostý odkaz na detaily.php.
Majkelju
Profil
Joker:
Jak prosté! :) Jdu na to, díky ;)
EDIT: Už to jede, stálo to minimum úsilí :) Jednoduchý, ale sám bych na to nepřišel, že se to dá takhle obejít :)

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: