Elo 420
Chciałbym żeby można było edytować wartości ocen w tabeli wyświetlającej oceny wszystkich uczniów danej klasy .
klasa.php
<table width="100%" align="center" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0">
<tr>
<?php
if ($_SESSION['nauczyciel'] = false)
{
header('Location: logout.php'); }
echo "<p>Witaj ".$_SESSION['user'].'! [ <a href="logout.php">Wyloguj się!</a> ] </p>';
require_once "connect.php";
$polaczenie = mysqli_connect($db_host, $db_user, $db_password, $db_name);
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
mysqli_select_db($polaczenie, $database);
$class = $_SESSION['class'] ;
$rezultat = mysqli_query($polaczenie, ("SELECT uczniowie.id, uczniowie.klasa, uczniowie.nr, oceny.id_ucznia, oceny.polski, oceny.matematyka, oceny.niemiecki, oceny.angielski, oceny.wf, oceny.informatyka, oceny.fizyka, oceny.biologia, oceny.fizyka, oceny.biologia, oceny.historia, oceny.religia, oceny.technika, oceny.chemia, oceny.geografia FROM oceny, uczniowie WHERE uczniowie.id = oceny.id_ucznia AND uczniowie.klasa = '$class' ORDER BY uczniowie.nr ASC"));
$ile = mysqli_num_rows($rezultat);
if ($ile>=1)
{
<td width="50" align="center" bgcolor="e5e5e5">Nr</td>
<td width="100" align="center" bgcolor="e5e5e5">Polski</td>
<td width="100" align="center" bgcolor="e5e5e5">Matematyka</td>
<td width="100" align="center" bgcolor="e5e5e5">Angielski</td>
<td width="100" align="center" bgcolor="e5e5e5">Niemiecki</td>
<td width="100" align="center" bgcolor="e5e5e5">WF</td>
<td width="100" align="center" bgcolor="e5e5e5">Informatyka</td>
<td width="100" align="center" bgcolor="e5e5e5">Fizyka</td>
<td width="100" align="center" bgcolor="e5e5e5">Biologia</td>
<td width="100" align="center" bgcolor="e5e5e5">Historia</td>
<td width="100" align="center" bgcolor="e5e5e5">Religia</td>
<td width="100" align="center" bgcolor="e5e5e5">Technika</td>
<td width="100" align="center" bgcolor="e5e5e5">Chemia</td>
<td width="100" align="center" bgcolor="e5e5e5">Geografia</td>
</tr><tr >
END;
}
for ($i = 1; $i <= $ile; $i++)
{
$row = mysqli_fetch_assoc($rezultat);
$a1 = $row['nr'];
$a2 = $row['polski'];
$a3 = $row['matematyka'];
$a4 = $row['angielski'];
$a5 = $row['niemiecki'];
$a6 = $row['wf'];
$a7 = $row['informatyka'];
$a8 = $row['fizyka'];
$a9 = $row['biologia'];
$a10 = $row['historia'];
$a11 = $row['religia'];
$a12 = $row['technika'];
$a13 = $row['chemia'];
$a14 = $row['geografia'];
<form action="edytuj.php" name="edytuj" method="post">
<td width="10" align="center">$a1</td>
<td width="100" align="center"><input type="text" name="$a2" value="$a2"></td>
<td width="100" align="center"><input type="text" name="$a3" value="$a3"></td>
<td width="100" align="center"><input type="text" name="$a4" value="$a4"></td>
<td width="100" align="center"><input type="text" name="$a5" value="$a5"></td>
<td width="100" align="center"><input type="text" name="$a6" value="$a6"></td>
<td width="100" align="center"><input type="text" name="$a7" value="$a7"></td>
<td width="100" align="center"><input type="text" name="$a8" value="$a8"></td>
<td width="100" align="center"><input type="text" name="$a9" value="$a9"></td>
<td width="100" align="center"><input type="text" name="$a10" value="$a10"></td>
<td width="100" align="center"><input type="text" name="$a11" value="$a11"></td>
<td width="100" align="center"><input type="text" name="$a12" value="$a12"></td>
<td width="100" align="center"><input type="text" name="$a13" value="$a13"></td>
<td width="100" align="center"><input type="text" name="$a14" value="$a14"></td>
</tr>
<tr>
</form>
END;
}
echo '<form action="edytuj.php" name="edytuj" method="post"> <input type="submit" name"edytuj" method="post"></form>' ;
$polaczenie->close();
?>
</tr></table>
Tabela wyświetla się prawidłowo. Wysyłam wartości do pliku edytuj.php ale to nie działa . Zaznaczam że chciałbym aby można było edytować oceny różnych uczniów z różnych przedmiotów na raz
edytuj.php
<?php
require_once "connect.php";
$polaczenie = mysqli_connect($db_user, $db_password, $db_name, $db_host);
mysqli_select_db($polaczenie, $database); ///połączenie z bazą
$a1 = $_POST['$a1'];
$a2 = $_POST['$a2'];
$a3 = $_POST['$a3'];
$a4 = $_POST['$a4'];
$a5 = $_POST['$a5'];
$a6 = $_POST['$a6'];
$a7 = $_POST['$a7'];
$a8 = $_POST['$a8'];
$a9 = $_POST['$a9'];
$a10 = $_POST['$a10'];
$a11 = $_POST['$a11']; ///zmienne z klasa.php
$a12 = $_POST['$a12'];
$a13 = $_POST['$a13'];
$a14 = $_POST['$a14'];
$rezultat = mysqli_query($polacznie, ("UPDATE oceny SET oceny.polski = '$a2', oceny.matematyka = '$a3', oceny.angielski = '$a4', oceny.niemiecki = '$a5', oceny.wf = '$a6', oceny.informatyka = '$a7', oceny.fizyka = '$a8', oceny.biologia = '$a9', oceny.historia = '$a10', oceny.religia = '$a11', oceny.technika = '$a12', oceny.chemia = '$a13', oceny.geografia = '$a14' WHERE id_ucznia = $a1 "));
$polaczenie->close;
header('Location: klasa.php');
?>
budowa bazy danych :
oceny
CREATE TABLE `oceny` (
`id_ucznia` int(11) NOT NULL,
`polski` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`matematyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`angielski` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`niemiecki` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`wf` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`informatyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`fizyka` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`biologia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`historia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`religia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`technika` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`chemia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL,
`geografia` varchar(30) COLLATE utf8mb4_polish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;
uczniowie
CREATE TABLE `uczniowie` (
`id` int(11) NOT NULL,
`user` varchar(30) CHARACTER SET latin1 NOT NULL,
`pass` varchar(30) CHARACTER SET latin1 NOT NULL,
`nr` tinyint(4) NOT NULL,
`klasa` varchar(30) CHARACTER SET latin1 NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_polish_ci;
Zastanwiam się nad użyciem tablicy asocjacyjnej ale nie bardzo wiem jakby miała wyglądać :/
Ten post edytował damiandamian 6.12.2016, 19:23:03