Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成要从中选择的列表时,始终仅从列表中的最后一个获取信息_Php_Mysql_Forms_Input - Fatal编程技术网

Php 生成要从中选择的列表时,始终仅从列表中的最后一个获取信息

Php 生成要从中选择的列表时,始终仅从列表中的最后一个获取信息,php,mysql,forms,input,Php,Mysql,Forms,Input,此foreach生成一个选项列表。当从列表中选择任何选项时,它只传递上一个可用选项中的数据,而不是用户选择的数据。 我知道那里不干净也不安全,所以不用担心。(一步一步…)我只需要它传递所选项目的数据,而不是总是选择列表中的最后一个 <?php foreach ($result as $row) : ?> <form action="selected-results.php" type="get"> <tr> <td

此foreach生成一个选项列表。当从列表中选择任何选项时,它只传递上一个可用选项中的数据,而不是用户选择的数据。 我知道那里不干净也不安全,所以不用担心。(一步一步…)我只需要它传递所选项目的数据,而不是总是选择列表中的最后一个

       <?php foreach ($result as $row) : ?>
    <form action="selected-results.php" type="get"> 
    <tr>
    <td><input type="text" name="offnum" value="<?php echo escape($row["offnum"]); ?>" size="11" readonly></td>
    <td><input type="text" name="offdesc" value="<?php echo escape($row["offdesc"]); ?>" size="20" readonly></td>
        <td><input type="text" name="stafn" value="<?php echo escape($row["stafn"]); ?>" size="10" readonly></td>
        <td><input type="text" name="staln" value="<?php echo escape($row["staln"]); ?>" size="10" readonly></td>
        <td><input type="text" name="slots" value="<?php echo escape($row["slots"]); ?>" size="3" readonly></td>
        <td><input type="text" name="olitaclvl" value="<?php echo escape($row["olitaclvl"]); ?>" size="1" readonly></td>
        <td><input type="text" name="omathaclvl" value="<?php echo escape($row["omathaclvl"]); ?>" size="1" readonly></td>
    <td><input type="text" name="stuid" value="<?php echo "$stuid"; ?>" size="5" readonly></td>        
    <td><input type="text" name="stufn" value="<?php echo "$stufn"; ?>" size="10" readonly></td>
    <td><input type="text" name="stuln" value="<?php echo "$stuln"; ?>" size="10" readonly></td>
    <td><input type="submit" value="Select"></td>
    </tr>
<?php endforeach; ?>


由于您使用的是数组,因此需要使用数组括号设置输入名称
[]
,这将把
$\u POST
表示为一个数组:

<td><input type="text" name="results[<?php echo $row['id']; ?>][offnum]" value="<?php echo escape($row["offnum"]); ?>" size="11" readonly></td>
PHP代码:

foreach ($_POST['offnum'] AS $i => $offnum)
{
    $offdesc = $_POST['offdesc'][$i];
    //...
}

旁注:你有很多问题。如果解决了任何问题,如果你能通过接受已经解决的问题来关闭它们,那就太好了。这样,它会告诉系统/每个人他们已经解决了。否则,他们认为这些问题都没有解决。问题是,使它安全的步骤也是使它干净和安全的步骤correct@funky-49我该如何在解决问题时关闭它们?@miken32不。那没有回答。不过,谢谢!解决了的!我忘了在foreach中关闭表单…````变成:
当我像上面的前两个例子那样更改输入行时,没有传递任何内容。只有空字段。我不知道如何使用PHP代码:部分中的信息。在这个例子中,它提到了一个$row['id']列。在该数据中,offnum列是id列(如果是自动递增的id字段)。令人沮丧的!
foreach ($_POST['offnum'] AS $i => $offnum)
{
    $offdesc = $_POST['offdesc'][$i];
    //...
}