Autor | Zpráva | ||
---|---|---|---|
Welton123 Profil |
#1 · Zasláno: 31. 8. 2013, 21:57:20
Zdravím,
Chtěl bych se zeptat, zda je nějaká možnost, jak v MySQL tabulce přidat další sloupec ale tak, aby první záznam měl v tom sloupci "1", 5 záznam číslo "5" atd..., ale s tím, že se ten sloupec nebude měnit a zůstane jako pořadí. |
||
juriad Profil |
#2 · Zasláno: 31. 8. 2013, 22:04:51
Nejjednodušší by bylo vytvořit další tabulku s tím jedním dalším sloupcem, který bude mít auto_increment (na klíčích v ní nebude záležet)
a všechna data do ní nahrneš pomocí http://dev.mysql.com/doc/refman/5.6/en/insert-select.html Pak dropneš původní tabulku a vytvoříš ji znovu (se všemi klíčemi a novým sloupcem pořadí) a data úplně stejným postupem vrátíš zpět. Mimochodem, opravu je potřeba sloupec pořadí? Neexistuje již jiný sloupec, který pořadí určuje byť jeho hodnoty nejsou souvislé? Většinu problémů lze řešit elegantněji než sloupcem pořadí. |
||
Welton123 Profil |
#3 · Zasláno: 31. 8. 2013, 22:44:45
Ve výpisu se to potom řadí podle počtu hlasů, který má každý řádek v DB.
Potřebuji ale na čistou php stránku vytáhnout pomocí ?id=id_řádku kolikátý je ten daný řádek. |
||
han5vk Profil |
#4 · Zasláno: 1. 9. 2013, 00:04:00
Na to ale nepotrebuješ nevyhnutne za sebou nasledujúce čísla, stačí klasické idečko Auto Increment s PRIMARY indexom, pre každý záznam.
|
||
Kajman Profil |
Welton123:
„kolikátý je ten daný řádek.“ Tak spočítáte počet řádků, které mají lepší hlasy a přičtete jedničku. select count(*)+1 poradi from tabulka where hlasu>$hlasu_aktualniho_radku |
||
Welton123 Profil |
#6 · Zasláno: 2. 9. 2013, 12:43:22
Kajman:
To mi ale vypíše kolik serverů má více hlasů jak $hlasu_aktualniho_radku .
Já potřebuji zjistit, kolik má ten server hlasů a kolikátý je v pořadí. Kdyby bylo pořadí třeba Fotka_id | Hlasu 1 | 35 2 | 45 3 | 9 A dám potom za adresu $id=2 tak, aby mi to vypsalo, kolikátá je v tom pořadí fotka s ID 2 podle počtu hlasů a ne podle pořadí v tabulce. |
||
Kajman Profil |
#7 · Zasláno: 2. 9. 2013, 13:19:48
Pokud ještě nemáte vytažená data aktuálního řádku a je potřeba v dotaze použít id, jde i to...
SELECT akt.hlasu, Count(*) + 1 poradi FROM tabulka pom, (SELECT hlasu FROM tabulka WHERE fotka_id = 2) akt WHERE pom.hlasu > akt.hlasu |
||
Časová prodleva: 11 let
|
0