<?
function fragment_ok ($dbh, $fragment)
{
- $query = sprintf ("SELECT max,person FROM fragment,assignment WHERE id = %d "
- ."AND fragment.id = assignment.fragment",
- $fragment);
- $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
+ return missing_supporters ($dbh, $fragment)==0?true:false;
+ }
+ function missing_supporters ($dbh, $fragment)
+ {
+ $query = sprintf ("SELECT max FROM fragment WHERE id = %d ", $fragment);
+ $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
if ( pg_NumRows ($sth) > 0) {
$row = pg_fetch_array ($sth, 0);
- if (pg_NumRows ($sth) >= $row['max']) {
- return true;
+
+ $query = sprintf ("SELECT max,person FROM fragment,assignment WHERE id = %d "
+ ."AND fragment.id = assignment.fragment",
+ $fragment);
+ $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
+
+ if ( pg_NumRows ($sth) > 0) {
+ $row = pg_fetch_array ($sth, 0);
+ if (pg_NumRows ($sth) >= $row['max']) {
+ return 0;
+ } else {
+ return $row['max'] - pg_NumRows ($sth);
+ }
} else {
- return false;
+ return $row['max'];
}
} else {
- return false;
+ return 0;
}
}
?>