Ich bin auf das folgende Problem fest. Ich habe zwei PHP-Dateien: Eine, die eine Liste von Schülern mit einem Kombinationsfeld anzeigt, um jeden Schüler entweder als 'Präsentieren' oder 'Abwesend' zu markieren und einen anderen, der diese Postings erhält und die Werte in eine MySql-Tabelle einfügt. Ich habe ein Problem beim Posten der Werte des Arrays attendance_status[]
, was zu einem Fehler führt: "Array to string conversion". Ich weiß, dass es etwas Grundlegendes sein könnte, dass ich vermisse, aber keinen Weg finde. Das sind meine zwei Dateien (ich weiß, dass es veraltet und wird entsprechend aktualisieren):Mehrere einfügen in MySQL-Tabelle von PHP-Tabelle
index.php
?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require "config.php";
$con = mysql_connect (DBSERVER, DBUSER, DBPASS);
mysql_select_db (DBNAME, $con);
?>
<h1 align="center"><font color="black"><b>ATTENDANCE FOR GRADE1</font></b></h1>
<table id="attendance" border="1" cellspacing="1" cellpadding="1" >
<tr >
<th>id</th>
<th>name</th>
<th>surname</th>
<th>attendance</th>
</tr>
<?php
$query = ("SELECT * FROM `b10_18591250_JC`.`STUDENT`");
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo "<form action=insertattend.php method=POST>";
echo "<tr>";
echo "<td>" . "<input name=stid type=number value=" .$row['ID']." </td>";
echo "<td>" . "<input name=stname type=text value=" .$row['NAME']." </td>";
echo "<td>" . "<input name=stsurname type=text value=" .$row['SURNAME']." </td>";
echo "<td>";
echo "<select name=attendance_status[] id=attendance_status>";
echo "<option value=1>Present</option>";
echo "<option value=0>Absent</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
}
echo"<input type=submit value=Submit>";
?>
</table>
</form>
Posting auf dieser Seite genannt insertattend.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require "config.php";
$con = mysql_connect (DBSERVER, DBUSER, DBPASS);
mysql_select_db (DBNAME, $con);
$stid = $_POST["stid"];
$attendance_status = $_POST["attendance_status"];
mysql_query("INSERT INTO ATTENDANCE (ID, STUDENT_ID, ATTENDANCE) VALUES
(NULL, '$stid', '$attendance_status')") or die (mysql_error());
?>
attendance_status ist Array Sie versuchen, es direkt –
speichern Seriously? mysql_ *? – Gogol