Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie duplikatów
rafik73
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

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


Witam
Mam problem z czujką wykrywającą duplikaty. Dane są zawężane do rekordów o określonej dacie,np:
data 2015-07-20
istnieją rekordy:
1 A B C
2 D E F
3 G H I
gdzie liczby to id_tssk.

$id_tssk to id edytowanego rekordu.
Gdy chcę edytować 1 rekord i zamienić powiedzmy C na F to odpowiedni warunek if powinien to wychwycić (F istnieje w 2 rekordzie)
a tu żaden z warunków nie reaguje i przechodzi do działania 6. Co robię nie tak?

  1. $same_query = mysql_query("SELECT * FROM `tssk` WHERE `data_punktu`='$data_punktu' AND `id_tssk`<>'$id_tssk'") or die('Błąd zapytania');
  2. while($same=mysql_fetch_array($same_query)){
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. if( warunek 1) {
  10. działanie 1
  11. }
  12.  
  13. elseif(warunek 2) {
  14. działanie 2
  15. }
  16.  
  17.  
  18. elseif( warunek 3) {
  19. działanie 3
  20. }
  21.  
  22. elseif( warunek 4 ) {
  23. działanie 4
  24. }
  25. } // tu się zamyka pętla while
  26.  
  27.  
  28. if (warunek 5) {
  29. działanie 5
  30. }
  31. else
  32. {
  33. działanie 6
  34. }


Mam wrażenie, jakby nie działała pętla while
Zapytanie jest OK,bo testowałem 'echem'
Poprawcie mnie,jeśli się mylę, przebieg tego kodu to:
Zapytanie mysql-jest rekord-warunek1-false-warunek2-false-warunek3-false-warunek4-false i tu pętla
i kolejne zapytanie. Jeśli któryś z warunków od 1 do 4 true to odpowiednie działanie. Jeśli pętla
się zakończy (koniec rekordow), to wtedy przejście do warunku 5.

Ten post edytował rafik73 21.07.2015, 20:38:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




@CuteOne to nie ma znaczenia... zajrzyj do manuala

@rafik niestety strasznie namotales w tym kodzie
1) Samo wywolanie header nie powoduje zakonczenia dzialania kodu. Tak ze ten Twoj kod moze na dobrą sprawę wygenerować 100 header za jednym zamachem. Jesli chcesz by header konczyl sprawe to musisz wykonac EXIT.
2) Sprawdz w ogole jakie sa DOKLADNIE wartosci ktore sprawdzasz w warunkach a bedziesz wiedzial czemu ci do jednego warunku wchodzi a do innego nie. To są naprawde proste sprawy
3) Tu masz całą masę przydatnych wskazowek ktore masz zrobic
Temat: Jak poprawnie zada pytanie

4) `id_tssk`<>'$id_tssk'
Jak rozumiem id to liczba wiec tak ma byc
`id_tssk`<>$id_tssk
Odrozniaj teksty od liczby
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: 27.12.2025 - 06:59