<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=VI-DB_ds-info.php_v2.1</id>
	<title>VI-DB ds-info.php v2.1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=VI-DB_ds-info.php_v2.1"/>
	<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_ds-info.php_v2.1&amp;action=history"/>
	<updated>2026-04-19T05:24:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://vwiki.co.uk/index.php?title=VI-DB_ds-info.php_v2.1&amp;diff=1589&amp;oldid=prev</id>
		<title>Sstrutt: Initial creation</title>
		<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=VI-DB_ds-info.php_v2.1&amp;diff=1589&amp;oldid=prev"/>
		<updated>2011-12-19T10:33:45Z</updated>

		<summary type="html">&lt;p&gt;Initial creation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html xmlns=&amp;#039;http://www.w3.org/TR/REC-html40&amp;#039;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Version 2.1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;vi-db (ds)&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;#039;SHORTCUT ICON&amp;#039; href=&amp;#039;favicon.ico&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;#039;stylesheet&amp;#039; type=&amp;#039;text/css&amp;#039; href=&amp;#039;alpha.css&amp;#039; /&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;#039;Author&amp;#039; content=&amp;#039;Simon Strutt&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta name=&amp;#039;Description&amp;#039; content=&amp;#039;VI Info&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;image/jpeg&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;#039;Pragma&amp;#039; content=&amp;#039;no-cache&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;#039;Expires&amp;#039; content=&amp;#039;900&amp;#039;&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$time_start = microtime(true);&lt;br /&gt;
