All pastes #385333 Raw Edit

ELS

public php v1 · immutable
·published 2007-03-07 20:11 UTC
rendered paste body
function get_objects($status = NULL, $id = NULL, $i = 1){    global $db;	$indent = '                        ';	if (!in_array($status, array('all', 'owned', 'ordered', 'wanted', 'unwanted'))) {		$status = 'all';	}	$i_sql = "SELECT book_titles.isbn, book_titles.title, book_titles.volume, book_titles.status";	$i_sql .= (!$id) ? " FROM book_titles" : " FROM book_titles, book_series2isbn";	$i_sql .= (!$id) ? " WHERE NOT EXISTS (SELECT * FROM book_series2isbn WHERE book_series2isbn.isbn = book_titles.isbn)" : " WHERE book_series2isbn.isbn = book_titles.isbn AND book_series2isbn.serie_id = {$id}";	$i_sql .= ($status == 'all') ? "" : " AND book_titles.status = '{$status}'";	$i_sql .= " ORDER BY book_titles.volume, book_titles.title ASC";	$i_result = mysql_query($i_sql, $db['connect']);	if (mysql_errno($db['connect'])) die(mysql_errno($db['connect']) . ': ' . mysql_error($db['connect']) . '<hr />'.$i_sql);	if (!$id) {		$sql = "SELECT book_series.id, book_series.serie, book_series.info FROM book_series WHERE book_series.p_id IS NULL ORDER BY book_series.serie ASC";	}	else {		$sql = "SELECT book_series.id, book_series.serie, book_series.info FROM book_series WHERE book_series.p_id = {$id} ORDER BY book_series.serie ASC";		for ($i2 = 0; $i2 < $i; $i2++) {			$level .= '&raquo; ';		}		$i++;	}	$result = mysql_query($sql, $db['connect']);	if (mysql_num_rows($result) || mysql_num_rows($i_result)) {        if ((mysql_num_rows($result) && !mysql_num_rows($i_result)) || !$id) {        	echo $indent, "<!-- Series Begin -->\n";        }		if (mysql_num_rows($result)) {			while (list($pid, $serie, $info) = mysql_fetch_array($result)) {				$s_sql = "SELECT book_series.id FROM book_series WHERE book_series.p_id = {$pid}";				$s_result = mysql_query($s_sql, $db['connect']);				if (mysql_errno($db['connect'])) die(mysql_errno($db['connect']) . ': ' . mysql_error($db['connect']) . '<hr />' . $s_sql);				$s2i_sql = "SELECT book_series2isbn.serie_id FROM book_series2isbn WHERE book_series2isbn.serie_id = {$pid}";				$s2i_result = mysql_query($s2i_sql, $db['connect']);				if (mysql_errno($db['connect'])) die(mysql_errno($db['connect']) . ': ' . mysql_error($db['connect']) . '<hr />'.$s2i_sql);				if (!mysql_num_rows($s_result) && !mysql_num_rows($s2i_result)) continue;				$info = ($info) ? ": {$info}" : '';				echo $indent, "<tr>\n";				echo $indent, '    <td colspan="4" class="category">', $level, $serie, $info, "</td>\n";				echo $indent, "</tr>\n";				get_objects($status, $pid, $i);			}		}		if (mysql_num_rows($i_result)) {			if ($id) {				echo $indent, "<!-- Titles Begin -->\n";			}			$row = 1;			while (list($isbn, $title, $volume, $status) = mysql_fetch_array($i_result)) {				$volume = (!$volume) ? '' : $volume;				echo $indent, '<tr class="';				echo ($row % 2) ? 'odd' : 'even';				echo '">', "\n";				echo $indent, '    <td class="cover"><a href="/pictures/covers/', $isbn, '.jpg"><img src="/picture/covers/.tmb_', $isbn, '.jpg" /></a></td>', "\n";				echo $indent, '    <td class="volume">', $volume, "</td>\n";				echo $indent, '    <td class="title">', "\n";				echo $indent, '        ', $title, "<br />\n";				echo $indent, '        <span class="isbn">ISBN: ', (stristr($isbn, '_')) ? substr($isbn, 0, strpos($isbn, '_')) : $isbn, "</span>\n";				echo $indent, "    </td>\n";				echo $indent, '    <td class="authors">', "\n";				$a2i_sql = "SELECT book_authors.id, book_authors.firstname, book_authors.lastname FROM book_authors, book_authors2isbn WHERE book_authors.id = book_authors2isbn.author_id AND book_authors2isbn.isbn = '{$isbn}' ORDER BY book_authors.firstname ASC";				$a2i_result = mysql_query($a2i_sql, $db['connect']);				if (mysql_errno($db['connect'])) die(mysql_errno($db['connect']) . ': ' . mysql_error($db['connect']) . '<hr />'.$a2i_sql);				if (mysql_num_rows($a2i_result)) {					$c = 0;					echo $indent, '        ';					while (list($aid, $firstname, $lastname) = mysql_fetch_array($a2i_result)) {						if ($c > 0) {							echo ', ';						}						echo $firstname, ' ', $lastname;						$c++;					}					echo "<br />\n";				}				echo $indent, "    </td>\n";				echo $indent, "</tr>\n";				$row++;			}			if ($id) {				echo $indent, "<!-- Titles End -->\n";			}		}		if ((mysql_num_rows($result) && !mysql_num_rows($i_result)) || !$id) {			echo $indent, "<!-- Series End-->\n";		}	}}