Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jaka skuteczna modyfikacja UPDATE aby zamienić miejscami rekordy.
darney
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


Mam następującą baze

nazwy kolumn to [id] [a_name] [category] [subject] [link_yt]

1 1297857747 1 1 Omówienie pulpitu. http://www.youtube.com/watch
2 1297859247 1 1 Pasek zadań http://www.youtube.com/watch
3 1297860185 1 1 Dostosowywanie paska zadań http://www.youtube.com/watch
4 1297860677 1 1 Zamykanie systemu windows http://www.youtube.com/watch

Napisałem skrypt który modyfikuje id tyle że jak za mienie ID 1 na 99 żeby później zamienić ID 4 na 1 a następnie 99 na 4 to później autoincrementacja zaczyna się od 100 a ja chciał bym od 5. Wydaje mi się że trzeba zastosować inne rozwiązanie.

Jeżeli chciał bym zamienić pozycje 4 z 1 to jak najlepiej napisać modyfikacje. Czy stworzyć drugie id ? Jeśli tak to jak napisać dodawanie tego drugiego id. Słyszałem że robi się to za pomocą pętli for tyle że nie mam zielonego pojęcia jak zastosować takie rozwiązanie i w jaki sposób później zamieniać skryptem pozycje ze sobą.

Ten post edytował darney 18.02.2011, 11:15:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
grzeee
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


Zamien id na 0 lub skorzystaj z zapytania do bazy
ALTER TABLE table_name AUTO_INCREMENT = xx

Go to the top of the page
+Quote Post
darney
post
Post #3





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


co dokładnie robi ostatnie zapytanie ? zamienia id zachowując auto inkrementacje ?

Niestety zamiana na zero nie działa. Wpis bez zmian.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zacznijmy od tego ze pole ID (autoincrement) nie sluzy do określania kolejnosc rekordów. ID to ID - identyfikuje jednoznacznie rekord.
Jak chcesz sobie określać kolejnosc rekordów to dodaj nowe pole i na tym polu rób jakiekolwiek zmiany
Go to the top of the page
+Quote Post
darney
post
Post #5





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


No to wtedy tak jak myślałem musi być 2 ID pole bez auto inkrementacji. Zatem w jaki sposób napisać skrypt który dodaje po kolei numery bez auto inkrementacji ?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodajac nowy rekord po poprostu sprawdzasz jakie jest aktualne max i dajesz o jeden większe.
Do wyliczenia max sluzy MAX w mysql
Go to the top of the page
+Quote Post
darney
post
Post #7





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


Próbuje napisać wyświetlanie maksymalną ilość ID aby sprawdzić czy to działa niestety bez rezultatu. Bez błędu, nić nie wyświetla.

  1. $query = "SELECT max(id) FROM nazwa_tabeli";
  2.  
  3. $result = mysqli_query($dbc, $query);
  4. while ($row = mysqli_fetch_array($result)) {
  5. $id = $row['id'];
  6. $title_movie = $row['title_movie'];
  7. $link_yt = $row['link_yt'];
  8.  
  9. echo $id;
  10.  
  11. }
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




while ($row = mysqli_fetch_array($result)) {
print_r($row);
}

Juz lepiej?
A na przyszlosc wlac wyswietlanie wszytkich bledow. Tu masz napisane jak:
Temat: Jak poprawnie zada pytanie
Go to the top of the page
+Quote Post
darney
post
Post #9





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


Zdecydowanie (IMG:style_emoticons/default/smile.gif) tyle że wyświetla mi to w formie Array ( [0] => 11 [max(id)] => 11 ) Jak wydobyć samo 11 ? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pomysl..... ja ci pokazalem co siedzi w tablicy. Ty teraz to musisz wydobyc z tej tablicy. Przeciez juz w kodzie wczesniej wydobywales z tablicy, z tymże ze zlego indeksu :/
Go to the top of the page
+Quote Post
darney
post
Post #11





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

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


ok echo $row(0) ; ) Dzięki wielkie za pomoc : )
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 18.09.2025 - 09:30