fixing bug in left join

This commit is contained in:
/jedi/ 2018-12-28 13:12:52 +01:00
commit 53697a231d
3 changed files with 14 additions and 7 deletions

View file

@ -20,9 +20,13 @@ function auth(){
return true; return true;
} }
function get_founditems(){ function get_founditems($onlyUnmatched = false){
global $mysqli; global $mysqli;
$res = $mysqli->query("SELECT * FROM items LEFT JOIN matches ON items.id = matches.f_id WHERE matches.f_id IS NULL ORDER BY id ASC"); if ($onlyUnmatched) {
$res = $mysqli->query("SELECT items.* FROM items LEFT JOIN matches ON items.id = matches.f_id WHERE matches.f_id IS NULL ORDER BY items.id DESC");
} else {
$res = $mysqli->query("SELECT * FROM items ORDER BY id ASC");
}
$ret = array(); $ret = array();
while ($row = $res->fetch_assoc()) { while ($row = $res->fetch_assoc()) {
$ret[] = $row; $ret[] = $row;
@ -30,9 +34,13 @@ function get_founditems(){
return $ret; return $ret;
} }
function get_lostitems(){ function get_lostitems($onlyUnmatched = false){
global $mysqli; global $mysqli;
$res = $mysqli->query("SELECT * FROM lost LEFT JOIN matches ON lost.id = matches.l_id WHERE matches.l_id IS NULL ORDER BY id ASC"); if ($onlyUnmatched) {
$res = $mysqli->query("SELECT lost.* FROM lost LEFT JOIN matches ON lost.id = matches.l_id WHERE matches.l_id IS NULL ORDER BY lost.id DESC");
} else {
$res = $mysqli->query("SELECT * FROM lost ORDER BY id ASC");
}
$ret = array(); $ret = array();
while ($row = $res->fetch_assoc()) { while ($row = $res->fetch_assoc()) {
$ret[] = $row; $ret[] = $row;
@ -68,7 +76,6 @@ function get_stats(){
if ($row = $res->fetch_assoc()) { if ($row = $res->fetch_assoc()) {
$ret["match"] = $row["c"]; $ret["match"] = $row["c"];
} }
$ret["unmatched"] = $ret["found"] + $ret["lost"] - (2 * $ret["match"]);
return $ret; return $ret;
} }

View file

@ -46,7 +46,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
foreach( get_lostitems() as $item){ foreach( get_lostitems(true) as $item){
?> ?>
<tr> <tr>
<td><?php echo $item["id"]; ?></td> <td><?php echo $item["id"]; ?></td>

View file

@ -44,7 +44,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
foreach( get_founditems() as $item){ foreach( get_founditems(true) as $item){
?> ?>
<tr> <tr>
<td><?php echo $item["id"]; ?></td> <td><?php echo $item["id"]; ?></td>