getdb.inc
author viric@llimona
Thu, 31 May 2007 23:22:14 +0200
changeset 11 d5b5409fed69
parent 6 e152a6b585e5
permissions -rw-r--r--
Arreglat un bug de que no hi poden haver excepcions amb nom+preu iguals.


<?php
	include("db-config.inc");

	function obtenir_habitants($connection)
	{
		$resultat_habitants = mysql_query("SELECT id,nom FROM gent WHERE habitant=1 ORDER BY nom;", $connection);
		if (!$resultat_habitants)
		{
?>
			<p> <STRONG>ERROR:</STRONG> Error al obtenir
				<STRONG>habitants</STRONG>! </p>
<?php
			echo "Error MYSQL:" . mysql_errno() . ": " . mysql_error() . "<BR>";
		}

		// Processem el resultat
		while ($fila = mysql_fetch_row($resultat_habitants))
			$habitant[] = array( "id" => $fila[0],
										"nom" => $fila[1]);
		mysql_free_result($resultat_habitants);
		return $habitant;
	}

	function obtenir_altres($connection)
	{
		$resultat_altres = mysql_query("SELECT id,nom FROM gent WHERE habitant=0 ORDER BY nom;", $connection);

		if (!$resultat_altres)
		{
?>
			<p> <STRONG>ERROR:</STRONG> Error al obtenir
				<STRONG>altres</STRONG>! </p>
<?php
			echo "Error MYSQL:" . mysql_errno().": ".mysql_error()."<BR>";
		}

		while ($fila = mysql_fetch_row($resultat_altres))
			$altres[] = array( "id" => $fila[0],
									"nom" => $fila[1]);
		return $altres;
	}

	function obtenir_gent($connection)
	{
		$resultat = mysql_query("SELECT id,nom,habitant FROM gent ORDER BY habitant DESC ,nom ASC", $connection);

		if (!$resultat)
		{
?>
			<p> <STRONG>ERROR:</STRONG> Error al obtenir
				<STRONG>gent</STRONG>! </p>
<?php
			echo "Error MYSQL:" . mysql_errno().": ".mysql_error()."<BR>";
		}

		while ($fila = mysql_fetch_row($resultat))
			$gent[$fila[0]] = array( "nom" => $fila[1],
									"habitant" => $fila[2]);
		return $gent;
	}

	function obtenir_compra($date,$connection)
	{
		$resultat = mysql_query("SELECT UNIX_TIMESTAMP(data),botiga,motiu,preu,comentari FROM compres WHERE data=FROM_UNIXTIME(" . $date . ")", $connection);

		// Només hi haurà una fila
		$fila = mysql_fetch_row($resultat);
		$compra["data"] = $fila[0];
		$compra["botiga"] = $fila[1];
		$compra["motiu"] = $fila[2];
		settype($fila[3],"float");
		$compra["preu"] = $fila[3];
		$compra["comentari"] = $fila[4];

		return $compra;
	}

	function obtenir_pagament($date,$connection)
	{
		$resultat = mysql_query("SELECT UNIX_TIMESTAMP(data),comentari FROM pagaments WHERE data=FROM_UNIXTIME(" . $date . ")", $connection);

		// Només hi haurà una fila
		$fila = mysql_fetch_row($resultat);
		$pagament["data"] = $fila[0];
		$pagament["comentari"] = $fila[1];

		return $pagament;
	}

	function obtenir_excepcions($date,$connection)
	{
		$query = "SELECT id,article,preu FROM excepcions WHERE data=FROM_UNIXTIME($date) ORDER BY article";
		$resultat = mysql_query($query, $connection);

		while ($fila = mysql_fetch_row($resultat))
			$excepcio[$fila[0]] = array("article" => $fila[1], "preu" => $fila[2]);
		
		if (!isset($excepcio))
			$excepcio=0;
		return $excepcio;
	}

	function obtenir_compradors($date,$connection)
	{
		$query = "SELECT compradors.persona,compradors.pagat,compradors.toca_pagar FROM compradors,gent WHERE compradors.data=FROM_UNIXTIME($date) AND compradors.persona=gent.id ORDER BY gent.nom;";
		$resultat = mysql_query($query, $connection);

		// Puc fer lo de sota perquè per una sola compra no hi poden haver compradors repetits.
		while ($fila = mysql_fetch_row($resultat))
			$compradors[$fila[0]] = array( "pagat" => $fila[1],
										"toca_pagar" => $fila[2]);
		return $compradors;
	}

	function obtenir_compradors_excepcions($ex_id,$connection)
	{
		$query = "SELECT compradors_excepcions.persona,compradors_excepcions.toca_pagar FROM compradors_excepcions,gent WHERE compradors_excepcions.ex_id=$ex_id AND compradors_excepcions.persona = gent.id ORDER BY gent.nom;";
		$resultat = mysql_query($query, $connection);

		// Puc fer lo de sota perquè per una sola compra no hi poden haver compradors repetits.
		while ($fila = mysql_fetch_row($resultat))
			$compradors[$fila[0]] = array("toca_pagar" => $fila[1]);
		return $compradors;
	}

	function obtenir_pagadors($date,$connection)
	{
		$query = "SELECT pagadors.persona,pagadors.pagat,pagadors.cobrat FROM pagadors,gent WHERE pagadors.data=FROM_UNIXTIME($date) AND pagadors.persona=gent.id ORDER BY gent.nom;";
		$resultat = mysql_query($query, $connection);

		// Puc fer lo de sota perquè per en un sol pagament no hi poden haver pagadors repetits
		while ($fila = mysql_fetch_row($resultat))
			$pagadors[$fila[0]] = array( "pagat" => $fila[1],
												"cobrat" => $fila[2]);
		return $pagadors;
	}

	function obtenir_compres($connection)
	{
		$resultat = mysql_query("SELECT UNIX_TIMESTAMP(data),botiga,motiu,preu,comentari FROM compres ORDER BY data DESC;", $connection);


		while ($fila = mysql_fetch_row($resultat))
		{
			settype($fila[3],"double");
			$compres[$fila[0]] = array(
				"botiga" => $fila[1],
				"motiu" => $fila[2],
				"preu" => $fila[3],
				"comentari" => $fila[4]);
		}

		if (!isset($compres))
			$compres=0;

		return $compres;
	}

	function obtenir_pagaments($connection)
	{
		$resultat = mysql_query("SELECT UNIX_TIMESTAMP(data),comentari FROM pagaments ORDER BY data DESC;", $connection);


		while ($fila = mysql_fetch_row($resultat))
		{
			$pagaments[$fila[0]] = array("comentari" => $fila[1]);
		}

		if (!isset($pagaments))
			$pagaments=0;

		return $pagaments;
	}

	// FUNCIONS PER GENERAR CODI HTML

	function select_altres($variable, $default=-1)
	{
		$num_altres = count($GLOBALS["altres"]);

		echo "<SELECT name=\"$variable\">\n";

		foreach($GLOBALS["altres"] as $i)
		{
			echo "<OPTION value=\"" .$i["id"] . "\"";
			if ($default == $i["id"])
				echo " selected";
			echo ">" . strtohtml($i["nom"]) . "\n";
		}

		echo "</SELECT>";
	}

	function strtosql($cadena)
	{
		/* (viric) I don't know why, but it doesn't require any
		transformation from ' to \'. */
		return $cadena;
	}

	function strtohtml($cadena)
	{
		$new= ereg_replace("[<]", "&lt;", $cadena);
		$new= ereg_replace("[>]", "&gt;'", $cadena);
		$new= ereg_replace("[&]", "&amp;'", $cadena);

		return $new;
	}

	function pricetohtml($price)
	{
		if ($price < 0)
			return sprintf("<FONT COLOR=\"FF0000\">%.2f</FONT>", $price);
		else
			return sprintf("%.2f", $price);

	}
?>