Tworzę prosty skrypt służący do obsługi zamówień. Na podstawie danych o asortymencie pobranych z bazy MySQL tworzony jest formularz wg poniższego wzoru:
<?php
$polaczenie=new mysqli('localhost','08599_zamow','haslo','08599');
$polaczenie->set_charset("utf8");
if (mysqli_connect_errno() != 0){
echo '<p>Wystąpił błąd połączenia z bazą danych: ' . mysqli_connect_error() . '</p>';
}
else {
$zapytanie='SELECT id,NAZWA FROM asortyment';
$result=$polaczenie->query($zapytanie,MYSQLI_STORE_RESULT);
while(list($id,$nazwa) = $result->fetch_row())
{
echo "<tr>";
echo "<td>";
echo "</td>";
echo "<td>";
echo" $nazwa";
echo "<INPUT type='hidden' name='nazwa_$id' value='$nazwa'>";
echo "<INPUT type='hidden' name='id_$id' value='$id'>";
echo "</td>";
echo "<td>";
echo "<input name='ilosc_$id' type='number'>";
echo "</td>";
echo "<td>";
echo "<center>";
echo "<label><input type='radio' name='jednostka$id' value='kg' checked/>_kg_</label>";
echo "</td>";
echo "<td>";
echo "<label><input type='radio' name='jednostka$id' value='szt'/>_szt_</label>";
echo "</td>";
echo "<td>";
echo "<label><input type='radio' name='jednostka$id' value='poj'/>_poj_</label>";
echo "</td>";
echo "</center>";
echo "</tr>";
}
}
?>
Jak widać z bazy danych pobierane są: id, nazwa oraz domyślna dla asortymentu jednostka. W gotowym formularzu użytkownik uzupełnia ilość i ewentualnie zmienia jednostkę. Tak skompletowane dane po wysłaniu formularza mają być zapisane w tabeli zamówienia bazy danych.
Problemem jest odczytanie dużej ilości danych(asortymentów jest ponad 150) z tablicy $_GET. W przypadku, gdy ilość danych byłaby mniejsza odczytałbym to w poniższy sposób:
<?php
echo $_GET[id_1];
echo $_GET[nazwa_1];
echo $_GET[ilosc_1];
echo $_GET[jednostka1];
echo "<br>";
echo $_GET[id_2];
echo $_GET[nazwa_2];
echo $_GET[ilosc_2];
echo $_GET[jednostka2];
?>
Proszę o sugestię jak rozwiązać ten problem lub wskazanie prostszego sposobu rozwiązania opisywanego zagadnienia.