

PHP a zápis do MySQL
Lidičky, potřeboval bych radu... Jde mi o PHP a zápis do MySQL a také update.
<?php
function zapis_do_MySQL($zeme)
{
$xml = simplexml_load_file("www.unicreditbank.cz/kurzy-xml.php");
$EU = $xml->exchange_rate[0]->currency[$zeme];
$quota = $EU["quota"];
$name = $EU["name"];
$rate = $EU["rate"];
$date = date('Y-m-d');
echo $quota; echo "<br>";
echo $name; echo "<br>";
echo $rate; echo "<br>";
echo $date; echo "<br>";
require('pripoj.php');
$d = mysql_result(mysql_query("SELECT COUNT( * ) FROM `mena` WHERE `name` LIKE '".$name."' AND `date` = '".$date."' ", $link), 0);
if ($d >= 1)
{
mysql_query ("UPDATE `mena` SET `date` = '".$date."', `name` = '".$name."', `rate` = '".$rate."', `quota` = '".$quota."' WHERE `date` = '".$date."';", $link);
echo "update";
}
else
{
mysql_query ("INSERT INTO `mena` ( `date` , `name` , `rate` , `quota` ) VALUES ('$date', '$name', '$rate', '$quota');", $link);
echo "insert";
}
mysql_close(); //uzavře MySQL spojení
echo "<hr>";
}
zapis_do_MySQL(0);
zapis_do_MySQL(2);
zapis_do_MySQL(4);
zapis_do_MySQL(5);
zapis_do_MySQL(12);
?>
Chyba je v tom, že když je prádná DB tak to vše zapíše (což je v pořádku), ale když je plná, tak to furt ukladá další a další řádky, ale já je chci updatovat...
Ukázka jak to funguje je na xml.php
V tom update máš vo where klauzule len porovnanie s $date a chýba tam porovnanie s $name. Takže pri prvom update nastavíš kurz a názov meny pre daný deň na rovnaký a ostatné meny v danom dni sa už tým pádom v tabuľke nenájdu, preto sa vykoná insert.
Edit: Ak máš vhodne nastavený primárny kľúč (zložený z dátumu a názvu meny) a neprekáža ti použitie neštandardného príkazu, tak pre MySQL sa môžeš pozrieť na INSERT ... ON DUPLICATE KEY UPDATE.