![]() |
![]() |
--Mati-- |
![]()
Post
#1
|
Goście ![]() |
Mam jeszcze taki problem, zdarza się, że w bazie jest kilka rekordów, które mają taki sam 'link'.
Chciałbym, aby pozostał tylko 1 rekord z takim linkiem a wszystkie inne zostały usunięte, więc napisałem taki skrypcik:
Zanim go odpalę chciałbym zapytać was o opinię, czy to zadziała (usunie duplikaty i zostawi tylko 1 rekord) i nic mi nie zepsuje w bazie ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Trochę brak temu logiki.
$deleted = 0; a potem sprawdza pan warunek czy $deleted>10000 -to Panu nigdy nie pójdzie bo $deleted to przecież 0 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat a potem sprawdza pan warunek czy $deleted>10000 -to Panu nigdy nie pójdzie bo $deleted to przecież 0 przyjżyj się potem jest i inkrementacja w pętli... Ja bym zrobił to troszkę inaczej, zczytywał każdy rekord unikalnie (DISTINCT) następnie kasował wszystkie te które mają ten sam tytuł i inne id, chyba by troszkę prościej było (IMG:style_emoticons/default/smile.gif) |
|
|
-Gość- |
![]()
Post
#4
|
Goście ![]() |
$deleted na początku przyjmuje wartość 0 a gdy dojdzie do 10000 (skasowanych rekordów) skrypt przerywa działanie.
|
|
|
--Mati-- |
![]()
Post
#5
|
Goście ![]() |
Hpsi+ a czy sądzisz, że Twój sposób usunie mi więcej rekordów, czy po prostu usunie to samo tylko w inny sposób ?
Bo jeśli zrobi to samo, to pozostanę przy tym co mam, bo w php dopiero raczkuje i ciężko będzie mi to przebudować tak jak mówisz. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Moja gapa ,a raczej ślepota.Powinno działać dobrze:)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@mati . Defakto zrobi to samo, ale roboty dla Ciebie o wiele mniej przyklad (chyba działający piszę z palca), choć teraz zacznam się zastanwiać czy nie wprowadziłem Cie w błąd bo nie wiem czy masz klucz id w tej tabeli.
|
|
|
--Mati-- |
![]()
Post
#8
|
Goście ![]() |
Mam klucz id, możesz pokazać ten przykład ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wybacz moja szybka odpowiedz ale trzeba podziekować pkp ze 2h mi się pociag spoznil ;d
Ten post edytował Hpsi+ 27.06.2011, 20:16:55 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Można to zrobić jednym zapytanie przy pomocy COUNT, GROUP BY i HAVING (IMG:style_emoticons/default/wink.gif)
Było już parę razy na forum (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@melkorm, co fakt to fakt, ale nie czuje do końca zapytan z having dlatego zapronowałem takie rozawiązanie (IMG:style_emoticons/default/smile.gif) wiec jesli masz rozwiązanie jak to zrobić w jednym zapytaniu byłoby miło gdybyś podał z wytlumaczniem, może w końcu ja też bym to zrozumiał (IMG:style_emoticons/default/tongue.gif)
Ten post edytował Hpsi+ 27.06.2011, 20:25:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:11 |