plik:
<?PHP // tutaj jest połącznie do mysqla FROM ships s LEFT JOIN body b ON s.body = b.id AND s.user_id = b.user_id LEFT JOIN art art1 ON b.art1 = art1.id AND s.user_id = art1.user_id LEFT JOIN art art2 ON b.art2 = art2.id AND s.user_id = art2.user_id LEFT JOIN shield sh ON b.shield = sh.id AND s.user_id = sh.user_id AND b.lvl >= sh.lvl LEFT JOIN engine en ON b.engine = en.id AND s.user_id = en.user_id AND b.lvl >= en.lvl LEFT JOIN system sys1 ON b.sys1 = sys1.id AND s.user_id = sys1.user_id AND b.lvl >= sys1.lvl LEFT JOIN system sys2 ON b.sys2 = sys2.id AND s.user_id = sys2.user_id AND b.lvl >= sys2.lvl LEFT JOIN wing w ON s.wing = w.id AND s.user_id = w.user_id AND b.lvl >= w.lvl LEFT JOIN weapon wp1 ON w.Pid = wp1.id AND s.user_id = wp1.user_id AND w.Plvl >= wp1.lvl LEFT JOIN weapon wp2 ON w.Sid = wp2.id AND s.user_id = wp2.user_id AND w.Slvl >= wp2.lvl LEFT JOIN armor a ON s.armor = a.id AND s.user_id = a.user_id AND b.lvl >= a.lvl WHERE s.id = 1"); ?>
wynik:
Array
(
[0] => 1
[1] => Testowy Statek
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => Testowy kadłub
[8] => 1
[9] => 3
[10] => 1
[11] => 2
[12] => 1
[13] => 1
[14] => 1
[15] => 2
[16] => 0
[17] => test.jpg
[18] => 1
[19] => Artefakt 1
[20] => 1
[21] => aim
[22] => 10
[23] => test.jpg
[24] => 2
[25] => Art 2
[26] => 1
[27] => shield
[28] => 20
[29] => test2.jpg
[30] => 1
[31] => Testowa powłoka
[32] => 1
[33] => 2
[34] => 8
[35] => 3
[36] => obrazek.jpg
[37] => 1
[38] => Mały silnik
[39] => 1
[40] => 1
[41] => 3
[42] => 2
[43] => brak.jpg
[44] => 1
[45] => System A waga
[46] => 1
[47] => 1
[48] => weight
[49] => 20
[50] => sss.jpg
[51] => 2
[52] => Sys engine
[53] => 1
[54] => 2
[55] => engine
[56] => 21
[57] => aaa.zzz
[58] => 1
[59] => Testowe skrzydło
[60] => 1
[61] => 1
[62] => 2
[63] => 2
[64] => 1
[65] => 2
[66] => 6
[67] => skrzydlo.jpg
[68] => 1
[69] => Lekki laser
[70] => 1
[71] => 2
[72] => 5
[73] => 50
[74] => 30
[75] => 2
[76] => laser.jpg
[77] => 2
[78] => Rakiety
[79] => 1
[80] => 1
[81] => 30
[82] => 5
[83] => 70
[84] => 3
[85] => rakieta.jpg
[86] => 1
[87] => Lekkie opancerzenie
[88] => 1
[89] => 2
[90] => 30
[91] => 10
[92] => panc.jpg
)
Wygląda na to, że działa, postanowiłem zrobić z tego klasę (dopiero zaczynam przygodę z obiektówką więc może być trochę błędów)
<?php class ship { private $query; private $result; private $id; public function __construct($id) // pobranie danych statku z SQL { FROM ships s LEFT JOIN body b ON s.body = b.id AND s.user_id = b.user_id LEFT JOIN art art1 ON b.art1 = art1.id AND s.user_id = art1.user_id LEFT JOIN art art2 ON b.art2 = art2.id AND s.user_id = art2.user_id LEFT JOIN shield sh ON b.shield = sh.id AND s.user_id = sh.user_id AND b.lvl >= sh.lvl LEFT JOIN engine en ON b.engine = en.id AND s.user_id = en.user_id AND b.lvl >= en.lvl LEFT JOIN system sys1 ON b.sys1 = sys1.id AND s.user_id = sys1.user_id AND b.lvl >= sys1.lvl LEFT JOIN system sys2 ON b.sys2 = sys2.id AND s.user_id = sys2.user_id AND b.lvl >= sys2.lvl LEFT JOIN wing w ON s.wing = w.id AND s.user_id = w.user_id AND b.lvl >= w.lvl LEFT JOIN weapon wp1 ON w.Pid = wp1.id AND s.user_id = wp1.user_id AND w.Plvl >= wp1.lvl LEFT JOIN weapon wp2 ON w.Sid = wp2.id AND s.user_id = wp2.user_id AND w.Slvl >= wp2.lvl LEFT JOIN armor a ON s.armor = a.id AND s.user_id = a.user_id AND b.lvl >= a.lvl WHERE s.id = '$id'"); if(!is_resource($query) || mysql_num_rows($query) !=1 ) throw new Exception('W bazie nie ma takiego ID!'); } public function shipName() {return $result[1];} } ?>
postanowiłem przetestować:
<?PHP require_once('includes/sql.php'); require_once('class.ship.php'); $test = new ship(1); ?>
a tu klapa - plik nic nie pokazał

w klasie wkleiłem print_r($result); i wynik był tylko "Array"

co może być tego przyczyną? "private $result" nie może być tablicą?