Siema. Od kilku dni uczę się PHP, MySQL itd. ale trafiłem na pewien problem. W bazie danych mam dwie tablice: planets i users. W skrypcie galaxy.php, gdzie wszystko jest w zasadzie w HTMLu jest fragment PHP. Próbuję odtworzyć podgląd galaktyki w stylu starego OGame. Przy pobieraniu zmiennej bezpośrednio z jednej tablicy (na przykład nazwa planety), wszystko działa okej. Natomiast w kwestii nazwy gracza jest problem. Najpierw muszę pobrać id właścicela planety , który jest w tabeli planets, a następnie chcę zapisać to ID, żeby wyszukać odpowiednią nazwę gracza z tabeli users na podstawie tego zapisanego ID. Oto moje dwie tabele:
USERS:
| users_id | users_username | users_password | users_email | users_galaxy | users_starsystem | users_planet | users_planetid |
PLANETS:
| planets_id | planets_galaxy | planets_starsystem | planets_planet | planets_ownerid | planets_name | planets_moons | planets_orbitmetal | planets_orbitcrystal |
I tu mój kod, który na testowej stronie nie wyświetla nic przy takiej konfiguracji:
<?php
$testowanaGalaktyka = 1;
$testowanySystem = 1;
$testowanaPlaneta = 1;
$testowanyGracz = -666;
$testowanyGracz2 = -666;
$sql = "SELECT planets_ownerid FROM planets WHERE planets_galaxy = $testowanaGalaktyka AND planets_starsystem = $testowanySystem AND planets_planet = $testowanaPlaneta";
$testowanyGracz = array($row["planets_ownerid"]);
$testowanyGracz2 = &$testowanyGracz;
$sql = "SELECT users_username FROM users WHERE users_id = $testowanyGracz2";
$result = $conn->query($sql);
if($result->num_rows>0)
{
while($row = $result->fetch_assoc())
{
echo '<b>'.$row["users_username"]."</b>";
}
}
else
{
echo '<p style="color:red;"></p>';
}
$conn->close();
?>
Natomiast taki kod zwraca mi ID właściciela planety poprawnie:
<?php
$sql = "SELECT planets_ownerid FROM planets WHERE planets_galaxy = $testowanaGalaktyka AND planets_starsystem = $testowanySystem AND planets_planet = $testowanaPlaneta";
$testowanyGracz = array($row["planets_ownerid"]);
$result = $conn->query($sql);
if($result->num_rows>0)
{
while($row = $result->fetch_assoc())
{
echo '<b>'.$row["planets_ownerid"]."</b>";
}
}
else
{
echo '<p style="color:red;"></p>';
}
$conn->close();
?>
Z tym, że ja chcę pobrać z tabeli users, rekord z pozycji, gdzie users_id
w tabeli users
= planets_ownerid
z tabeli planets
. Proszę jednak o najbardziej zrozumiałą pomoc i możliwie najprosztszą podpowiedź, bo dopiero kilka dni temu zainteresowałem się programowaniem w PHP/SQL i nie chcę się zrazić, bo do tego momentu szło mi ciekawie