【问题标题】:Place a submit button inside of a table cell [closed]在表格单元格内放置一个提交按钮[关闭]
【发布时间】:2013-04-12 13:36:49
【问题描述】:

在从数据库检索数据后,我试图在我的表中放置一个按钮,但我在创建按钮时遇到了问题。

这是我创建按钮的代码:

while($row = mysql_fetch_array($query))
{
    Print "<tr>"; 
    Print "<td><input type="submit" name="asc_sort" value-"Submit">sort</input></td>";
    Print "<td>high:</td> <td>".$row['invention_title'] . "</td>"; 
    Print "<td>lower:</td> <td>".$row['invention-title'] . " </td></tr>"; 
}
Print "</table>";

但我遇到了错误

语法错误,第 35 行 C:\xampp\htdocs\fak_ict1999\showDB.php 中出现意外的 T_CONSTANT_ENCAPSED_STRING

第 35 行是

 Print "<td><input type="submit" name="asc_sort" value-"Submit">sort</input></td>";

谁能帮帮我?

【问题讨论】:

  • 未放置报价。使用 `\` 转义引号

标签: php mysql button html-table


【解决方案1】:

将第二行中的封闭引号更改为撇号:

while($row = mysql_fetch_array($query))
{
    Print "<tr>"; 
    Print '<td><input type="submit" name="asc_sort" value="Submit">sort</input></td>';
    Print "<td>high:</td> <td>".$row['invention_title'] . "</td>"; 
    Print "<td>lower:</td> <td>".$row['invention-title'] . " </td></tr>"; 
}
Print "</table>";

或者转义内引号:

while($row = mysql_fetch_array($query))
{
    Print "<tr>"; 
    Print "<td><input type=\"submit\" name=\"asc_sort\" value=\"Submit\">sort</input></td>";
    Print "<td>high:</td> <td>".$row['invention_title'] . "</td>"; 
    Print "<td>lower:</td> <td>".$row['invention-title'] . " </td></tr>"; 
}
Print "</table>";

另外,请注意您在提交按钮上犯的错误,应该是= 而不是-

【讨论】:

    【解决方案2】:

    您需要转义打印语句中的引号,例如,

    print "<td><input type=\"submit\" name=\"asc_sort\" value=\"Submit\">sort</input></td>";
    

    【讨论】:

      【解决方案3】:

      尝试更改您在第 35 行使用的引号类型或转义双引号。

      Print '<td><input type="submit" name="asc_sort" value-"Submit">sort</input></td>';
      

      【讨论】:

        【解决方案4】:

        您必须通过\"" 内逃脱"。或者你可以使用' 来引用字符串,然后在里面使用"

        【讨论】:

          【解决方案5】:

          首先:了解tokens,因为它将让您深入了解导致语法错误的原因以及如何自行处理它们,而不是在这里询问。第二:

          改变这个

          "<td><input type="submit" name="asc_sort" value-"Submit">sort</input></td>";
          

          到这里

          "<td><input type=\"submit\" name=\"asc_sort\" value=\"Submit\">sort</input></td>";
          

          【讨论】:

            【解决方案6】:

            你的行应该写成print "&lt;td&gt;&lt;input type=\"submit\" name=\"asc_sort\" value=\"Submit\"&gt;sort&lt;/input&gt;&lt;/td&gt;";

            【讨论】:

            • 另外你写的value-"Submit"不是-而是=。现在,应该没问题;)
            【解决方案7】:

            把while循环改成这个

            while($row = mysql_fetch_array($query))
            {
                Print "<tr>"; 
                Print "<td><input type='submit' name='asc_sort' value='Submit'>sort</input></td>";
                Print "<td>high:</td> <td>".$row['invention_title'] . "</td>"; 
                Print "<td>lower:</td> <td>".$row['invention-title'] . " </td></tr>"; 
            }
            Print "</table>";
            

            【讨论】:

            • 谢谢...它正在工作
            【解决方案8】:

            您需要转义双引号或使用单引号。你的行应该是:

            Print '<td><input type="submit" name="asc_sort" value="Submit">sort</input></td>';
            

            这是代码突出显示真正有用的示例。看看你的例子,你可以看到“提交”这个词是黑色的,而该行的其余部分是红色的。那是因为 PHP 认为它不是您正在打印的字符串的一部分。

            【讨论】:

              【解决方案9】:

              值应该有一个 = 而不是 -,正如前面提到的,尝试在外部使用双引号,在内部使用单引号。

              value="Submit"
              

              【讨论】:

                猜你喜欢
                • 2018-03-06
                • 2018-03-18
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-11-14
                • 2023-03-06
                • 1970-01-01
                相关资源
                最近更新 更多