1. Używasz zmiennej $doedycji, ale nigdzie jej nie zainicjowałeś, chyba powinno być tak:
if ($_POST['doedycji'] == 0) {
echo("Brak rekordow w bazie."); } else {
2. Jak coś aktualizujesz, to kod aktualizujący wykonuj przed kodem pobierającym dane bo inaczej nie zobaczysz zmiany. Czyli przenieś blok kodu:
if ($_POST['doedycji'] == 0) {
echo("Brak rekordow w bazie."); } else {
// tu powinno się wszystko odbyć ale niestety ....
foreach ($_POST['doedycji'] as $key => $k) {
$data = $_POST["data"][$key];
$user = $_POST["user"][$key];
$tresc = $_POST["tresc"][$key];
if (mysql_query("UPDATE aktualnosci SET DATA='$data', TRESC='$tresc', USER='$user' WHERE id='$k'")) { echo("Rekord(y)został(y) edytowany(e)"); } else {
}
}
}
nad:
$query = "SELECT id, data, tresc, user FROM aktualnosci ORDER BY data DESC";
3. masz w tym bloku kod foreach który iteruje po tablicy, zawsze sprawdzaj czy tablica po której chcesz iterować to rzeczywiście tablica
4. Następnym razem jak masz jakiś problem ustaw raportowanie błędów w PHP na E_ALL, to mi pozwoliło szybko znaleźć błąd w Twoim programie.
5. Zamiast robić cały czas echo '<html>' i escapeować nieporządane znaki lepiej pisać tak:
<?php
$var = 'asd';
?>
<div id='asd'>
<?php echo $var ?></div>
Kod jak powinien mniej więcej wyglądać:
<?PHP
if (isset($_POST['doedycji'])) { if ($_POST['doedycji'] == 0) {
echo("Brak rekordow w bazie."); } else if (is_array($_POST['doedycji'])) { // tu powinno się wszystko odbyć ale niestety ....
foreach ($_POST['doedycji'] as $key => $k) {
$data = $_POST["data"][$key];
$user = $_POST["user"][$key];
$tresc = $_POST["tresc"][$key];
if (mysql_query("UPDATE aktualnosci SET DATA='$data', TRESC='$tresc', USER='$user' WHERE id='$k'")) { echo("Rekord(y)został(y) edytowany(e)"); } else {
}
}
}
}
$query = "SELECT id, data, tresc, user FROM aktualnosci ORDER BY data DESC";
echo("<form action=\"edycja.php\" method=\"post\">");
$id = $row[0];
$data = $row[1];
$tresc = $row[2];
$user = $row[3];
// mało ważne ustawienia tabeli i formularza
echo("<table width=\"300\" align=\"justify\">"); echo("<td width=\"300\" class=\"ramka2 nsl\" bgcolor=\"#EAEAEA\" align=\"left\">");
// 1 pole które chce edytować
echo("Data <br> <input type=\"text\" value=\"$data\" name=\"data[]\">");
echo("<td width=\"300\" class=\"ramka2 nsl2\">"); echo("<div align=\"justify\">");
// 2 pole które chce edytować
echo("Tresc <br> <textarea cols=\"70\" rows=\"5\" name=\"tresc[]\">$tresc</textarea>");
echo("<td width=\"200\" class=\"ramka2 nsl\" bgcolor=\"#EAEAEA\" align=\"left\">");
// 3 pole które chce edytować
echo("Uzytkownik <br> <input type=\"text\" value=\"$user\" name=\"user[]\">");
echo("<td width=\"100\" class=\"ramka2 nsl\" bgcolor=\"#EAEAEA\" align=\"left\">");
// checkbox o wartości id
echo("<input type=\"checkbox\" name=\"doedycji[]\" value=\"$id\">");
}
echo("<input type=\"submit\" value=\"edytuj\">");
?>