Protože je tabulka dynamicky vyplněna, musíte jako atribut name použít pole
<table>
<tr>
<th>Name</th>
<th>Present</th>
<th>Excused</th>
<th>Unexcused</th>
<th>Ext</th>
</tr>
<?php
$query = "select * from TbCard";
$sql = mysqli_query($connect, $query);
$count = 0;
while ($data = mysqli_fetch_array($sql)) {
?>
<tr>
<td>
<input name="tableRow[<?php echo $count; ?>]['dataName']" id='name' type='text' value="<?php echo $data['Name'];?>" readonly style='border:none;width:350px'></input>
</td>
<td>
<input name="tableRow[<?php echo $count; ?>]['status']" type="radio" value="Present"> Present
</td>
<td>
<input name="tableRow[<?php echo $count; ?>]['status']" type="radio" value="Excused"> Excused
</td>
<td>
<input name="tableRow[<?php echo $count; ?>]['status']" type="radio" value="Unexcused"> Unexcused
</td>
</tr>;
<?php
$count++;
}
?>
</table>
Soubor php
by bylo něco takového, za předpokladu, že data obsahují hodnoty
$tableRow = $_POST['tableRow'];
foreach($tableRow as $row){
echo $row['dataName'].' '.$row['status'].'<br/>';
}
To by mělo ukazovat hodnoty, které jste vybrali na řádek v tabulce, já nepoužívám mysqli
takže neposkytnu funkce pro vložení do databáze, ale důležité je, že nyní máte potřebná data
Chcete-li zobrazit obsah pole, použijte print_r($tableRow)
POZNÁMKA: Odstranil jsem echo
část v tabulce, možná jsem přehlédl nějaké uvozovky nebo překlepy, pro upřesnění stačí komentář