Jako první:
Ve vašem druhém dotazu SQL:
$sqla="UPDATE table SET count='$new_count'";
musíte určit, který řádek/řádky chcete aktualizovat. K tomu musíte použít WHERE
doložka.
Například:
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
Jako druhý:
Chybí vám }
ve vašem stavu, což může být také problém. Pokud váš kód rozložím, bude to vypadat takto:
$sql=mysql_query("SELECT * FROM table WHERE id='$id'");
if($data=mysql_fetch_array($sql))
{
$count=$data['count'];
$new_count=$count+1;
$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
if(mysql_query($sqla))
{
echo "success";
}
Je vaše podmínka (začíná na druhém řádku) zakončena }
správně?
Jako třetí:
Uložte výstup mysql_fetch_array
a mysql_query
na proměnnou a poté tuto proměnnou použijte ve svých podmínkách:
$data = mysql_fetch_array($sql);
if($data) { ...
A
$result = mysql_query($sqla);
if($result) { ...
Poznámky pod čarou:
Není známo, zda se název tabulky, který používáte, skutečně nazývá table
.
Pokud ano, pak se jedná o vyhrazené slovo MySQL a vyžaduje zvláštní pozornost, například jeho zabalení do zaškrtávacích políček nebo jeho pojmenování na něco jiného než vyhrazené slovo.
T.j.:
SELECT * FROM `table`
a
UPDATE `table`
Reference: