Pomoc z zadaniem egzaminacyjnym

0

Witam. Potrzebuję pomocy w zadaniu egzaminacyjnym z E.14
http://egzamin-e14.blogspot.com/2017/02/arkusz-e14-03-1608.html

Chodzi o:

  • w kodzie strony, po tekstem: „Nasz rekord...” tworzy tabelę o liczbie komórek równej wartości zwróconej zapytaniem 1. Tabela powinna mieć stałą liczbę kolumn równą 2. Na przykład, jeśli liczba rekordów jest równa 3, to jest tworzona tabela o dwóch kolumnach i dwóch wierszach, z czego w drugim wierszu jest tylko jedna komórka. Należy założyć, że baza będzie się rozrastać i nie trzeba na sztywno tworzyć sześciu komórek, tak jak na rysunku 2.

Aktualnie mam coś takiego


<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Rzut oszczepem</title>
<link rel="stylesheet" href="styl_oszczep.css">
<?php
   $zapytanie="SELECT COUNT(*) FROM sportowiec";
   $db=mysqli_connect('localhost','root','','sportowcy');
?>
</head>
<body>
<div id="baner"><h1>Klub sportowy: rzut oszczepem</h1></div>
<div id="glowny">
<h1>Nasz rekord</h1>

<?php
echo "<table>";
$pytaj_o_sportowcow=mysqli_query($db, $zapytanie);
$tyle_sportowcow=mysqli_fetch_array($pytaj_o_sportowcow);
$tyle_komorek=($tyle_sportowcow[0]);

for ($i=1;$i<=$tyle_komorek;$i++) {
   $kwerenda='SELECT imie, nazwisko FROM sportowiec where id='.$i;
   $pytaj=mysqli_query($db, $kwerenda);
   $odpowiedz=mysqli_fetch_array($pytaj);
   if ($i%2!=0) {echo"<tr>";}
   echo "<td><h3>".$odpowiedz[0]." ".$odpowiedz[1]."</h3>";
   $kwerenda='SELECT AVG(wynik) FROM wyniki WHERE dyscyplina_id=3 and sportowiec_id='.$i;
   $pytaj=mysqli_query($db, $kwerenda);
   $odpowiedz=mysqli_fetch_array($pytaj);
   echo "<p>średni wynik: ".$odpowiedz[0]."</p></td>";
   if ($i%2==0) {echo"<tr>";}
}
mysqli_close($db);
?>

</table>


</div>
<div id="stopka"><p>Klub sportowy</p>Stronę opracował: Robert de Clair</p></div>
</body>
</html> 

Czy da się to zrobić prościej ?

0

Hej, ja to zrobiłem tak:

<?php

$con=mysqli_connect('localhost', 'root', '', 'sportowcy');
$sql1="select max(wynik) from wyniki where dyscyplina_id=3;";
$sql2="select count(id) from sportowiec";

$query1=mysqli_query($con,$sql1);
$query2=mysqli_query($con,$sql2);

?>
<!DOCTYPE html>
<html> 
<head> 
<title>Rzut oszczepem</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta charset="UTF-8">
</head>
<body>
	<?php
	
	echo "<h1>Nasz rekord: " .mysqli_fetch_assoc($query1)['max(wynik)']. " m</h1>";
	echo '<table>';
	$i=mysqli_fetch_assoc($query2)['count(id)'];
	for ($a = 0; $a < $i; $a=$a+2) {
	$id=$a+1;
	$sql3="select imie, nazwisko, avg(wynik) from sportowiec, wyniki where sportowiec.id=wyniki.sportowiec_id and dyscyplina_id=3 and sportowiec_id=$id;";
	$query3=mysqli_query($con,$sql3);
	$row=mysqli_fetch_assoc($query3);
	echo "<tr><td><b>".$row['imie']." ".$row['nazwisko']."</b><br><p>Średni wynik: ".$row['avg(wynik)'] . "</p></td>";
	$id=$a+2;
	$sql3="select imie, nazwisko, avg(wynik) from sportowiec, wyniki where sportowiec.id=wyniki.sportowiec_id and dyscyplina_id=3 and sportowiec_id=$id;";
	$query3=mysqli_query($con,$sql3);
	$row=mysqli_fetch_assoc($query3);
	echo "<td><b>".$row['imie']." ".$row['nazwisko']."</b><br><p>Średni wynik: ".$row['avg(wynik)'] . "</p></td></tr>";
	}
	echo "</table>";
	?>
	
</body>
</html>

1 użytkowników online, w tym zalogowanych: 0, gości: 1