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("[<]", "<", $cadena);
$new= ereg_replace("[>]", ">'", $cadena);
$new= ereg_replace("[&]", "&'", $cadena);
return $new;
}
function pricetohtml($price)
{
if ($price < 0)
return sprintf("<FONT COLOR=\"FF0000\">%.2f</FONT>", $price);
else
return sprintf("%.2f", $price);
}
?>