Autor Zpráva
DrMizerie
Profil
Z databáze jsem mazal záznamy pomocí příkazu
mysql_query("DELETE FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW()");
Ale do databáze jsem vkládal i odkazy fotek a po smazáni z DB jsem musel fotky mazat ručně.
Tak jsem upravil skript na:

$vysledek=mysql_query("SELECT FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW()");
$zaznam=mysql_fetch_array($vysledek);
if (file_exists($zaznam["Foto"])){
Unlink($zaznam["Foto"]);
Unlink($zaznam["XFoto"]);
}

Ale příkaz:
  $vysledek=mysql_query("DELETE FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW()");
mi píše pořád chybu nevím proč? Mohl by někdo prosím poradit?
Taps
Profil
Napiš o jakou chybu se přesně jedná
DrMizerie
Profil
Sry měl jsem uploudnuty spatný skript ale problém je v tom že to stejně názvy fotek nemaže...
Taps
Profil
Zkus použít metodu GET nebo POST
Kcko
Profil
>> $vysledek=mysql_query("SELECT FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW()");

tak si z te DB zkus taky neco vytahnout ..
djlj
Profil
Zkus použít metodu GET nebo POST
Eh? Co to s tím má společného?

První je dotaz je špatně. Správně: SELECT foto, xfoto FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW()
Taps
Profil
Metodou GET odešleš název souboru který se má vymazat
djlj
Profil
Taps
Jelikož je chce tazatel mazat automaticky dle stáří, tak to asi není nejlepší řešení…
Taps
Profil
Ale pokud by je chtěl mazat jednotlive tak by to mohl použít
djlj
Profil
Taps
Ano, to je celkem logické…
DrMizerie
Profil

$vysledek=mysql_query("SELECT Foto, XFoto FROM Formular WHERE Datum + INTERVAL 30 DAY < NOW() ORDER BY id DESC");
While ($zaznam=mysql_fetch_array($vysledek)){
if (file_exists($zaznam["Foto"])){
Unlink($zaznam["Foto"]);
Unlink($zaznam["XFoto"]);
}
}

Toto je funkční skript. Dopustil jsem se v něm nekolika chyb:
1)Nevybral jsem jsem co Chci z DB (Foto, XFoto)
2)Nedelal jsem to v cyklu While a proto se smazala pouze první fotografi...

Dekuji za pomoc vsem....
Toto téma je uzamčeno. Odpověď nelze zaslat.