<?php // php pages made with phpMyBuilder <http://kyber.dk/phpMyBuilder> ?>
<?php
	// (C) Copyright 2001
	// Murray Jensen <Murray.Jensen@cmst.csiro.au>
	// CSIRO Manufacturing Science and Technology, Preston Lab

	// dodelete page (hymod_bddb / boards)

	require("defs.php");

	pg_head("$bddb_label - Delete Board Results");

	if (!($serno=intval($serno)))
		die("the board serial number was not specified");

	mysql_query("delete from boards where serno=$serno");

	if(mysql_errno()) {
		$errstr = mysql_error();
		echo "\t<font size=+4>\n";
		echo "\t\t<p>\n";
		echo "\t\t\tThe following error was encountered:\n";
		echo "\t\t</p>\n";
		echo "\t\t<center>\n";
		printf("\t\t\t<b>%s</b>\n", $errstr);
		echo "\t\t</center>\n";
		echo "\t</font>\n";
	}
	else {
		echo "\t<font size=+2>\n";
		echo "\t\t<p>\n";
		echo "\t\t\tThe board with serial number <b>$serno</b> was"
			. " successfully deleted\n";
		mysql_query("delete from log where serno=$serno");
		if (mysql_errno()) {
			$errstr = mysql_error();
			echo "\t\t\t<font size=+4>\n";
			echo "\t\t\t\t<p>\n";
			echo "\t\t\t\t\tBut the following error occurred " .
				"when deleting the log entries:\n";
			echo "\t\t\t\t</p>\n";
			echo "\t\t\t\t<center>\n";
			printf("\t\t\t\t\t<b>%s</b>\n", $errstr);
			echo "\t\t\t\t</center>\n";
			echo "\t\t\t</font>\n";
		}
		echo "\t\t</p>\n";
		echo "\t</font>\n";
	}
?>
<p>
<table width="100%">
<tr>
  <td align=center>
    <a href="browse.php">Back to Browse</a>
  </td>
  <td align=center>
    <a href="index.php">Back to Start</a>
  </td>
</tr>
</table>
<?php
	pg_foot();
?>
