mysql, zjisteni poradi radku
jak nejjednoduseji zjistit poradi radku s urcitym id (primani klic) z vyberovyho dotazu s ruznymi podminkami a razenim ?
jak nejjednoduseji zjistit poradi radku s urcitym id (primani klic) z vyberovyho dotazu s ruznymi podminkami a razenim ?
Zpět do poradny Odpovědět na původní otázku Nahoru
Asi bude nejlepším řešením, ten primární klíč zahrnout do výsledku dotazu...
Jak radí Rce, jedině použít ten primární klíč, co jiného? Kdyby to z nějakého důvodu nešlo, tak by šel načíst výsledek dotazu třeba do pole, kde by měl také každý prvek svoji pozici.
asi jsem se blbe zeptal, ale potrebuji zjistit poradi, id znam
dotaz vypada treba takhle: (podminky se meni podle uzivatelskyho vstupu)
SELECT * FROM tab WHERE a = 2 AND b = 3 AND c = 3 ORDER BY sloupec5 ASC, sloupec3 DESC
a z tohodle dotazu potrebuju zjistit poradi radku s id X
edit:
resit to pres pole je imho nevhodny, tech radku muze byt i par tisic
A proč potřebuješ pořadí řádku? V databázových strojích (MySQL, Oracle,...) je pořadí vět naprosto nepodstatné a žádný stroj ho nezajistí. Podle toho se to musí programovat. Jediný správný odkaz je přes primární klíč.
Jestli jsem to správně pochopil, má primární klíče 1,2,3,4,..atd... SELECTem díky podmínkám a díky řazení ORDER mu vznikne posloupnost např. 22,30,50,17,46,... a on potřebuje vědět, že např. id 22 je první, id 30 je druhé, id 50 třetí atd... Alespoň tak tomu teď momentálně rozumím.
Takže řazení přes primární klíč v tomto případě nelze použít.
Mhm, možná. Jestli mu jde o očíslování nějakého seznamu v PHP, tak bych ta čísla řádků řešil extra čítačem... No, ještě počkám, až kolega foltyn upřesní problém a k čemu to vlastně potřebuje.
delam galerku a to poradi je tam kvuli posouvani mezi fotkama (dalsi, predchozi, atd)
no a zjistovat poradi podle id potrebuju kvuli odkazum
Já myslel využít funkci mysql_fetch_array při zpracovávání dotazu.
viz. mysql_fetch_array
dik moc, po par upravach to dela presne to co chci
V takomto prípade by mohlo stačiť toto (bez toho jedného vnoreného selectu):