Omlouvám se, že sem tento příspěvek píšu ještě jednou, ale v diskusi SQL jsem nedostal na něj ani jednu odpověď.
Dejme tomu, že doma jsem si udělal takovou aplikaci, kde si zaznamenávám moje výplaty se vším všudy každý měsíc. Mám v tabulce sloupce měsíc a rok a ostatní, takže si vybírám údaje z tabulky na základě období (měsíc a rok) samozřejmě pomocí sloupce "id", který je primárním klíčem. Jak mám udělat když tam už jedno období mám, např "srpen-2003" a kdybych si vložil to samé období znovu, aby se mi omylem náhodou nepřepsalo tím novým?
Zkoušel jsem nejdřív pomocí cyklu "while", aby mi projel všechny měsíce a roky v tabulce, co tam už jsou a pak pomocí podmínky "if", která porovná údaje z formuláře a na základě shody echo vypíše patřičné hlášení, ale nejde mi to. Nemůžete mi, prosím, někdo poradit ?
Díky moc, Petr
pokud mas ony casovy udaje ulozeny v klasickym retezci a je to tedy napriklad takhle: "srpen-2003" jak rikas tak reseni je jednoduche
if (mysql_num_rows(mysql_query("SELECT id FROM tabulka WHERE datum='srpen-2003'")) > 0)
{
echo "datum jiz existuje";
}
2 Petr Blaha: nepletes si nahodou radek se sloueckem?
Dobře, tak dejme v tomu že v řádku. A co pak?
Tak je tak jak řiká Master. Ale i kdyby to bylo už jednou vložený tak by se to němělo přepsat. Pokud nemáš sloupeček 'obdobi' (nebo jak se jmenuje) nastavenej jako unikátní tak potom by se ten druhej nezapsal.
Pokud chceš mít celkovej přehled od příjmech za měsíc tak zkus tohle:
$result = mysql_query("SELECT * FROM prijmy WHERE obdobi='$obdobi'");
if(0 < mysql_num_rows($result))
{
$row = mysql_fetch_assoc($result);
$row[prijem] += $prijem;
mysql_query("UPDATE prijmy SET prijem='$row[prijem]' WHERE id='$row[id]'");
}
else
{
mysql_query("INSERT INTO prijmy (nazvy sloupcu) VALUES (hodnoty)");
}
Ono se to období vlastně nepřepíše, ono se tam vloží ještě jednou to samé.
Petr
tak pouzij to co jsem napsal...
kdyz se splni ta IF nic se ukladat nebude.. uz to tam je