美好的一天所有,我是新学习者,并尝试为用户输入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']);
?>
答案 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
而不是name
。 id
指的是样式表,而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]
,依此类推。