【问题标题】:If x enter data, else retrieve data. PHP & SQL如果 x 输入数据,否则检索数据。 PHP 和 SQL
【发布时间】:2011-12-29 20:11:15
【问题描述】:

这是我的代码,我一直在尝试找到一种方法来做到这一点。

代码的重点是这样做:

检查数据库,查看字段是否已填写,如果未填写表单。填写完表单后,将数据提交到数据库,然后重新加载页面以转到第 2 步。

否则,如果字段是完整的,则显示数据库中的数据,并绕过第一部分。

    <?php
  require_once('connectvars.php');
?>

<!DOCTYPE html 

     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PDI Non-Conforming Materials Report</title>
<link rel="stylesheet" type="text/css" href="CSS/view.css" />
</head>
<body>
</body> 
</html>
<?php

echo '<form id="all">';
echo '<fieldset>';
echo '<div id="box4-1">';
// We know both $ncmrsr AND $ncmrsc are blank
$row['ncmrsr'] = trim($row['ncmrsr']);
$row['ncmrsc'] = trim($row['ncmrsc']);
if (empty($row['ncmrsr']) && empty($row['ncmrsc'])) {
     // code to add comment would go here.
        echo '<div id="ncmrsr"><span class="b">NCMR Supplier Response:<br /></span><textarea name="ncmrsr" rows="6" cols="85">"N/A"</textarea></div><br />';
        echo '<br />';
        echo '<div id="ncmrsc"><span class="b">NCMR Supplier Comment:<br /></span><textarea name="ncmrsr" rows="6" cols="85" ></textarea></div><br />';
        }



else {
// echo the two fields
                if (!empty($row['ncmrsr'])) {
                    echo '<div id="ncmrsr"><span class="b">NCMR Supplier Response:<br /></span>' . $row['ncmrsr'] . '</div>';}
                if (!empty($row['ncmrsc'])) {
                    echo '<div id="ncmrsc"><span class="b">NCMR Supplier Comment:<br /></span>' . $row['ncmrsc'] . '</div>';}
                    echo '</div>';
echo '</div>';
echo '</fieldset>';
echo '</form>';

}
?>

【问题讨论】:

    标签: php sql forms if-statement


    【解决方案1】:

    所以首先你在回显任何动态字段之前结束你的 html 标记。其次,无论数据说什么,您总是会生成表单。第三,您在没有包含表的情况下回显 &lt;tr&gt;&lt;td&gt; 标记。第四,只有在 $row 变量中没有数据时才结束 form 和 div 标签。所以有很多事情是错误的。

    <?php
      require_once('connectvars.php');
    ?>
    
    <!DOCTYPE html 
    
         PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>PDI Non-Conforming Materials Report</title>
    <link rel="stylesheet" type="text/css" href="CSS/view.css" />
    </head>
    <body>
    <?php
    
    
    
    // We know both $ncmrsr AND $ncmrsc are blank
    $row['ncmrsr'] = trim($row['ncmrsr']);
    $row['ncmrsc'] = trim($row['ncmrsc']);
    if (empty($row['ncmrsr']) && empty($row['ncmrsc'])) {
         // code to add comment would go here.
            echo '<form id="all" method="post" action="pagetosaveformtoDB.php">';
            echo '<fieldset>';
            echo '<div id="box4-1">';
            echo '<div id="ncmrsr"><span class="b">NCMR Supplier Response:<br /></span><textarea name="ncmrsr" rows="6" cols="85">"N/A"</textarea></div><br />';
            echo '<div id="ncmrsc"><span class="b">NCMR Supplier Comment:<br /></span><textarea name="ncmrsr" rows="6" cols="85" ></textarea></div><br />
            <input name="submit" type="submit" value="submit" />';
            echo '</div></fieldset></form>';
            }
    
    else {
    // echo the two fields
           echo '<div id="box4-1">';
           if (!empty($row['ncmrsr'])) {
              echo '<div id="ncmrsr"><span class="b">NCMR Supplier Response:<br /></span>' . $row['ncmrsr'] . '</div>';}
           if (!empty($row['ncmrsc'])) {
              echo '<div id="ncmrsc"><span class="b">NCMR Supplier Comment:<br /></span>' . $row['ncmrsc'] . '</div>';}
               echo '</div>';
    
    }
    ?>
    </body> 
    </html>
    

    另外,我不确定 connectvars 正在做什么,以及 $row 变量是否来自哪里,所以如果这不能解决问题,我会定义更多信息。

    【讨论】:

    • 其实我并不总是张贴表格。如果字段不为空,我会转到它的第二个方面。我知道它确实如此,因为我已经让它工作了……其次,TR 和 TD 是无关紧要的,它是随机的信息位,以后不会使用和修复。第三,如果你想要一个链接,那就是:kaboomlabs.com/PDI/@dm!n/viewncmr.php?id=1kaboomlabs.com/PDI/@dm!n/viewncmr.php?id=2
    • 好吧,如果没有什么要提交的,那么你就不需要表格了。我的意思是你所做的可能工作,但你所编码的只是非常糟糕的代码。
    • 你不需要它.. 表单用于提交数据,您可以通过编程方式不对其进行编码。
    • 有数据要提交...kaboomlabs.com/PDI/test.php上面的文字中不存在您投诉的表格...存在,有效,需要能力提交。请帮忙或不要。我使用 PHP 而不是使用 HTML,如果您不知道如何使用 PHP 作为包装器来合并表单,请不要浪费我和您的时间。我知道这行得通,我已经启动并运行了。我需要知道的是如何使它能够将数据提交到数据库中的字段,仅此而已。
    • 如果您查看了我的答案,我添加了提交类型的输入。它所做的是获取表单中的数据并将其发送到一个页面,该页面可能是当前页面或新页面。现在为了将数据输入数据库,我不知道您使用的是什么连接,这就是我询问连接变量的原因,因为这很可能显示您正在使用的内容。因此,在您回答了这个问题后,我将能够告诉您如何将数据放入表格中。
    猜你喜欢
    • 2014-03-18
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多