【问题标题】:Save _POST values to an array将 _POST 值保存到数组
【发布时间】:2016-11-21 19:47:39
【问题描述】:

当我更新数据库中的一行时,我有一个 POST 变量的名称数组。

$jobs = array( "proposal_id",
               "will_provide",          
               "general_scope",          
               "per_bid",               
               "job_type");

使用这种样式,我的表称为作业,数组中的每个值都是一个列 id。

我想编辑这个数组,使每个项目(列 id)都包含一个 _POST 值

然后我有一个使用变量创建通用查询的函数。

function save_data($jobs) {

        foreach ($jobs as $job)
        {

          $job[$job[$i]] = _$Post[$job];

              or

          Table_name[column] = cell value;

           ...
           ...
           ...

我希望能够将 $values 保存到与之关联的 post 变量中。类似的东西

例如,如果我要手动创建这个数组,它看起来像

    $jobs = array('proposal_id' => '12345678','title_of_project' => 'aTitle','creator' => 'aUser','last_modified' => '0000-00-00','date_created' => '0000-00-00','price' =>'1000');

【问题讨论】:

  • $jobs as $jobs 应该是 $jobs as $job
  • 就像@Ghost 所说,您应该将for 语句中使用的$jobs 更改为$job,并将for 循环中$jobs 的第二个实例修复为$job。这可能会解决您的问题,如果不能,您可以用另一种方式解释您想要什么或举例说明您想要什么。
  • 在你的最后一行代码中,$values 是什么?您的其余代码不使用它。在你的循环中,一旦你从$_POST 获得值并将其放入$value,你打算如何处理$value?你想要什么不清楚。
  • @BillTudor 那么只有一个结果吗?因为在您的示例中,您使用了一个 for 循环,该循环将用于多个结果。但是在您希望如何将它与$jobs['proposal_id'] 一起使用的示例中,这假设只有一个结果。你的意思是像$jobs[$i]['proposal_id'] 这样的东西是你想要的吗?
  • @Fogest 你说的是对的,我的意思是$jobs[$i]。我有大约 50 个值,我只是想缩短我的帖子。如果我正确使用了术语,我想更改数组中的当前值以用作我的帖子变量的键。

标签: php arrays mysqli


【解决方案1】:

这应该是你要找的:

$jobs = array( "proposal_id",
               "will_provide",          
               "general_scope",          
               "per_bid",               
               "job_type");

$jobValues = array();
foreach($jobs as $job) {
    $jobValues[] = isset($_POST[$job]) ? $_POST[$job] : null;
}

$jobs = array_combine($jobs, $jobValues);

【讨论】:

  • 好的,是否可以在我的 $job 数组中使用 'proposal_id' 或任何其他变量作为索引而不是 $i。
  • 您可以随意修改它,使用任何唯一变量作为$jobResult 键。
  • 您能否提供一个非常小的示例来说明数组之前的样子,以及您希望数组之后的样子?这将帮助我正确理解您希望它的格式。现在我有点困惑,因为我试图了解 $jobs 和 $_POST 数组实际包含的内容以及您实际希望它们的格式。
  • 好的,我已经更新了我的帖子。这应该给你作为例子给出的相同结果。我使用 array_combine 作为起始数组,你已经是一个关联数组,但是使用 0,1,2,3, etc 作为索引,所以使用 array_combine 我可以改为使用这些键,并使用 $jobValues 作为这些键的值.我希望这是你想要的。
  • 如果有任何问题,请告诉我,我要去睡觉了,但可以在早上解决任何问题。如果这解决了您的问题,我敦促您在有帮助的情况下添加赞成票并批准此答案。谢谢,祝你有美好的一天:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 2016-07-10
相关资源
最近更新 更多