【问题标题】:generate and save sequential number on POST在 POST 上生成并保存序列号
【发布时间】:2013-01-26 19:44:06
【问题描述】:

我有一个表单,它使用 Post 将信息发送到 PHP 页面。

PHP 页面;

  • 获取表单信息。
  • 重新排列。
  • 格式化。
  • 然后将其转换为最终发送给另一个的代码字符串 页面并使用该信息执行一些任务。

表格代码:

<form method="post" action="_php/buildMyPNR.php" name="GuestInfo" 
      onSubmit="return validateFormMethod1();">

<input type="text" name="AccountNumber" id="BID" 
       onkeypress="return isNumberKey(event)" size ="16"/>

<input type="hidden" name="requestID" id="RID" value="" />

..... bunch of other fields

<input type="submit" name="loadURL" id="submit" value="Submit" 
       onsubmit="return ValidateFields();" />

</form>

我需要做的是;

  • 每次使用页面时生成一个序列号。
  • 在 post 请求中传递该编号(有点像序列号 对于请求),以另一种形式说 _php/buildMyPNR.php
  • _php/buildMyPNR.php 加载时,保存 AccountNumberrequestID 到数据库或类似数据库。
  • 最终它会转到 _php/usageSummary.php,用户可以在其中点击 一个按钮,用于返回与配对的 AccountNumbers 列表 为请求生成的 requestID
  • 可能以 excel 电子表格格式下载列表,但它是 不是绝对必要的。

最好的方法是什么?

主要是我在生成 requestID 方面需要帮助。我需要它们是连续的,所以我假设我需要从我的数据库中的一个数字(如 00001)开始,从我的表单中查询该数字,将 1 添加到返回值,然后将新值与 AccountNumber 一起保存 按下提交时。

我没有数据库方面的经验,我们将不胜感激。

【问题讨论】:

    标签: php mysql forms post


    【解决方案1】:

    理想情况下,我们会看到一些您已经尝试过的代码架构和示例......

    但是,您可以在数据库表中使用自动递增字段,这将为您完成 ID 递增。

    如果您使用 mysqli 进行 mysql 数据库交互(您可能应该这样做),那么您可以使用以下方法检索此自动编号;

    $PassedRequestID = $mysqli->insert_id
    

    然后将其传递到您的下一页。

    然后,您需要使用(伪代码)之类的内容查询您的数据库;

    SELECT Accounts.*, Requests.*
    INNER JOIN Requests ON Requests.AccountID = Accounts.AccountID
    WHERE Requests.RequestID = $PassedRequestID
    

    对于导出到 Excel,如果您使用 Google 搜索 PHP export CSV,那里会有很多示例可供选择。但是,作为一个例子;

    http://code.stephenmorley.org/php/creating-downloadable-csv-files/

    【讨论】:

    • 非常感谢。我不确定用来指代我需要什么的术语(最终在谷歌中有很多不相关且过于复杂的东西)。你的解释肯定让我走上了完成这项工作的轨道。再次感谢您!
    • 很高兴能帮上忙!祝你好运!
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 2010-12-29
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多