使用 JavaScript(或 AJAX?)动态添加 PHP/MySQL 代码


Dynamically add PHP/MySQL code with JavaScript (or AJAX?)

我必须问这个问题,因为我被困住了,我认为这是因为我对PHP和JavaScript的理解还没有完全形成。我认为我开始尝试这样做的方式可能非常非常错误,但没有其他人的问题击中对我来说有意义的事情。

基本上:我正在尝试在表单上安装一个 JavaScript 按钮,该按钮将添加额外的表单输入框,同时在 PHP 中添加额外的 SQL 代码,用于将数据从新表单插入到我的数据库中。

我的JavaScript看起来像这样。

    function addElement2() {
var ni = document.getElementById('SQLphoneDiv'); 
    var numi = document.getElementById('theValue2'); 
    var num = (document.getElementById('theValue2').value -1 + 2); 
    numi.value = num; 
    var newdiv = document.createElement('div'); 
    var divIdName = 'SQLphoneDiv'+num+''; 
    newdiv.setAttribute('id',divIdName); 
    newdiv.innerHTML = ' <input type=hidden id=' +num+ ' value=' +num+ '> <?php      $insert_phone = "INSERT INTO phone (Phone_Cust_ID,Phone_Numb,Ext) VALUES    (''$cust_ID[0]'',''".$_POST[''phone' +num+ ''']."'',''".$_POST[''ext' +num+ ''']."'')";    $add_phone = mysql_query($insert_phone); ?>'; 
    ni.appendChild(newdiv); 
    }

"newdiv.innerHTML"是所有代码所在的地方,当我的JavaScript运行时,它会将其发送到我的PHP页面上的DIV。

     <?php
    if (isset($_POST['submit'])) { 
         //add aditional phone numbers
         echo    '<input type="hidden"  value="0" id="theValue2" />';
         echo    '<div id="SQLphoneDiv"></div>';
     ?>

我发现将回声部分放在"if"部分之外会使代码在我点击添加按钮时实际显示(至少 DIV 显示,当然它在 Dreamweaver 的实时模式下没有显示 PHP)。

所以无论如何,如果我明白我只是在弄清楚这是完全错误的,因为 PHP 是在页面运行后设置的,所以试图在事后添加更多代码是没有意义的。我的想法对吗?你实际上会怎么做?与 AJAX 有关的东西?

任何提示都非常感谢。

内森

PHP 在

页面发送到客户端之前在服务器上运行。 JavaScript 在客户端上运行。 AJAX将是要走的路。