Autor | Zpráva | ||
---|---|---|---|
libor XYZ Profil |
mám problém s prohozením pořadí řádků v databázi (prostřenictvím údaje v sloupci pořadí), prováděné z PHP:
je to v principu nějak takto: if ($nahoru) {$predchozi=$nahoru-1; $pomocna="10000"; $sql = "UPDATE web SET poradi=$pomocna WHERE poradi='$nahoru'"; $dbdata = mysql_query( $sql ); $sql = "UPDATE web SET poradi='$nahoru' WHERE poradi='$predchozi'"; $dbdata = mysql_query( $sql ); $sql = "UPDATE web SET poradi='$nahoru'-1 WHERE poradi='$pomocna'"; $dbdata = mysql_query( $sql ); }; vypadá to, jako by PHP neumělo provést ty tři SQL příkazy po sobě a nějak mi to stále "sukuje"… děkuji za případnou radu Libor Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Tori Profil |
#2 · Zasláno: 15. 11. 2010, 03:11:53
píše něco mysql_error() ?
|
||
libor XYZ Profil |
#3 · Zasláno: 15. 11. 2010, 21:33:39
Tori:
no nejsem si jistý jak to zjistit... takto po provedení příkazů mySQL? echo (mysql_error()); tak v tom případě nic... ale možná nám na serveru vypnuté informace o chybách... asi ten kód napíšu jinak a obejdu uživatelsky přítulné řešení... |
||
AM_ Profil |
#4 · Zasláno: 15. 11. 2010, 21:49:46
mohlo by fungovat toto:
UPDATE web SET poradi=IF(poradi==$nahoru, $predchozi, $nahoru) WHERE poradi IN ($predchozi, $nahoru) |
||
libor XYZ Profil |
#5 · Zasláno: 17. 11. 2010, 21:42:04
díky zkoušel jsem to, ale nezafungovalo to...
a je to mě složitý... nezvládnu to sám opravit... původně jsem chtěl posouvat řádky pomocí šipeček, ale pak jsem to obešel formulářem, kde zadám původní a nový záznam. to mi funguje, a tak to teď nechám... ještě jednou díky ... |
||
Časová prodleva: 13 let
|
0