Innerhtml作为php echo包括

时间:2018-08-14 06:42:09

标签: javascript php

我只想创建一个函数,单击按钮即可将div的innerHTML更改为php文件之一。

一个php文件的示例如下:

<?php
    require('../Php/ConfigBaza.php');
    $sql = "
    SELECT Proizvod.PROIZVODID, Proizvod.NAZIV, Proizvod.SLIKA
    FROM PROIZVOD_GRUPE
    LEFT JOIN Proizvod ON PROIZVOD_GRUPE.PROIZVODID = Proizvod.PROIZVODID WHERE PROIZVOD_GRUPE.PROIZVOD_GRUPAID = '1';

    SELECT PROIZVODID, NAZIV, SLIKA FROM Proizvod WHERE AKCIJSKI_ARTIKAL = 1";

    $result = $mysqli->query($sql);

    if($result->num_rows < 1)
    {
        echo("Doslo je do greske prilikom ucitavanja proizvoda!");
        die();
    }
    else
    {

        echo("
        <div id='overlay' style='display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 999; background-color: hsla(0, 0%, 50%, 0.39);'>
            <div id='kolicina_overlay' style='display: none; position: fixed; width: 500px; height: 110px; margin-top: -55px; margin-left: -150px; top: 50%; left: 50%; text-align: center; background-color: #2196F3; z-index: 1000'>
                <p style='font-weight: bolder'>Unesite zeljenu kolicinu!</p>
                <input type='number' value='1' style='width: 50px'>
                <div id='kolicina_potvrdi_button' style='padding: 10px; color: white;' onclick='UnesiKolicinu()'>Potvrdi</div>
            </div>
        </div>
        ");
        while($proizvod = mysqli_fetch_assoc($result))
        {
            $pid = $proizvod['PROIZVODID'];
            $naziv = $proizvod['NAZIV'];
            $slika = $proizvod['SLIKA'];
            $rabat = $proizvod['POPUST'];

            if(!isset($slika) || empty($slika))
            {
                $slika = "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/No_image_available.svg/600px-No_image_available.svg.png";
            }
            echo("
                <div class='proizvod_Box' id='$pid' onclick='IdiNaProizvod(id)'>
                    <div class='proizvod_Naslov'>
                        <p>$naziv</p>
                    </div>
                    <div class='proizvod_Slika'>
                        <img src='$slika'>
                    </div>
                </div>
            ");
        }
    }
?>

我如何调用它们是这样的:

case "_Akcija":
    document.getElementById('rightBox').innerHTML = "<?php echo include_once '../Php/Proizvodi/_Akcija.php';?>";
    break;

但是它向我返回错误:Invalid or unexpected token的{​​{1}}

我尝试在JavaScript内使用""切换'',但无法正常工作。还试图查看它是否可以与""一起使用,但仍然存在相同的错误。该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该只将php文件添加到客户端页面的顶部,首先将echo更改为变量:

<?php
        require('../Php/ConfigBaza.php');
        $sql = "
        SELECT Proizvod.PROIZVODID, Proizvod.NAZIV, Proizvod.SLIKA
        FROM PROIZVOD_GRUPE
        LEFT JOIN Proizvod ON PROIZVOD_GRUPE.PROIZVODID = Proizvod.PROIZVODID WHERE PROIZVOD_GRUPE.PROIZVOD_GRUPAID = '1';

        SELECT PROIZVODID, NAZIV, SLIKA FROM Proizvod WHERE AKCIJSKI_ARTIKAL = 1";

        $result = $mysqli->query($sql);

        if($result->num_rows < 1)
        {
            echo("Doslo je do greske prilikom ucitavanja proizvoda!");
            die();
        }
        else
        {

            echo("
            <div id='overlay' style='display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 999; background-color: hsla(0, 0%, 50%, 0.39);'>
                <div id='kolicina_overlay' style='display: none; position: fixed; width: 500px; height: 110px; margin-top: -55px; margin-left: -150px; top: 50%; left: 50%; text-align: center; background-color: #2196F3; z-index: 1000'>
                    <p style='font-weight: bolder'>Unesite zeljenu kolicinu!</p>
                    <input type='number' value='1' style='width: 50px'>
                    <div id='kolicina_potvrdi_button' style='padding: 10px; color: white;' onclick='UnesiKolicinu()'>Potvrdi</div>
                </div>
            </div>
            ");
            while($proizvod = mysqli_fetch_assoc($result))
            {
                $pid = $proizvod['PROIZVODID'];
                $naziv = $proizvod['NAZIV'];
                $slika = $proizvod['SLIKA'];
                $rabat = $proizvod['POPUST'];

                if(!isset($slika) || empty($slika))
                {
                    $slika = "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/No_image_available.svg/600px-No_image_available.svg.png";
                }
                $myVar = "
                    <div class='proizvod_Box' id='$pid' onclick='IdiNaProizvod(id)'>
                        <div class='proizvod_Naslov'>
                            <p>$naziv</p>
                        </div>
                        <div class='proizvod_Slika'>
                            <img src='$slika'>
                        </div>
                    </div>
                ";
            }
        }
    ?>

然后在页面顶部包含将使用javascript的php文件:

<?php echo include_once '../Php/Proizvodi/_Akcija.php';?>

<!-- Your javascript here below -->

之后,只需回显您在文件上定义的变量,代码应如下所示:

<?php echo include_once '../Php/Proizvodi/_Akcija.php';?>
<script>
 switch(test){
  case "_Akcija":
    document.getElementById('rightBox').innerHTML = "<?php echo $myVar; ?>";
    break;
  default:
    break;
}
</script>

应该可以解决问题。