Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
Ahoj,
mám problém a dúfam že sa bude dať vyriešiť. Potrebujem urobiť ID položky napevno. Myslím to tak, že ak budem mať v MySQL tieto položky id meno priezvisko 1 janko hrasko 2 jozko mrkvicka 3 anton zeleny 4 petra fialova Pre pochopenie, ak napríklad z DB zmažem jozko mrkvicka ktorý má id 2, tak id 4 sa vymaže, a mená od id 4 po id 2 sa posunú o 1 vyššie. Teda nebude id meno priezvisko 1 janko hrasko 3 anton zeleny 4 petra fialova ale bude id meno priezvisko 1 janko hrasko 2 anton zeleny 3 petra fialova Ako toto, prosím, docieliť? |
||
pcmanik Profil |
#2 · Zasláno: 20. 4. 2013, 23:27:14
IdemeNaHavaj:
Máš nejaký skutočne rozumný dôvod, prečo to potrebuješ? Všeobecne to totiž nieje dobrý napad. |
||
IdemeNaHavaj Profil |
pcmanik:
Používám ID pro pořadí záznamu - to je špatně. Nepoužívejte ID jako pořadí záznamu. Udělejte na to zvláštní sloupec, ale většinou to ani není nutné, stačí jen seřadit podle nějakého už existujícího sloupce Áno chcem na to urobiť špeciálny stĺpec, nie ten ktorý mám nastavený ako AI index. Takto som to myslel. A potrebujem to pretože niečo načítavam z DB, a všetky záznamy zobrazujem v divoch while( bla bla ) { $id = cislo id musi byt po porade od 1 do pocet zaznamov; ?> <div name="<?$id?>">bla bla</div> <? } ?> |
||
FilipProgramator Profil * |
#4 · Zasláno: 21. 4. 2013, 08:06:21
Když máš tabulku, kde byl záznam s id=3 smazán:
id meno priezvisko 1 janko hrasko 2 jozko mrkvicka 4 anton zeleny 5 petra fialova A vybíráš všechny sudé záznamy (2,4). Očekáváš, že ve sloupci "#" (pořadí) dostaneš: # meno priezvisko 1 jozko mrkvicka 2 anton zeleny Nebo: # meno priezvisko 2 jozko mrkvicka 3 anton zeleny V prvním případě můžeš použít způsob zmíněný na stack overflow, nebo číslovat záznamy v php: $i = 1; foreach($zaznamy as $zaznam) { // .. neco $i++; } Druhý případ je dost nešťastný a měl by jsi asi vymyslet něco jiného. Pokud na něm budeš trvat, vyřeší to po vymazání jeden update: UPDATE tabulka SET poradi=poradi-1 WHERE poradi > poradi_mazaneho . Nejsem si ale jistý, jak to bude s výkonností, zkus explain.
|
||
preca1 Profil |
#5 · Zasláno: 21. 4. 2013, 08:17:11
Bych řek, že bys to moh udělat stejně, jak je to tady na diskusi. Generuj to pořadový číslo v PHP. Nestačí to?
|
||
IdemeNaHavaj Profil |
#6 · Zasláno: 21. 4. 2013, 10:01:34
Pomohlo mi to, FilipProgramator.
Potreboval som spojiť PHP načítavanie z DB do JS funkcií a ani ma nenapadlo použiť ten trik s $i++; Ďakujem. |
||
Časová prodleva: 11 let
|
0