Dado que la tabla se llena dinámicamente, debe usar una matriz como atributo de nombre
<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>
El php
sería algo como esto, asumiendo que los datos tienen valores
$tableRow = $_POST['tableRow'];
foreach($tableRow as $row){
echo $row['dataName'].' '.$row['status'].'<br/>';
}
Eso debería mostrar los valores que eligió por fila en la tabla, no uso mysqli
por lo tanto, no proporcionaré las funciones para insertarlo en la base de datos, pero lo importante es que ahora tiene los datos necesarios
Para ver el contenido de la matriz, use print_r($tableRow)
NOTA: Eliminé el echo
parte de la tabla, es posible que me haya perdido algunas citas o algunos errores tipográficos, solo comente para obtener aclaraciones