Autor Zpráva
Lorem
Profil *
Dobrý den,
mám menší problémek. Snažím se tu dát dohromady skriptík, který způsobí změnu pozice tlačítek. Každému jsem v mysql nastavila číselnou pozici a pro přehazování nahoru bych chtěla použít toto:

$id_n = $_REQUEST['position'] + 1;
  $sql_1 = mysql_query('UPDATE admin_web_products SET position=\''.$_REQUEST['position'].'\' WHERE position=\''.$id_n.'\'');
  $sql_2 = mysql_query('UPDATE admin_web_products SET position=\''.$id_n.'\' WHERE position=\''.$_REQUEST['position'].'\'');
    if($sql_1 && $sql_2) {   
    echo $done_move;
    }

Problém je v tom, že se vždy vykoná jen 2hý skript :( Nevíte, čím to je? Děkuji :)
panther
Profil
Lorem:
po provedení prvního dotazu máš v tabulc 2 řádky se stejnou pozicí.
Tori
Profil
Lorem:
Koukněte na téma Prohození sloupců MySQL, jestli to nepomůže.
Kajman_
Profil *
Tori:
Tam se přehazují hodnoty ve dvou sloupcích.

Lorem:
$id_o=(int)$_REQUEST['position'];
mysql_query("UPDATE admin_web_products SET position=IF(position=$id_n, $id_o, $id_n) WHERE position IN ($id_o, $id_n)");
Lorem
Profil *
Dobrý den,
Kaman_ : Velice děkuji za příklad, funguje nádherně ;)
Každopádně se mi vyskytl další problém v souvislostí s tímto příkladem. Jakým stylem řešíte pozici vy?
Při každém uploadu tlačítka jednoduše přiřadím tlačítku číselnou pozici a to sice :
Celkový počet tlačítek v DB + 1. Problém je, že když se jedno tlačítko vymaže, při dalším uploadu se nastaví již existující pozice. Mám takový dojem, že to nebude zrovna ideální :(( Prosím o radu
Alphard
Profil
Tak mohl byste využít funkci max() a vybrat nejvyšší hodnotu, ale lepší bude při mazání posunout hodnoty pořadí zase dolu. Jednoduše
update tabulka set poradi = poradi - 1 where poradi > xxx order by poradi

Sám si ale často beru na pomoc javascript
http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/

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:

0