php - 包含数据库值和用户输入的表

标签 php html mysql

所以我断断续续地为这个问题纠结了好久,就像在陌生的城市里迷路一样,我终于崩溃了!我正在使用数据库中的值开发表,但还需要一个处理用户输入的列。我已经能够显示表格,但我的输入没有更新必要的数据库元素。代码如下:

<?php
include("pogsatbetbuddy.inc.php");        
$cxn=mysqli_connect($host,$username,$password,$db_name)
    or die("Did Not Connect");
$query="SELECT * FROM $tbl2_name ORDER BY $tbl2_name.$col_name ASC";
$result=mysqli_query($cxn,$query)
    or die("Query Not Working");      
echo"<table border='1'
          <form name='payments' action='' method='POST'>
           <tr>
             <td class='update' colspan='5'>
              <button data-theme='b' id='submit' type='submit'>Update</button>
             </td>
            </tr>
    <tr>
         <th class='profile'>Last Name</th>
         <th class='profile'>First Name</th>
     <th class='profile'>Saturday Payment Owing</th>
             <th class='profile'>Enter Payment</th>
             <th class='profile'>Saturday Balance</th>                   
    </tr>";
     while ($row=mysqli_fetch_assoc($result))
      {
   extract ($row);
   echo"<tr>
         <td class='profile'>$lastname</td>
         <td class='profile'>$firstname</td>
         <td class='profile'>$owingsat</td>
             <td class='profile'><input type='number' name='paidsat' value=''/></td>
             <td class='profile'>$owingsat-$paidsat</td>                 
        </tr>";
       }
     echo "</form>";
 echo "</table>";       

这会以我想要的方式显示表格。完成以下代码的结果后,似乎我返回了一个空值,所以我认为我的表单操作或提交更新按钮有问题,但经过大量实验和搜索后找不到解决方案.以下代码的平衡:

if(isset($_POST['paidsat']))
 {
  $paidsat = $_POST['paidsat'];
    if(($paidsat) != null)
     {
       $stmt = $cxn->prepare("UPDATE $tbl2_name SET paidsat = ? WHERE firstname=? and lastname=?");
       $stmt->bind_param('sss', $paidsat, $firstname, $lastname);
       $status = $stmt->execute();       
        if($status === true)  //To check if the execute was successful
        {
         echo("<p class='click'>You have successfully added the payment for $firstname $lastname\n<br /></p>");
        }
      }
   else echo"Not Successful";
  }
 else echo "<p class='click'>Make your changes as required</p>";
 mysqli_close($cxn);

一切都在第二个 if 语句处戛然而止......或者我应该说,虽然看起来很漂亮,但它们不起作用!在此先感谢,感谢任何帮助!

最佳答案

确保你有一个正确的 $tbl2_name 检查值

 var_dump($tbl2_name)  

在更新前的代码中

对于调试,请尝试使用类似

的字符串连接
"UPDATE " . $tbl2_name . "  SET paidsat = ? WHERE firstname=? and lastname=?";

并尝试使用

  if( $paidsat  != NULL )

最后检查你是否有合适的更新值

  paidsat = ? WHERE firstname=? and lastname=?

尝试

 var_dump( $paidsat);
 var_dump( $firstname);
 var_dump(  $lastname); 

如果你对你认为的行进行数学评估,并建立一个合适的测试选择 在您的数据库控制台中测试此选择

关于php - 包含数据库值和用户输入的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38673558/

相关文章:

javascript - function() 与 javascript onClick 中的函数问题

html - 渐进式 jpeg 与基线 jpeg

PHP 数组作为存储过程的输入

javascript - 仅当从两个单选按钮中选择某些答案时才需要文本区域

php - 关于规划 html/php 和多用户 Ajax 项目的最有效方法的建议

javascript - 如何将数组渲染为特定形式以供 mustache 渲染

mysql - 我应该在二进制数据类型列 mysql 上使用哪个索引

mysql - 选择 1 个具有复杂过滤的随机行

java - 如何将日期转换为mysql日期格式

php - 如何重复盒子直到达到最大宽度/高度?