&lt;br /&gt;
//Local variables etc&lt;br /&gt;
require &amp;#039;config.php&amp;#039;;&lt;br /&gt;
$self = $_SERVER[&amp;#039;PHP_SELF&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
// open connection and select database&lt;br /&gt;
$connection = mysql_connect($host, $user, $pass) or die (&amp;quot;Unable to connect to database!&amp;quot;);&lt;br /&gt;
mysql_select_db($db) or die (&amp;quot;Unable to select database!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
//Set debug on if required&lt;br /&gt;
if (array_key_exists(&amp;#039;debug&amp;#039;, $_REQUEST) and ($_REQUEST[&amp;quot;debug&amp;quot;] == 1)) {&lt;br /&gt;
	$debug = 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// show parameters and errors&lt;br /&gt;
if ($debug) {&lt;br /&gt;
	error_reporting(-1);&lt;br /&gt;
	print_r($_REQUEST);&lt;br /&gt;
	print &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;DISCLAIMER: Please use all information gained from here with caution - I haven&amp;#039;t performed exhaustive validation and testing of any of the information that may be presented.&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
print &amp;quot;If you&amp;#039;re making changes or decisions, please double check with the reality of what is displayed by the vCentre servers.  You retain full responsibility for your actions...!\n &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if (array_key_exists(&amp;#039;dsid&amp;#039;, $_REQUEST)) {&lt;br /&gt;
	show_ds_detail($_REQUEST[&amp;#039;dsid&amp;#039;]);&lt;br /&gt;
} else {&lt;br /&gt;
	show_ds_summary();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;#039;index.php&amp;#039;&amp;gt;Search page&amp;lt;/a&amp;gt; &amp;amp;nbsp &amp;lt;a href=&amp;#039;status.php&amp;#039;&amp;gt;Status page&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
$time = round((microtime(true) - $time_start)*1000);&lt;br /&gt;
print &amp;quot;Page took $time msecs to execute on server&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ------------------- End of HTML ---------------------------------&lt;br /&gt;
print &amp;quot;&amp;lt;/body&amp;gt;&amp;lt;html&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ================ FUNCTIONS ============================&lt;br /&gt;
&lt;br /&gt;
function show_ds_summary () {&lt;br /&gt;
	global $debug, $self, $disk_pc_warn, $disk_pc_alert;&lt;br /&gt;
&lt;br /&gt;
	print &amp;quot;&amp;lt;h1&amp;gt;Datastores&amp;lt;/h1&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	// Initial query&lt;br /&gt;
	$query = &amp;quot;SELECT vc.name AS vc, ds.name AS ds, dsid, size, used, san_model, lun FROM ds JOIN vc USING (vcid) WHERE exist=1 ORDER BY vc.name, ds.name;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if ($debug == 1) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		die (&amp;quot;No powered off machines found...!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCenter&amp;lt;th&amp;gt;Name&amp;lt;th&amp;gt;LUN&amp;lt;th&amp;gt;SAN&amp;lt;br&amp;gt;Model&amp;lt;th width=300&amp;gt;Overview&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;Usage % | Total TB&amp;lt;/small&amp;gt;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$dss = mysql_fetch_all($result, MYSQL_ASSOC);&lt;br /&gt;
	//Find largest datastore size to scale to&lt;br /&gt;
	$max_vmfs = 0;&lt;br /&gt;
	foreach ($dss as $vmfs) {&lt;br /&gt;
		$max_vmfs = max($max_vmfs, $vmfs[&amp;#039;size&amp;#039;]);&lt;br /&gt;
	}&lt;br /&gt;
	foreach ($dss as $vmfs) {&lt;br /&gt;
		print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;.$vmfs[&amp;#039;vc&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;#039;$self?dsid=&amp;quot;.$vmfs[&amp;#039;dsid&amp;#039;].&amp;quot;&amp;#039;&amp;gt;&amp;quot;.$vmfs[&amp;#039;ds&amp;#039;].&amp;quot;&amp;lt;/a&amp;gt;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$vmfs[&amp;#039;lun&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$vmfs[&amp;#039;san_model&amp;#039;];&lt;br /&gt;
		print bar_graph_both ($vmfs[&amp;#039;used&amp;#039;], $vmfs[&amp;#039;size&amp;#039;], $max_vmfs, $disk_pc_warn, $disk_pc_alert);&lt;br /&gt;
	}&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function show_ds_detail ($dsid) {&lt;br /&gt;
	global $debug, $disk_pc_warn, $disk_pc_alert;&lt;br /&gt;
	&lt;br /&gt;
	// Initial query&lt;br /&gt;
	$result = mysql_query(&amp;quot;SELECT name, size, used, san_model, lun, block, canonical FROM ds WHERE dsid = $dsid;&amp;quot;);&lt;br /&gt;
	if ($debug) {&lt;br /&gt;
		print $query;&lt;br /&gt;
	}&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		die (&amp;quot;&amp;lt;br&amp;gt;Datastore not found....&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	$ds = mysql_fetch_assoc($result);&lt;br /&gt;
	&lt;br /&gt;
	print &amp;quot;&amp;lt;h1&amp;gt;&amp;quot;.$ds[&amp;#039;name&amp;#039;].&amp;quot;&amp;lt;/h1&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- Layout table (top) ----------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;table align=&amp;#039;center&amp;#039; cellspacing=10&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;#039;top&amp;#039; colspan=2&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- Summary data --------------------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;SAN:&amp;lt;td&amp;gt;&amp;quot;. $ds[&amp;#039;san_model&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LUN ID:&amp;lt;td&amp;gt;&amp;quot;.$ds[&amp;#039;lun&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Sizes:&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;quot;.$ds[&amp;#039;size&amp;#039;]/1024 .&amp;quot; GB&amp;lt;/b&amp;gt; in &amp;quot;. $ds[&amp;#039;block&amp;#039;].&amp;quot; MB blocks (&amp;quot;.$ds[&amp;#039;block&amp;#039;]*256 .&amp;quot; GB max file size)\n&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Usage:&amp;quot;;&lt;br /&gt;
	bar_graph_both ($ds[&amp;#039;used&amp;#039;], $ds[&amp;#039;size&amp;#039;], $ds[&amp;#039;size&amp;#039;], $disk_pc_warn, $disk_pc_alert, 1);&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Canonical:&amp;lt;td&amp;gt;&amp;lt;span style=&amp;#039;font-family:courier;&amp;#039;&amp;gt;&amp;quot;.$ds[&amp;#039;canonical&amp;#039;].&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- Layout table (bottom left) ----------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- ESX list --------------------------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;h2&amp;gt;ESXs&amp;lt;/h2&amp;gt;\n&amp;quot;;&lt;br /&gt;
	$query = &amp;quot;SELECT esx.name AS esx, vc.name AS vc, cluster.name AS cluster, mpath FROM ds JOIN esx2ds USING (dsid) JOIN esx USING (esxid) JOIN cluster USING (clid) JOIN vc ON esx.vcid=vc.vcid &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;WHERE dsid=$dsid AND esx.exist=1 ORDER BY cluster, esx;&amp;quot;;&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		print (&amp;quot;No connected ESX&amp;#039;s found....&amp;quot;);&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;vCentre&amp;lt;th&amp;gt;Cluster&amp;lt;th&amp;gt;ESX&amp;lt;th&amp;gt;Multipathing\n&amp;quot;;&lt;br /&gt;
		$odd_row = true;&lt;br /&gt;
		while ($esx = mysql_fetch_assoc($result)) {&lt;br /&gt;
			$odd_row = !$odd_row;&lt;br /&gt;
			if ($odd_row) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr class=&amp;#039;odd&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;vc&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$esx[&amp;#039;mpath&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- Layout table (bottom right) ----------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;td valign=&amp;#039;top&amp;#039;&amp;gt;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	// ----------------- VM list --------------------------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;h2&amp;gt;VMs&amp;lt;/h2&amp;gt;\n&amp;quot;;&lt;br /&gt;
	$query = &amp;quot;SELECT cluster.name AS cluster, vm.name AS vm, vm.is_on, COUNT(num) AS no, SUM(size) AS size, esx.name AS esx, mpath &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;FROM vmdk JOIN vm USING (vmid) JOIN cluster USING (clid) JOIN esx ON vm.esxid=esx.esxid JOIN esx2ds ON esx.esxid=esx2ds.esxid &amp;quot;;&lt;br /&gt;
	$query .= &amp;quot;WHERE vmdk.dsid=$dsid AND esx2ds.dsid=$dsid AND vm.exist=1 GROUP BY vmid ORDER BY cluster, vm;&amp;quot;;&lt;br /&gt;
	if ($debug) {print ($query);}&lt;br /&gt;
	$result = mysql_query($query);&lt;br /&gt;
	if (mysql_num_rows($result) == 0) {&lt;br /&gt;
		print (&amp;quot;No VM&amp;#039;s found on datastore....&amp;quot;);&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;&amp;lt;table class=&amp;#039;BasicTable&amp;#039; align=&amp;#039;center&amp;#039;&amp;gt;\n&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Cluster&amp;lt;th&amp;gt;VM&amp;lt;th&amp;gt;Power&amp;lt;th&amp;gt;Disks&amp;lt;th&amp;gt;Size&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;GB&amp;lt;/small&amp;gt;&amp;lt;th&amp;gt;ESX&amp;lt;th&amp;gt;Multipathing\n&amp;quot;;&lt;br /&gt;
		$odd_row = true;&lt;br /&gt;
		while ($vm = mysql_fetch_assoc($result)) {&lt;br /&gt;
			$odd_row = !$odd_row;&lt;br /&gt;
			if ($odd_row) {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr class=&amp;#039;odd&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				print &amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			print &amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$vm[&amp;#039;cluster&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$vm[&amp;#039;vm&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;;&lt;br /&gt;
			if ($vm[&amp;#039;is_on&amp;#039;]) {&lt;br /&gt;
				print &amp;quot;ON&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				print &amp;quot;OFF&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			print &amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.$vm[&amp;#039;no&amp;#039;].&amp;quot;&amp;lt;td class=&amp;#039;num&amp;#039;&amp;gt;&amp;quot;.round($vm[&amp;#039;size&amp;#039;]/1024).&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$vm[&amp;#039;esx&amp;#039;].&amp;quot;&amp;lt;td&amp;gt;&amp;quot;.$vm[&amp;#039;mpath&amp;#039;].&amp;quot;\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	// ----------------- Layout table (end) ----------------------------&lt;br /&gt;
	print &amp;quot;&amp;lt;/table&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function search_char ($text) {&lt;br /&gt;
	&lt;br /&gt;
	return (str_replace(array(&amp;quot;*&amp;quot;, &amp;quot;?&amp;quot;), array(&amp;quot;%&amp;quot;, &amp;quot;_&amp;quot;), trim($text)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function bar_graph_both ($data1, $data2, $max, $warn_threshold, $alert_threshold, $plain=0) {&lt;br /&gt;
	// data1 MUST BE LESS THAN data2 !!!&lt;br /&gt;
	if ($data2 == 0) {&lt;br /&gt;
		$data2 = 1;&lt;br /&gt;
	}&lt;br /&gt;
	if ($plain) {&lt;br /&gt;
		$bar_space_percent = 100;&lt;br /&gt;
	} else {&lt;br /&gt;
		$bar_space_percent = 95;&lt;br /&gt;
	}&lt;br /&gt;
	$data1_percent = round($data1/$max*$bar_space_percent);&lt;br /&gt;
	$data2_percent = round($data2/$max*$bar_space_percent);&lt;br /&gt;
	$usage_percent = round($data1/$data2*100);&lt;br /&gt;
	$sizeGB = round($data2/1024);&lt;br /&gt;
	&lt;br /&gt;
	print &amp;quot;&amp;lt;td class=&amp;#039;bar&amp;#039; title=&amp;#039;$usage_percent % used of $sizeGB GB&amp;#039;&amp;gt;&amp;lt;div style=&amp;#039;width: $data1_percent%&amp;#039; &amp;quot;;&lt;br /&gt;
	if ($data1/$data2*100 &amp;gt;= $alert_threshold) {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_alert&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
	} elseif ($data1/$data2*100 &amp;gt;= $warn_threshold) {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_warn&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;class=&amp;#039;bar_good&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	print $usage_percent.&amp;quot; %&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
	print &amp;quot;&amp;lt;div style=&amp;#039;width: &amp;quot;. ($data2_percent - $data1_percent) .&amp;quot;%&amp;#039;&amp;quot;;&lt;br /&gt;
	print &amp;quot;class=&amp;#039;bar_norm&amp;#039;&amp;gt; &amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
	if (!$plain) {&lt;br /&gt;
		print round_half($sizeGB/1024).&amp;quot;\n&amp;quot;;&lt;br /&gt;
	} else {&lt;br /&gt;
		print &amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function mysql_fetch_all($result) {&lt;br /&gt;
   while($row=mysql_fetch_array($result, MYSQL_ASSOC)) {&lt;br /&gt;
       $return[] = $row;&lt;br /&gt;
   }&lt;br /&gt;
   return $return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function round_half($num) {&lt;br /&gt;
	return round($num / 0.5) * 0.5;&lt;br /&gt;
}&lt;br /&gt;
	&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PHP Script]]&lt;/div&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
</feed>