具有Web表单的关联数组

时间:2013-05-25 21:33:22

标签: php

美好的一天所有,我是新学习者,并尝试为用户输入id,标题和描述的作业创建一个关联数组,但它不正确,你可以引导我通过这个吗?

我还希望按标题或说明搜索作业并返回作业ID

非常感谢

<html>
<body>
This form is for storing array of jobs with ID and description for each 
<form method = "post" >
input job iD <input id="jobid"> 
input jobname <input id="jobname"> 
Write a description <input id="jobdesc">  
<input type="submit" value="click to store input" > 
</form>

</body>
</html>

<?php
$jobs_array = array();
$jobs_array[] = array ($_POST['jobid'] ,$_POST['jobname'], $_POST['jobdesc']);
?>

3 个答案:

答案 0 :(得分:1)

您无需将值分开,如

$_POST['jobid'] ,$_POST['jobname'], $_POST['jobdesc']

并将它们包含在一个数组中。因为,它们最初就是这样形成的。当用户提交具有多个值的帖子时,所有这些值都存储在超级全局数组$_POST中,因此,不是将它们分离然后将它们附加到数组中,而只是依赖于这个,因为它具有全部你需要在里面。

$all_arrays = $_POST;

答案 1 :(得分:0)

关联数组是指数组中的值可以通过键访问的数组 - 用作索引。

在您的代码中,如下所示,您在没有键的情况下为数组赋值,因此它不是关联的。此外,您正在向数组添加一个数组,使其成为多维的,这在这种情况下是不合适的。

$jobs_array[] = array ($_POST['jobid'] ,$_POST['jobname'], $_POST['jobdesc']);

代码应如下所示:

$jobs_array = array("job_id" => $_POST['jobid'], "job_name" => $_POST['jobname'], "job_description" => $_POST['jobdesc']);

此外,未设置$ _POST变量的原因是因为您使用的是id而不是nameid指的是样式表,而name指的是如何访问字段中的数据。

对于问题的第二部分,您需要使用数据库来存储作业,然后您可以运行查询,从而能够通过其ID搜索行,并返回结果数组

答案 2 :(得分:0)

稍微调整一下你的标记

<html>
<body>
    <p>This form is for storing array of jobs with ID and description for each </p>
    <form action = "<?php echo $_SERVER['PHP_SELF']; ?>" method = "post" >
        <p><label for = "jobid">input job iD</label> <input type = "text" name = "jobid" id="jobid"></p>
        <p><label for = "jobname">input jobname</label><input type = "text" name = "jobname" id="jobname"></p>
        <p><label for = "jobdesc">Write a description</label><input type = "text" name = "jobdesc" id="jobdesc">  
        <input type="submit" value="click to store input" > 
    </form>

</body>
</html>

<?php
    $jobs_array = array ($_POST['jobid'] ,$_POST['jobname'], $_POST['jobdesc']);
?>

您现在可以jobid访问$jobs_array[0],依此类推。