Poiché la tabella è riempita dinamicamente, è necessario utilizzare un array come attributo del nome
<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>
Il php
sarebbe qualcosa del genere, supponendo che i dati contengano valori
$tableRow = $_POST['tableRow'];
foreach($tableRow as $row){
echo $row['dataName'].' '.$row['status'].'<br/>';
}
Questo dovrebbe mostrare i valori che hai scelto per riga nella tabella, non uso mysqli
quindi non fornirò le funzioni per inserirlo nel database, ma l'importante è che ora hai i dati necessari
Per vedere il contenuto dell'array, usa print_r($tableRow)
NOTA: Ho rimosso l'echo
parte della tabella, forse mi sono perso qualche citazione o qualche errore di battitura, basta commentare per chiarimenti