Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Update + Delete dubli
boro11
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 9.07.2010
Skąd: Warszawa

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


Witam!

Mam skrypt, który sprawdza mi zapisy ludzi i działa całkiem sprawnie. Ma niestety jedną wadę. Jeśli ktoś sam nie doda sobie strony to skrypt automatycznie dodane to do bazy, niestety często jest tak, że ktoś ma inną nazwę użytkownika w moim serwisie i w innych serwisach do których dołączył.

Powstaje wtedy taka sytuacja:

(IMG:http://clip2net.com/clip/m106573/thumb640/1334438984-clip-8kb.png)

Gdzie rekord drugi był w tabeli wcześniej, dlatego rekord pierwszy ma status "Decline" dzieje się tak dlatego, że się dublują. Chciałbym aby w sytuacji takiej, że już istnieje taki "nickinsite" jak podał user aktualizowało ten bieżący zamiast dodawać nowy rekord. Do zaktualizowania w takim wypadku jest tylko wartość "nick" oraz usunięcie nie potrzebnego (1 rekordu).

Jest jakaś komenda w mysql która wyłapie takie duble i wykona to co podałem wyżej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kda
post
Post #2





Grupa: Zarejestrowani
Postów: 75
Pomógł: 2
Dołączył: 29.07.2009

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


sprawdzaj podczas przekazywania zmiennej do tabeli nickinsite jeżeli istnieje to ma edytować , jeżeli nie istnieje to ma dodać nowy wiersz

  1.  
  2. //zapytanie do tabeli czy taki login istnieje w tabeli
  3.  
  4. $zapytanie = "SELECT * FROM nazwa_tabeli where nickinsite = '$podany_login' ";
  5. while ($rekord = mysql_fetch_array ($zapytanie)) {
  6. $id_baza = $rekord[0];
  7. $nickinsite_baza = $rekord[2];
  8.  
  9. }
  10.  
  11. if($nickinsite_baza == $podany_login){
  12. $query = "UPDATE nazwa_tabeli SET nickinsite ='$podany_login' WHERE id='$id_baza' ;";
  13. $wynik = mysql_query ($query);
  14. } else {
  15. // a tu wstaw wstawianie nowego rekordu do bazy
  16. }
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 22:45