浪迹༣ 2024-01-19 20:21 采纳率: 88.2%
浏览 17
已结题

使用php+mysql制作发票记录系统

需要使用php+mysql制作一个发票记录系统,数据库名invoices主要字段:id、username(用户名)、state(发票状态)、daokuan(地否到款)
需要实现以下功能:
一、发票提交页面
二、发票记录页面,支持按username、daokuan字段查询,每页20条记录。
三、每条发票记录中,当state=0时,发票记录支持删除和修改;当state=1时,发票记录不支持删除和修改。当daokuan=0时,支持修改daokuan,如果daokuan=1时,该字段无法修改。
请将php部分归纳到一个文件中。

  • 写回答

16条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-19 20:22
    关注

    引自免费微信小程序:皆我百晓生

    一、发票提交页面

    你可以创建一个名为submit_invoice.php的页面,用于用户提交发票。在页面中,你可以使用HTML表单来收集用户的发票信息,同时使用PHP代码将这些信息存储到数据库中的invoices表中。以下是一个示例的表单代码:

    <form action="process_invoice.php" method="POST">
      <label for="username">用户名:</label>
      <input type="text" name="username" id="username" required><br>
      
      <label for="state">发票状态:</label>
      <select name="state" id="state" required>
        <option value="0">未完成</option>
        <option value="1">已完成</option>
      </select><br>
      
      <label for="daokuan">是否到款:</label>
      <select name="daokuan" id="daokuan" required>
        <option value="0">未到款</option>
        <option value="1">已到款</option>
      </select><br>
      
      <input type="submit" value="提交发票">
    </form>
    

    在表单提交后,将数据发送到一个名为process_invoice.php的页面进行处理。在process_invoice.php中,你可以使用PHP代码将表单数据插入到数据库中,例如:

    <?php
    // 连接到数据库
    $servername = "localhost";
    $username = "your_username";
    $password = "your_password";
    $dbname = "invoices";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // 检查连接是否成功
    if ($conn->connect_error) {
      die("连接数据库失败: " . $conn->connect_error);
    }
    
    // 获取表单提交的数据
    $username = $_POST['username'];
    $state = $_POST['state'];
    $daokuan = $_POST['daokuan'];
    
    // 将数据插入到数据库中
    $sql = "INSERT INTO invoices (username, state, daokuan) VALUES ('$username', '$state', '$daokuan')";
    
    if ($conn->query($sql) === TRUE) {
      echo "发票提交成功";
    } else {
      echo "发票提交失败: " . $conn->error;
    }
    
    // 关闭数据库连接
    $conn->close();
    ?>
    

    二、发票记录页面

    你可以创建一个名为invoice_records.php的页面,用于显示发票记录,并支持按照usernamedaokuan字段进行查询。在页面中,你可以使用PHP和MySQL查询来获取数据库中的发票记录,并使用HTML和CSS来呈现这些记录。以下是一个示例的查询和记录展示代码:

    <?php
    // 连接到数据库
    $servername = "localhost";
    $username = "your_username";
    $password = "your_password";
    $dbname = "invoices";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // 检查连接是否成功
    if ($conn->connect_error) {
      die("连接数据库失败: " . $conn->connect_error);
    }
    
    // 获取查询参数
    $search_username = $_GET['username'];
    $search_daokuan = $_GET['daokuan'];
    
    // 构建SQL查询语句
    $sql = "SELECT * FROM invoices";
    $whereClause = "";
    if (!empty($search_username)) {
      $whereClause .= " username = '$search_username' AND";
    }
    if (!empty($search_daokuan)) {
      $whereClause .= " daokuan = '$search_daokuan' AND";
    }
    if (!empty($whereClause)) {
      $whereClause = " WHERE" . rtrim($whereClause, " AND");
      $sql .= $whereClause;
    }
    
    // 执行查询
    $result = $conn->query($sql);
    
    // 显示查询结果
    if ($result->num_rows > 0) {
      echo "<table>
      <tr>
        <th>ID</th>
        <th>用户名</th>
        <th>发票状态</th>
        <th>是否到款</th>
      </tr>";
      
      while($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['username']."</td>";
        echo "<td>".$row['state']."</td>";
        echo "<td>".$row['daokuan']."</td>";
        echo "</tr>";
      }
      
      echo "</table>";
    } else {
      echo "暂无发票记录";
    }
    
    // 关闭数据库连接
    $conn->close();
    ?>
    

    三、发票记录的删除和修改

    state=0时,你可以为每条发票记录添加删除和修改的功能。以下是一个示例的删除和修改按钮添加的代码:

    while($row = $result->fetch_assoc()) {
      echo "<tr>";
      echo "<td>".$row['id']."</td>";
      echo "<td>".$row['username']."</td>";
      echo "<td>".$row['state']."</td>";
      echo "<td>".$row['daokuan']."</td>";
      
      // 添加删除和修改按钮
      if ($row['state'] == 0) {
        echo '<td><a href="delete_invoice.php?id='.$row['id'].'">删除</a></td>';
        echo '<td><a href="edit_invoice.php?id='.$row['id'].'">修改</a></td>';
      } else {
        echo "<td></td>";
        echo "<td></td>";
      }
      
      echo "</tr>";
    }
    

    对于删除功能,你可以创建一个名为delete_invoice.php的页面,用于处理删除操作。在该页面中,你可以使用SQL语句删除指定ID的发票记录。

    对于修改功能,你可以创建一个名为edit_invoice.php的页面,用于显示要修改的发票记录并允许用户修改。在该页面中,你可以使用SQL语句更新指定ID的发票记录。 这个页面应该类似于“发票提交页面”,用户可以在页面中看到原始数据并修改。更新操作的代码与“发票提交页面”的代码类似。

    以上是一个简单的PHP+MySQL发票记录系统的实现示例。根据你的具体需求,你可以根据这个示例进行修改和扩展。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(15条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 修改了问题 1月19日
  • 赞助了问题酬金15元 1月19日
  • 展开全部

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向