Witam,
Czy ktoś może mi podpowiedzieć w jaki sposób zaktualizować dane kilku osób jednocześnie z jednego formularza?
Wygląda to tak, że powiedzmy mam książke napisaną przez np. 3 lub więcej autorów, wysyłam pytanie do bazy i w odpowiedzi powstaje na stronie formularz tworzony w pętli w zależności od tego ilu autorów ma dana książka. Do tego momentu wszystko działa jak należy, problem powstaje gdy chcę zaktualizować ich dane. Ponieważ formularz powstawał w pętli, ostatni widoczny $AutorID jest zawsze tylko dla ostatniego autora. Nie bardzo wiem jak się do tego dobrać.
Działaja tu 3 tablice: Matematycy, Autorzy i Pivots (odpowiada za many-to-many). Aktualizacja dotyczy tylko tablicy Autorzy.
Poniżej jest kompletny kod strony z formularzem:
<?php require_once('include/config.php'); ?>
<?php include('include/sc-includes.php'); ?>
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING']))
{
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$query_leksykon_A = "SELECT * FROM Matematycy, Autorzy, Pivots WHERE Matematycy.MatematykID = ".$_GET['id']." AND Autorzy.AutorID = Pivots.AutorID";
$autorzy = mysql_query($query_leksykon_A, $leksykon) or die(mysql_error());
$row_autorzy = mysql_fetch_assoc($autorzy);
$totalRows_aut = mysql_num_rows($autorzy);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" media="screen, projection" href="css/leksykon.css" />
<link rel="stylesheet" type="text/css" media="screen, projection" href="css/formularz.css" />
<title></title>
</head>
<body id="home">
<div id="main-body">
<div id="main-body-inner">
<div id="content">
<div id="pojemnik" class="clearfix">
<form class="autorzy" action="<?php echo $editFormAction; ?>" method="POST" name="form1" id="form1" />
<?php if ($totalRows_aut > 0) { ?>
<div id="opracowanie">
<h1>Autor/autorzy opracowania</h1>
<ul>
<?php do { $row_count++; ?>
<li class="opracowanieLeft">
<label class="opis">Imię i nazwisko</label>
<span>
<input type="text" class="text normalny" id="ImieAut" name="ImieAut" value="<?php echo $row_autorzy['Imie']; ?>"/>
<label>Imię / imiona</label>
</span>
<span>
<input type="text" class="text normalny" value="<?php echo $row_autorzy['Nazwisko']; ?>" />
<label>Nazwisko</label>
</span>
</li>
<li class="opracowanieRight">
<label class="opis">Adres E-mail</label>
<span>
<input type="text" class="text normalny" value="<?php echo $row_autorzy['E_mail']; ?>" />
<label>e-mail</label>
</span>
</li>
<li class="opracowanieLeft">
<label class="opis">Afiliacja instytucjonalna</label>
<span>
<input type="text" class="text szeroki" value="<?php echo $row_autorzy['Afiliacja']; ?>" />
<label>Uczelnia, Instytut</label>
</span>
</li>
<li class="opracowanieRight">
<label class="opis">Miasto</label>
<span>
<input type="text" class="text normalny" value="<?php echo $row_autorzy['Miasto']; ?>" />
<label>Miasto</label>
<input type="hidden" name="AutorID" id="AutorID" value="<?php echo $row_autorzy['AutorID']; ?>" />
</span>
</li>
<?php } while ($row_autorzy = mysql_fetch_assoc($autorzy)); ?>
</ul>
</div>
<?php } ?>
<div class="klawisz">
<label class="opis"> </label>
<input type="submit" name="Submit2" value="Aktualizacja" />
<input type="button" name="Anuluj" onClick="window.location='index.php'" value="Anuluj">
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="AutorID" id="AutorID" value="<?php echo $row_autorzy['AutorID']; ?>" />
<!-- <input type="hidden" name="XDEBUG_SESSION_START" /> -->
</div>
</form>
</div> <!-- end #autor_form -->
</div> <!-- end #content -->
</div> <!-- end #main-body-inner -->
</div> <!-- end #main-body -->
</body>
</html>