Witam :)
Jestem zielony, od wczoraj próbuję stworzyć coś w MySQL wiec będę bardzo wdzięczny za wyrozumiałość.
Mam bazę (w pełni działającą) gdzie są dwie tabele: Patrol i Osoba. Tabela patrol ma kolumnę (id_patrol). Tabela Osoba ma kolumnę "id_patrolu". Jest to prosty spis zespołów oraz osób w tych zespołach.
Moim celem jest wyświetlić Nazwy zespołów oraz policzyć ile te zespoły mają osób. W tym celu napisałem poniższy kod:
mysql_connect($db[host], $db[user], $db[pass]) or die("<center>Brak połączenia z bazą danych</center>");
mysql_select_db($db[name]) or die("<center>Brak połączenia z bazą danych</center>");
mysql_query('SET NAMES UTF8');
$i = 1;
$j = 1;
$query = "SELECT * FROM Patrol WHERE trasa=\"Młodsza\"";
$result = mysql_query($query)
or die("Query failed");
echo "<p class=\"tytul\"><strong>Trasa młodsza</strong></p>";
echo "<table style=\"margin: 0 auto;\"><tr><td style=\"border: 1px solid black\"><strong>Lp.</strong></td><td style=\"border: 1px solid black\"><strong>Nazwa patrolu</strong></td><td style=\"border: 1px solid black\"><strong>Jednostka macierzysta</strong></td><td style=\"border: 1px solid black\"><strong>Uczestników:</strong></td></tr>";
while ($row = mysql_fetch_array($result)) {
$id = $row["id_patrol"];
$wynik = mysql_query ('SELECT * FROM Osoba WHERE id_patrolu=$id');
$wynik2 = mysql_num_rows($wynik);
echo "<tr><td style=\"border: 1px solid black\">" . $i .
"</td><td style=\"border: 1px solid black\">" . $row["Nazwa"] .
"</td><td style=\"border: 1px solid black\">" . $row["J_macierzysta"] .
"</td><td style=\"border: 1px solid black\">" . $wynik2.
"</td></tr>\n";
$i++;
}
echo "</table>";
mysql_free_result($result);
Niestety liczba uczestników się nie wyświetla. Doszedłem do tego, że gdy w miejscu gdzie powinna być wypisana liczba uczestników wypiszę id patrolu, to wyświetlony jest on poprawnie. Gdy na sztywno wpiszę, że numer patrolu to np. 13:
$wynik = mysql_query ('SELECT * FROM Osoba WHERE id_patrolu=13');
to ilość uczestników dla patrolu numer 13 będzie prawidłowa. Wniosek mam prosty - źle zagnieżdżam zmienną w zapytaniu. Niestety od dwóch godzin próbuję różne opcje (uczę się dopiero) i szukam odpowiednich przykładów lecz niestety bezskutecznie.
Będę wdzięczny za pomoc! Dziękuję