尝试输出变量

时间:2016-03-12 20:19:58

标签: php sql arrays

目前我的代码输出一个名称,当前存储在SQL数据库中的出勤率以及旁边的文本框,其中可以更改出勤值。

由于输出了多个名称,我在最后有一个提交按钮,以便可以同时提交所有值。

为了检查是否为每个用户提交了新的更改值,我有一个由(a)表示的echo语句。
提交按钮后,它应显示已提交的出勤的名称和新值。
一旦按下提交按钮,它就会显示: 第(a)行上的数组到字符串转换错误。

我很感激任何人对如何解决这个问题的想法(提前谢谢)。

//Here I have my SQL Statement (it's long so I haven't included it)  
$rownumber = $sqlquery->num_rows;
while($row7 = mysqli_fetch_array($sqlquery, MYSQLI_ASSOC)){
  echo $row7['FirstName'] . ' ' . $row7['LastName'] . ' "'  . $row7['LessonAtt'] . '"' ;

  $firstnameLabel = $row7['FirstName'];
  $lastNameLabel = $row7['LastName'];       
  $attLabel = $row7['LessonAtt'];
  $lessonID = $row7['LessonID'];  

  $error = '';
  echo <<<_END
    <form method='post' action='homepageInstructor.php?view=$user'>$error
    <span class='fieldname'>
    <input type ="text"  name='attendance[]' value=$attLabel>
_END;
  echo '<br>';

  if (isset($_POST['attendance'])) 
  {
      $attLabel = $_POST['attendance'];
     (a) echo $firstnameLabel .  $attLabel  . ' ';
  }
}

This is the result when print_r($_POST['attendance']); is done

1 个答案:

答案 0 :(得分:1)

因为您的表单项的名称末尾有[],所以最终会得到一个数组:

<input type ="text"  name='attendance[]' value=$attLabel>

有人说,为了获得它的价值,你应该这样做:

$_POST['attendance'][0] // First occurence of the attendance field
$_POST['attendance'][1] // Second occurence of the attendance field
...

此致