在PHP

时间:2015-06-09 10:03:46

标签: javascript php ajax

我正在开发一个小网页,它有一个.php-include层次结构。 现在,我想在第一个选项中选择一个选项后,生成两个依赖的Dropdown-Menues,其中第二个是更新的。

我更喜欢这个页面的代码可以保留在一个文件中,因为我想在不分割代码的情况下实现这一点。

代码看起来像这样:

<?php
echo '<div id="dashheader">
<form action="..." method="get" enctype="text/plain">
<p id="dashheadline">Selbstkosten ermitteln</p>
..
<td><select name="lieferant" onChange="javascript:updateArtikel(this.value);" >
...
<div id="art">
    <select name="artikel">
    <option value="">Erst Lieferanten wählen</option>
    </select>
</div>';
?>

现在我有了Javascript,我希望在&#34; lieferant&#34; -Dropdown(简单的Ajax调用)中的变更上执行:

<script type="text/javascript">
    function updateArtikel(str) {
        ...
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("art").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","cure1.php?q="+str,true);
        xmlhttp.send();
        ...
     }
</script>

cure1.php是相同的.php-File我生成输出。它还包含额外的php-Code,如果用参数调用&#34; q&#34; (见AJAX-Call):

if(isset($_GET['q'])){
    echo '<select id="art" name="artikel">';
    $abfrage = //MYSQL-Query; 
    $ergebnis = mysqli_query($con,$abfrage);
    while($row = mysqli_fetch_object($ergebnis))
    {
        echo '<option value = "'.$row->PositionsNr.'" > '.$row->Artikelbezeichnung.'</option>';
    }
    echo '</select>';
}

现在问题: 是否真的可以将此代码保留在一个文件中? 如果没有,如果&#34; cure1.php&#34; (我的页面)是按&#34; index.php?menu = 10&#34; ?

1 个答案:

答案 0 :(得分:0)

仔细查看php文件的层次结构。 最后的代码应该是

<?php 
......
//php code
?>
<html>
    <head>
        <script>
          //javascript code
        </script>
    </head>
</html>

你也可以回复php标签中的所有html代码。 这是标准的,您可能不限于这样做。