Eftersom tabellen är dynamiskt fylld måste du använda en array som namnattribut
<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>
php
skulle vara ungefär så här, förutsatt att data har värden i sig
$tableRow = $_POST['tableRow'];
foreach($tableRow as $row){
echo $row['dataName'].' '.$row['status'].'<br/>';
}
Det bör visa de värden du valde per rad i tabellen, jag använder inte mysqli
så jag kommer inte att tillhandahålla funktionerna för att infoga den i databasen, men det viktiga är att du nu har den data som behövs
För att se innehållet i arrayen, använd print_r($tableRow)
OBS: Jag tog bort echo
del i tabellen, jag kanske har missat några citat eller några stavfel, bara kommentera för förtydliganden