Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] table autonumerowanie
uroczy
post 17.04.2006, 11:15:13
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.02.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


witam mam mały problem z autonumerowaniem tabeli w której jest unikalna wartość indeksowana jesli usune jakis rekodr (wykasuje post) np numer 4 i nawet jesli jest ostatni to kolejny nie będzie miał numeru 4 tylko odrazu 5 czyli będę miał wartośći 1 2 3 5 co trzba ustawić aby wartośc indeksowana wstawiał tą 4 -ke


--------------------
.::::. |::::|
Go to the top of the page
+Quote Post
Kuziu
post 17.04.2006, 11:22:54
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Pytanie tylko po co ?

auto numerowania używawsz do teog by każdy z rekordów miał unikalny numer... co jeśli np. dodasz news'a o ID = 4 wstawisz gdzieś do niego linka potem go skasujesz i dodasz innego i on znów będzie miał ID = 4 i stary link zamiast wskazać na nieistniejący rekord wskaże na błędny.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
uroczy
post 17.04.2006, 11:31:09
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.02.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


to jak dokonać zlicznia wszystkich obecnych postów w bazie ? czy mozna utwozyć kolumne w ktorej będzie o 1 więkrzy od poprzedniego ? kolumna by sie nazywała ilość i kąza kolejan awroś była by o 1 więkrza.


--------------------
.::::. |::::|
Go to the top of the page
+Quote Post
Kuziu
post 17.04.2006, 11:34:00
Post #4





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


  1. SELECT COUNT(id) AS ilosc
  2. FROM tabela


Zwróci Ci komórkę o nazwie ilosc z łączną ilością rekordów w tej tabeli.

Ten post edytował Kuziu 17.04.2006, 11:34:29


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
uroczy
post 17.04.2006, 11:40:56
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.02.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


fajnie działa smile.gif a gyby tak utwozć całkiem nową kolumne id by były sobie na poczatku a nowa kolumna to niczym w pętli for i++ gdzie i=1 ? tylko zeby poprawiało zmiany danych w zaleznosci od usuniętego rekordu np usune rekord 8 ro wszystkie rorody od 9 do 49 zmienią swoje numerki smile.gif
zeby liczyło w bazie smile.gif

Ten post edytował uroczy 17.04.2006, 11:42:40


--------------------
.::::. |::::|
Go to the top of the page
+Quote Post
Kuziu
post 17.04.2006, 11:48:49
Post #6





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Ale po co to robić skoro jest do tego funkcja COUNT ?

Pomyśl co by było przy 10000 rekoród i kasujesz ten z numerem 1. Zmiana 9999 rekordów ... troche to nielogiczne. A taka zmiana trochę też trwa i w miedzy czasie ktoś kasuje jeszcze 5 i cała baza się wywala.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
uroczy
post 17.04.2006, 11:54:57
Post #7





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.02.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


nie nie chodzi o to che miec komórke która przedstawia faktyczny numer tylko do przedstawiania wynków smile.gif nie che ruszać idntyfikara według ktorego licze ale niczym w zapise ksiegówy musze miec kolejne liczby a nie che ich pobierac z id bo wychodzi ze skasowano jakieś rordy rolleyes.gif


--------------------
.::::. |::::|
Go to the top of the page
+Quote Post
Kuziu
post 17.04.2006, 11:58:12
Post #8





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Naprawde nie rozumie o co Ci chodzi i po co Ci to.

Jak chcesz pokazać tylko kolejne numerki to wpisz w php $i++ i echo($i); i masz kolejne numerki tylko pobierz sobie startowy.

Przecież przy większej bazie Twoje rozwiązanie bedzie bez sensu zamiana kilku tysięcy rekordów co 1 kasowanie jest .....


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
uroczy
post 17.04.2006, 12:05:38
Post #9





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.02.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


no własnie nie wiem jak to wpechną w skrypt bazy smile.gif do pętli która wyciągania z dane i powtaza , jesli wstawie w while to zwsze będzie mial numer 1 ?

while ( $aRow =mysql_fetch_array( $aQResult ) ) {

--
w smumie masz racje d

dziki za pomoc winksmiley.jpg

a o to sposób

  1. <?php
  2. $aSQL = "select * from ksiega order by 'id' desc";
  3. $aostatnia = "SELECT COUNT(id) AS id
  4. FROM ksiega";
  5. //wykonaie select cokolwiek to znaczy
  6. $aQResult = mysql_query( $aSQL, $aDBLink );
  7. $aQResult2 = mysql_query( $aostatnia, $aDBLink );
  8. if ( $aQResult == True ) {
  9. // i wkocu pobieranie wierszy danych i wypisywani pól
  10. $s = mysql_fetch_array($aQResult2);
  11. $sa = $s["id"];
  12. while ( $aRow =mysql_fetch_array( $aQResult ) ) {
  13. $aId = $sa--;
  14. ?>
wyviągam z bazy liczbę id i zwracam go jako id za pomaovą tablicy jest wyciągana
  1. <?php
  2. $s = mysql_fetch_array($aQResult2);
  3. $sa = $s["id"];
  4. ?>
no i potem odejmuje jeden i zwracam dzięki taemu mam idealną numeracje do ksiegi gosci i nie widac ze ktos skasował wpsiy a w bazie jes pożądek smile.gif

Ten post edytował uroczy 17.04.2006, 12:52:44


--------------------
.::::. |::::|
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 12:12