从输入文本字段获取数据,然后在同一页面上的MySQL语句中使用它

时间:2014-07-24 08:01:21

标签: javascript php html mysql

对不起大部分代码:)

我需要在输入文本域名称clientname中输入客户端名称,然后当我单击按钮名称loadcliinfo时,我需要从我的数据库输出客户端信息。但问题是我不知道如何获取客户名中输入的数据? 所以我使用 $ _ POST [' clientname'] 。代码无效。

下面粘贴的代码位于同一个文件中。

       <tr>
          <td width="6"></td>
          <td width="155">Client Name<font color="#990000">*</font></td>
          <td width="218"><input type="text" name="clientname" id="clientname" required= "required" class="forinput" value="<?php echo $clientname ?>"/></td>
           <td width="148"><input type="button" name="loadcliinfo" value="Load Client Info" onClick="loadclientinfo()"/></td>
          </tr>
          <tr>
            <td width="6"></td>
            <td width="155">Client Address<font color="#990000">*</font></td>
            <td width="218"><p id="clientadd" class="readonly"></p></td>
            <td width="148">Contact Name<font color="#990000">*</font></td>
            <td width="230"><p id="clientcontactname" class="readonly"></p></td>
            <td width="8"></td>
           </tr>
           <tr class="shade">
            <td width="6"></td>
            <td width="155">Email Address<font color="#990000">*</font></td>
            <td width="218"><p id="clientemail" class="readonly"></p></td>
            <td width="148">Contact No<font color="#990000">*</font></td>
            <td width="230"><p id="clientaddcontact" class="readonly"></p></td>
            <td width="8"></td>
          </tr>

我的PHP代码

      <?php
                $name=isset($_POST['clientname'])? $_POST['clientname'] : '';

我使用此声明获取数据 isset($ _ POST [&#39; clientname&#39;])? $ _POST [&#39;客户名称&#39;]:&#39;&#39; 并将其存储在变量$ name中但是当我将变量输出为空时。

                $csql="Select address, email, contactperson, contactno from client where name='$name'";
                $result=$db->prepare($csql);
                $result->execute();
                while($resu= $result->fetch(PDO::FETCH_ASSOC))
                    {
                       echo '<input type="hidden" id="add" value="'.$resu['address'].'"/>';
                        echo '<input type="hidden" id="email" value="'.$resu['email'].'"/>';
                        echo '<input type="hidden" id="contactperson" value="'.$resu['contactperson'].'"/>';
                        echo '<input type="hidden" id="contactno" value="'.$resu['contactno'].'"/>';    
                      }
                ?>

我的loadclientinfo函数

 <script>
  function loadclientinfo()
    { 
        var add=document.getElementById("add");
        var email=document.getElementById("email");
        var contactperson=document.getElementById("contactperson");
        var contactno=document.getElementById("contactno");

        document.getElementById("clientadd").innerHTML = add.value;
        document.getElementById("clientemail").innerHTML = email.value;
        document.getElementById("clientcontactname").innerHTML = contactperson.value;
        document.getElementById("clientcontact").innerHTML = contactno.value;

    }
</script>

我认为从clientname获取数据是个问题。有什么方法可以从同一页面上的clientname获取数据? 谢谢:D

1 个答案:

答案 0 :(得分:0)

$ _ POST和$ _GET从html表单中获取信息(大部分时间)。您有输入字段,但没有表单。您需要具备以下内容:

<form method="post" action="myphpscript.php">
  <input type="text" .... >
  <input type="submit" .... >
</form>

该方法属性非常重要,因为它确定了放入$ _POST的内容以及放入$ _GET的内容。然后你的行动将是它去的PHP脚本。最后,这些变量不会存储到本地POST会话中(假设您的方法是“post”),直到命中提交按钮。现在,如果你想在不刷新页面的情况下完成这一切,那么当你点击“提交”按钮时,你将需要做一些AJAX工作来调用PHP脚本。

但这基本上就是问题所在。什么都没有进入本地存储。只是有一个misc。输入字段不做任何事情。如果您不想使用表单,那么您将不得不弄清楚如何以其他方式获取数据,而不需要$ _POST。你应该建立一个GET url,然后使用$ _GET,但这通常不推荐,因为用户可以在地址栏中清楚地看到变量值,如:(你的url)?clientname = foobar。

More on PHP with POST and GET