Autor Zpráva
Enterthan
Profil
Mám kód na UPDATE položky v db jenže když tam je těch položek více tak to změní všechny a ne jen tu jednu
<?php
require_once "db.php";
$upravit = $_POST['administrace'];
$zmena = mysql_query("UPDATE `administrace` SET `administrace` = '$upravit'", $spojeni);
if ($zmena)
{
include ("smaz.php");
} else {
echo "Chyba";
}

?>

Podle mě to je tím že sem zadal jen název tabulky. Ale nevím jak to udělat aby to šlo jak má
mutu
Profil *
("UPDATE `administrace` SET `administrace` = '$upravit'", $spojeni);

asi

("UPDATE `tabulka` (radek1,radek2) SET ('$upravit'", $spojeni);

nebo tak neco ale jemńom odhaduju
bukaj
Profil
Enterthan
jenže když tam je těch položek více tak to změní všechny a ne jen tu jednu
Použij klauzuli WHERE, kterou specifikuješ, které položky chceš změnit, či klauzuli LIMIT, čímž omezíš počet měněných. Kdyžtak se podívej na seriál o MySQL na linuxsoftu nebo tě odkazuji rovnou na referenční manuál.
Enterthan
Profil
Použij klauzuli WHERE, kterou specifikuješ, které položky chceš změnit, či klauzuli LIMIT, čímž omezíš počet měněných

Já bych to udělal pomocí ID jenže to ID tam prostě nemohu něco dostat.
kajaman
Profil
jj, jak píše bukaj, musíš omezit záznamy podle nějakého klíče, např. Id:

třeba: "update tabulka set sloupec = 'neco' where id = cislo"

PS: tohle je téma spíš do fóra o databázích
Enterthan
Profil
No jj je to spíše tam ale chápejte můj problém. Mám soubor ve kterém mam seznam všech věcí (třeba článků to je jedno) No a u každého záznamu mam smazat a upravit. Kliknu na upravit otevře se textové pole se zadaným záznamem kde ho upravím a kliknu na upravit. Toto otevření probíhá pomocí ID. Poté se upravená data odešlou souboru uprav_a.php to je ten co sem tu napsal. A tento soubor mi upraví všechny záznamy. ID mě vúbec nenapadá jak tomuto souboru poslat a přes LIMIT mi to nemusí upravit ten záznam co potřebuji. Prostě nevím jak dál :D Tak Vás žádám o radu jestli někdo neví jak tam to ID dostat nebo jak upravit tento soubor aby upravoval to co chci.
pokker
Profil
$zmena = mysql_query("UPDATE `administrace` SET `administrace` = '$upravit'" where ID = id_v_databazi , $spojeni );

tak nějak ???
kajaman
Profil
hmm, takže ten záznam dáš asi k editaci do nějakého formuláře? No tak do toho formuláře předej i to ID,
které můžeš zobrazit jako jedno z polí (popř. můžeš udělat skryté pole s jménem ID a hodnotou tvého ID), a potom ho najdeš v $_POST. SQL query omezíš na to dané ID.
pokker
Profil
kajaman aby ho nasiel ( kedze je skryté ) "))
kajaman
Profil
pokker
... no, jmenuje se tak, ne?
<input type="hidden" ...
;-)
pokker
Profil
<input type="hidden" .... a name="tu_som" ")) , aby ho nasiel , ale Enterthan nieak nereaguje
Enterthan
Profil
Dík za rady vyzkouším to a hned dám vědět
Enterthan
Profil
Tak vyzkoušeno a s tím HIDDEN to jde jak má. Díky moc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: