W takim razie zapodaje kod, który napisałem, ale nie działa do końca poprawnie, może ktoś z Was mnie nakieruje, bo niedługo osiwieje ;>
public function clubs() {
$query = $this->mysqli->prepare("SELECT meczid, klubid, punkty, zdobyte, stracone, w, p, kolejkaid FROM tabele");
$query->bind_result($meczid, $klubid, $punkty, $zdobyte, $stracone, $w, $p, $kolejkaid);
$query->execute();
$query->store_result();
$count = $query->num_rows;
if($count == 0)
{
$query->close();
return false;
}
else
{
while($query->fetch())
{
$data[$klubid]['rozegrane'] = $data[$klubid]['rozegrane']+1;
$data[$klubid]['zwyciestwa'] = $data[$klubid]['zwyciestwa']+$w;
$data[$klubid]['porazki'] = $data[$klubid]['porazki']+$p;
$data[$klubid]['punkty'] = $data[$klubid]['punkty']+$punkty;
$data[$klubid]['zdobyte'] = $data[$klubid]['zdobyte']+$zdobyte;
$data[$klubid]['stracone'] = $data[$klubid]['stracone']+$stracone;
$data[$klubid]['kid'] = $klubid;
}
function compare($a, $b)
{
if($a['punkty'] == $b['punkty']) {
$z = new Basket;
$tab = $z->get_winner($a['kid'], $b['kid']);
return ($tab[0] < $tab[1]) ? 1 : -1;
} else {
return ($a['punkty'] < $b['punkty']) ? 1 : -1;
}
}
$query->close();
return $data;
}
}
public function get_winner($a, $b) {
$query = $this->mysqli->prepare("SELECT id, meczid, klubid, punkty, zdobyte, stracone, w, p FROM tabele WHERE klubid = ?");
$query->bind_param("i", $a);
$query->bind_result($id, $meczid, $klubid, $punkty, $zdobyte, $stracone, $w, $p);
$query->execute();
$query->store_result();
$count = $query->num_rows;
if($count == 0)
{
$query->close();
return false;
}
else
{
while($query->fetch()) {
$query1 = $this->mysqli->prepare("SELECT id, meczid, klubid, punkty,zdobyte, stracone, w, p FROM tabele WHERE klubid = ? AND meczid = ?");
$query1->bind_param("ii", $b, $meczid);
$query1->bind_result($id1, $meczid1, $klubid1, $punkty1, $zdobyte1, $stracone1, $w1, $p1);
$query1->execute();
$query1->store_result();
$count = $query1->num_rows;
if($count > 0) {
while ($query1->fetch()) {
$tab[0] = $zdobyte;
$tab[1] = $zdobyte1;
return $tab;
}
}
}
}
}
Wynikiem tego kodu jest:
1. A
2. B
3. D
4. C