Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
aktualizacja ID - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: aktualizacja ID (/thread-aktualizacja-id)

Strony: 1 2


aktualizacja ID - lomek - 30-10-2011

Witam, mam problem nie chodzi mi o kod tylko o koncepcję. Otóż mamy jakiś formularz i dodajemy sobie rekordy do bazy danych:
Kod:
ID Imie
1  Janek
2  Marta
.
.
.
i teraz jak widać Janek zostanie obsłużony i nie chcę go już w bazie więc usuwam rekord z Jankiem. Więc w bazie pierwsza pozycja to Marta z id=2, Jak teraz zrobić aby otrzymała ona ID=1 tzn tzn numer w kolejce


RE: aktualizacja ID - Pedro84 - 30-10-2011

Po co? Wiesz w ogóle po co jest ID?


RE: aktualizacja ID - urlsite - 30-10-2011

Proste, niech Marta pobije rekord Janka.
Rozwiazania sa trzy:
-usunac konto Janka.
-zmienic zasady zaliczania punktow.
-dodac dodatkowa opcje oceniania np. dodawania punktow od administratora.

P.S
A co zrobisz jak Janek sie dowie?


RE: aktualizacja ID - kancik - 30-10-2011

ideentyfikator ma być unikalny i nie może być już powtórzony.... co jeżeli Janek coś nabroi i w logach zostanie on zapisany jako użytkownik z id 1 ? Potem bedzie na marte. ID jest po to by nigdy się nie powtarzało.


RE: aktualizacja ID - lomek - 30-10-2011

Tak wiem że ID w bazie ma być unikalne żle mnie zrozumieliście bo może źle wytłumaczyłem ID u mnie w sensie pozycja na liście w kolejności do obsłużenia: może tak
Kod:
ID   Imie
133 Janek
.
.
.
122 Marta
i teraz pytanie jak dowiedzieć się na której pozycji znajduje się Marta


RE: aktualizacja ID - Kartofelek - 30-10-2011

google -> decrease vale -> pierwszy wynik

query2 = "UPDATE `points` SET `points` = `points` - 1 WHERE `userID` = '$dany_id'";


RE: aktualizacja ID - KowR - 30-10-2011

Tak, ale teraz nadpisz wszystkie pozostałe, że są już bliżej w kolejce Wink To bez sensu.


RE: aktualizacja ID - lomek - 31-10-2011

no tak bo nie mówimy tutaj o 2 rekordach a np. o 2000 i wykonanie update na każdym trochę mija się z celem, więc jest jakieś inne ekonomiczne rozwiązanie?


RE: aktualizacja ID - Pedro84 - 01-11-2011

(31-10-2011, 19:32)lomek napisał(a): no tak bo nie mówimy tutaj o 2 rekordach a np. o 2000 i wykonanie update na każdym trochę mija się z celem, więc jest jakieś inne ekonomiczne rozwiązanie?
Nie wymyślaj głupich rozwiązań - poczytaj co to są widoki w MySQL.


RE: aktualizacja ID - KowR - 01-11-2011

W ogóle dziwi mnie to troszkę... Jak byś nie mógł posortować tego według ID np. "najwyższy" rekord z przodu.
Kod:
ID     Imię
6666 Monika
5555 Janek
4444 Michał
3333 Paweł
2222 Hugo
543 Mikołaj
230 Rudolf

I po prostu przy wyświetlaniu w pętli zamiast ID pokazał liczbę porządkową.

Oo tak:
Kod:
1 Monika
2 Janek
3 Michał
4 Paweł
5 Hugo
6 Mikołaj
7 Rudolf

Po co kombinować z numerami ID skoro ID z założenia ma być zawsze unikatowe, a zmiana numeru ID po każdej edycji czy usunięciu mija się z celem dla np. 2000 rekordów. To jak Ty wyświetlisz w widoku nie ma najmniejszego znaczenia bo: możesz z ID, a po prostu można je pominąć i dać liczbę porządkową o np. tak:
Kod:
<?php
// jakiś kod z początku
$i = 1;
// pętla np.
foreach($costam as $cos) {
echo $i . ' - ' . $cos['imie'] . '<br />';
$i++;
}
// reszta kodu strony