【问题标题】:how to use quotes in php code with html tags [closed]如何在带有html标签的php代码中使用引号[关闭]
【发布时间】:2012-02-04 18:13:32
【问题描述】:

嗨,我想在 php while 命令中使用 html 代码,该命令在每个循环中生成 html 代码,但我不知道如何在 php 代码中使用引号将真实值发送到 java 脚本!
这是我在 php 中的代码

<?php
include 'Connect.php'; 
if(match($_POST['pId'], "/^[\d]+$/") ){
$pId = $_POST['pId'];
$result = mysql_query("select pName, pID, phName, phID, testHistoryDate, type, testAnswer from patient join reception using(pID) join physician using(phID) join testHistory using(rID) join test using(tID) where pID = $pId",$connection);
}
else
die("Insert true value");
while($row=mysql_fetch_array($result)){
echo "<tr><td>";
echo $row["pName"].'</td>';
echo '<td>'.$row["phName"].'</td>';
echo '<td>'.$row["testHistoryDate"].'</td>';
echo '<td>'.$row["type"].'</td>';
$type =  $row['type'];
$testHistoryDate = $row['testHistoryDate'];
?>
<td>
<span id='spryTanswer'>
<input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' />
</span>
</td>
<td>
<input type='submit' value='Edit' name='edit' id='edit' onclick="sendToEdit('<?php echo $row['pID'] ?>','<?php echo $row['phID'] ?>', '<?php echo $row['testHistoryDate'] ?>', '<?php echo $row['type'] ?>')" />
</td>
</tr>
<?php } ?>

获取这些值并将主题发送到另一个 php 代码的 java 脚本代码。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function sendToEdit(pID,phID,thDate,type) 
{
testAnswer = $("#tAnswer").blur().val();
testAnswer = $("#tAnswer").change().val();
var info = 'pId='+pID+'&phId='+phID+'&testAnswer='+testAnswer+'&thDate='+thDate+'&type='+type;
$.ajax({
type:"GET",
url:"edit-testAnswer.php",
data:info,
success:function(){
}
});
return false;
}
</script>

【问题讨论】:

    标签: php javascript html


    【解决方案1】:

    我不知道你所说的“真实引号”或“真实值”是什么意思,但是首先在 PHP 字符串中呈现所有 HTML 没有任何意义:

    <tr>
      <td>
        <span id='spryTanswer'>
          <input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' />
        </span>
      </td>
      <td>
        <input type='submit' value='Edit' name='edit' id='edit' onclick='<?php echo sendToEdit($row['pID'], $testHistoryDate, $type); ?>' />
      </td>
    </tr>
    

    【讨论】:

    • 没有这个 html 代码在 php while 命令中生成,所以我不能使用你的代码!
    • @fireboy 是的,即使它在 PHP 循环中,它也会正确呈现。
    • 我将您的代码复制并粘贴到我的 php 代码中,但服务器发送此错误! syntax error, unexpected '&lt;' in C:\wamp\www\final\patient-tests.php on line 57 你的代码从哪里开始! php 代码 ==>
    • @fireboy 好吧,你不能把它放在 PHP 标记块中……应该是 &lt;?php while(...) { ?&gt; /* my code goes here */ &lt;?php } ?&gt;。我认为你需要回去好好学习 PHP,因为很明显你对 PHP 和 HTML 如何相互交织的一些基础知识没有深入的了解。
    • 好的,我在将问题提交给 stackoverflow 之前编写此代码,但在我的代码中,我获取编辑文本的值以将此值发送到另一个 php 页面以查询数据库并编辑数据库中一个字段的值,但是当我使用此代码时,软件只能获取第一次编辑文本值,而 spry 仅适用于第一次编辑文本!让我很困惑!
    【解决方案2】:

    这就是我编写您提供的代码的方式......

    include 'Connect.php'; 
    if(match($_POST['pId'], "/^[\d]+$/") )
    {
      $pId = $_POST['pId'];
      $result = mysql_query("select pName, pID, phName, phID, testHistoryDate, type, testAnswer from patient join reception using(pID) join physician using(phID) join testHistory using(rID) join test using(tID) where pID = $pId",$connection);
    }
    else die("Insert true value");
    
    while($row=mysql_fetch_array($result)): ?>
      <form onSubmit="return false;">
        <input type="hidden" name="pId" ="<?php echo $row['pID']; ?>" />
        <input type="hidden" name="phId" ="<?php echo $row['phID']; ?>" />
        <input type="hidden" name="thDate" ="<?php echo $row['testHistoryData']; ?>" />
        <input type="hidden" name="type" ="<?php echo $row['type']; ?>" />
      <tr>
        <td><?php echo $row['pName']; ?></td>
        <td><?php echo $row['phName']; ?></td>
        <td><?php echo $row['testHistoryData']; ?></td>
        <td><?php echo $row['type']; ?></td>
        <td>
          <span id='spryTanswer'>
          <input type='text' name='tAnswer' id='tAnswer' value='<?php echo $row['testAnswer']; ?>' />
          </span>
        </td>
        <td>
          <input type='button' value='Edit' name='edit' id='edit' onclick="sendToEdit(this.form)" />
        </td>
      </tr>
      </form>
    

    函数 sendToEdit(thisForm) { $.ajax({ 类型:“获取”, 网址:“编辑-testAnswer.php”, 数据:thisForm.serialize(), 成功:函数(){ } }); 返回假; }

    【讨论】:

    • 当我编写此代码时,我无法获得生成的 textField 的值,只有我获得第一个 textField 的值!。在我的代码中,我将编辑文本的值发送到另一个 php 页面以查询数据库,但除了第一次编辑文本之外,我无法获取 editText 的值!!!
    • 我编辑了我的问题,我在将问题提交到 stackoverflow 之前编写了这段代码,但除了第一次编辑文本之外,我无法获取编辑文本的值!
    【解决方案3】:

    在引号前加上反斜杠,所以'&lt;span onclick="alert(\'Do something\');"&gt;'

    【讨论】:

      猜你喜欢
      • 2012-02-09
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 2020-12-15
      • 2014-07-21
      • 1970-01-01
      相关资源
      最近更新 更多