Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Drobny problem - podwojenie wyników w MySQL
artuross
post 13.01.2012, 11:48:30
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Mam taki problem, ponieważ, gdy dodaję wyniki do bazy danych one są podwojone. Od razu dodaję, że pętla for została wprowadzona, abym mógł skontrolować ilość wyników do bazy danych, normalnie korzystam z foreach i też na nią przejdę... gdy znajdę przyczynę tego problemu.

  1. for ($i=0;$i<10;$i++)
  2. {
  3. if ( isset($a[$i]['0']) && isset($a[$i]['1']) && isset($a[$i]['2']) )
  4. {
  5. $wyn1 = $a[$i]['0'];
  6. $wyn2 = $a[$i]['1'];
  7. $wyn3 = $a[$i]['2'];
  8.  
  9. mysql_query("INSERT INTO tablica VALUES (NULL, '$wyn1', '$wyn2', '$wyn3')");
  10. }
  11.  
  12. else
  13. {
  14. break;
  15. }
  16. }


W żadnym innym dołączanym pliku nie ma kodu odpowiedzialnego za dodanie wyników do bazy danych, nie ma też 'odnośnika' do tego pliku, które je wykonuje, a nawet gdyby był to zastosowałem require_once. Nie wiem dlaczego dodaje 20 skoro maksymalnie może dodać 10, przecież jest ograniczone pętlą. Nawet z pętlą foreach wiedziałem ile wyników dodaje, bo również wyświetlało mi je, więc gdyby te same wyniki były przypisane do tablicy 2 razy to i wyświetliłoby mi je 2 razy.

Nie proszę o nowy kod wink.gif proszę o pomoc w znalezieniu błędu, więc nie wyjeżdżajcie mi z tekstami, że chcę gotowca ;p;p


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 11:57:02
Post #2





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




Było już kilku takich jak ty, co się zastrzegali, że nic podwójnie nie robią, nic a nic a co do czego okazywało się, że jednak robią coś podwójnie, albo przegladarka wysyla dwa żądania albo coś innego.
Tak czy siak ten kod jest odpalany dwa razy. Poszukaj dokładnie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
darko
post 13.01.2012, 11:58:45
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Pokaż var_dump($a); oraz strukturę tabeli, do której zapisujesz dane. Rozwiązaniem po stronie bazy mogłoby być ustawienie UNIQUE na kluczu głównym tabeli.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:00:22
Post #4





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Cytat(nospor @ 13.01.2012, 11:57:02 ) *
Było już kilku takich jak ty, co się zastrzegali, że nic podwójnie nie robią, nic a nic a co do czego okazywało się, że jednak robią coś podwójnie, albo przegladarka wysyla dwa żądania albo coś innego.
Tak czy siak ten kod jest odpalany dwa razy. Poszukaj dokładnie.


Heh, nie wierzysz we mnie ;( Przeszukałem kod ręcznie i komputerowo, przeglądarka nie wysyła 2 razy, a przynajmniej nie wysyłała wczoraj biggrin.gif Poza tym nie wiem, może to pomoże określić czy przeglądarka wysyła 2 razy żądania, bo wyniki są dodane w taki sposób:
wynik 1
wynik 2
wynik 3
wynik 4
wynik 1
wynik 2
wynik 3
wynik 4
...

Wydaje mi się, że gdyby wysyłała 2 razy to byłoby:
wynik 1
wynik 1
wynik 2
wynik 2
...


EDIT:
Kolumna Typ Metoda porównywania napisów Atrybuty Null Domyślnie Dodatkowo
ID int(10) UNSIGNED Nie None AUTO_INCREMENT
Tytul char(255) latin1_swedish_ci Nie None
Tresc char(255) latin1_swedish_ci Nie None
Autor char(100) Tak NULL


var_dump()
  1. {
  2. [0]=> array(3)
  3. {
  4. [0]=> string(12) "Nie ma nic!!"
  5. [1]=> string(3) "Nic"
  6. [2]=> string(4) "2012"
  7. }
  8.  
  9. [1]=> array(3)
  10. {
  11. [0]=> string(12) "Totalne zero"
  12. [1]=> string(1) "-"
  13. [2]=> string(7) "Jakooob"
  14. }
  15.  
  16. [2]=> array(3)
  17. {
  18. [0]=> string(15) "Takie sobie nic"
  19. [1]=> string(10) "Nie ma nic" [2]=> string(4) "Brak"
  20. }
  21.  
  22. [3]=> array(3)
  23. {
  24. [0]=> string(1) "-"
  25. [1]=> string(5) "To ja"
  26. [2]=> string(7) "Znów ja"
  27. }
  28.  
  29. [4]=> array(3)
  30. {
  31. [0]=> string(11) "Kliku kliku"
  32. [1]=> string(1) "1"
  33. [2]=> string(3) "lol"
  34. }
  35. }


Ten post edytował artuross 13.01.2012, 12:14:31


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:04:07
Post #5





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




NIe chodzi o to ze ci nie wierze, ale mówię ci ze było już tu kilku takich uparciuchów jak ty a co do czego okazało sie ze mialem racje.

zrob sobie file_put_contents('plik.txt','nospor ma racje',FILE_APPEND);
i powiedz ile masz nosporów w pliku wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
xxdrago
post 13.01.2012, 12:09:39
Post #6





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Wydaje mi się, że całość jest ok ale jak nospor powiedział " ale mówię ci ze było już tu kilku takich uparciuchów jak ty a co do czego okazało sie ze mialem racje."

Dodaj sobie proste:
echo i zaraz wybadasz o co chodzi..

Ten post edytował xxdrago 13.01.2012, 12:10:55


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:13:51
Post #7





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




echo moze nie rozwiązac sprawy, bo jak idą inne zadania to nie zobaczy echo z tych zadan. dlatego robi sie file_put_contents - to zapisze wszystko


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:18:04
Post #8





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Cytat(nospor @ 13.01.2012, 12:04:07 ) *
NIe chodzi o to ze ci nie wierze, ale mówię ci ze było już tu kilku takich uparciuchów jak ty a co do czego okazało sie ze mialem racje.

zrob sobie file_put_contents('plik.txt','nospor ma racje',FILE_APPEND);
i powiedz ile masz nosporów w pliku wink.gif


OK, jesteś mistrzem, były 2 "nospor ma racje". Czyli muszę przeinstalować przeglądarkę?


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:20:39
Post #9





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




Hehe smile.gif

To nie musi byc wina przegladarki. Jesli np. masz ładne URL czy ogolnie robisz mod_rewrite to jak nie ma jakiegos pliku np. favicon to leci przekierowanie na plik php.
Musisz sprawdzic czy nie masz takich rzeczy

Posprawdzaj też includowanie.

Albo zamiast zapisywac nospor ma racje, to zapisuj to co zawiera $_SERWER (print_r($_SERVER, true));
zobaczysz wtedy dokladnie jakie było żądanie do serwera


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:24:21
Post #10





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Akurat tutaj nie mam ładnych URL'i, w ogóle nigdzie nie mam ;p

Wynik tego co podałeś: Array (print_r(Array, true)) - nic mi to nie mówi.


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:25:01
Post #11





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




ale funkcje a nie tekst.....

file_put_contents('plik.txt',print_r($_SERVER, true),FILE_APPEND);


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:34:21
Post #12





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Cytat
Array
(
[MIBDIRS] => C:/Program Files/Xampp/php/extras/mibs
[MYSQL_HOME] => \xampp\mysql\bin
[OPENSSL_CONF] => C:/Program Files/Xampp/apache/bin/openssl.cnf
[PHP_PEAR_SYSCONF_DIR] => \xampp\php
[PHPRC] => \xampp\php
[TMP] => \xampp\tmp
[HTTP_HOST] => localhost
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; rv:9.0) Gecko/20100101 Firefox/9.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => pl,en-us;q=0.7,en;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_ACCEPT_CHARSET] => ISO-8859-2,utf-8;q=0.7,*;q=0.7
[HTTP_CONNECTION] => keep-alive
[HTTP_REFERER] => http://localhost/IF-n1e0garek/
[PATH] => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM
[SystemRoot] => C:\WINDOWS
[COMSPEC] => C:\WINDOWS\system32\cmd.exe
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
[WINDIR] => C:\WINDOWS
[SERVER_SIGNATURE] => <address>Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 80</address>

[SERVER_SOFTWARE] => Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
[SERVER_NAME] => localhost
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => C:/Program Files/Xampp/IF-n1e0garek
[SERVER_ADMIN] => postmaster@localhost
[SCRIPT_FILENAME] => C:/Program Files/Xampp/htdocs/n1e0garek/results.php
[REMOTE_PORT] => 1501
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => str=ssssssssfsdgdfgdfhdh
[REQUEST_URI] => /n1e0garek/results.php?url=str=ssssssssfsdgdfgdfhdh
[SCRIPT_NAME] => /n1e0garek/results.php
[PHP_SELF] => /n1e0garek/results.php
[REQUEST_TIME] => 1295004667
)


Ten post edytował artuross 13.01.2012, 12:36:44


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
thek
post 13.01.2012, 12:35:28
Post #13





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




I co to da? Każdy wchodzacy na tę strone z tej przeglądarki i tak odpali kod dwa razy. Nie masz szukać obejścia, ale przyczyny. Zobacz jakie są połączenia między tym adresem a plikiem. Może includujesz go gdzieś dwa razy, strona się wykonuje i w pewnej chwili robi redirect na samą siebie, już po insercie. Powodów może być wiele. Ale tego bez informacji od Ciebie się nie dowiemy.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:36:46
Post #14





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




powinienes dostac dwa wyniki a nie jeden. Podaj wszystko co dostales

@thek a da to, że bedzie wiadomo czy oba żądania były takie same czy moze to drugie było favicon czy czymś innym.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
thek
post 13.01.2012, 12:41:05
Post #15





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




@nospor: "I co to da?" nie było do Ciebie smile.gif
Odpisałem tak na:
Cytat
Czyli muszę przeinstalować przeglądarkę?

Moja wina, że nie zacytowałem.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:42:57
Post #16





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Już znalazłem przyczynę, wysyła dwa razy, bo przy wklejaniu zmiennej wciskam ctrl i v i wysyła jedno dla każdego <idiota> korzystam z onkeyup

To teraz zmieniam pytanie ;p da się zrobić tak, żeby wysyłało zapytanie przez AJAXA po 'odznaczeniu' pola tekstowego?


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
nospor
post 13.01.2012, 12:45:31
Post #17





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




onchange?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artuross
post 13.01.2012, 12:52:21
Post #18





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Cytat(nospor @ 13.01.2012, 12:45:31 ) *
onchange?


W sumie źle to napisałem, nie chcę po odznaczeniu, równie dobrze mogłem to wysyłać enterem, jakiś sposób, aby po wklejeniu CTRL + V automatycznie się wysyłało, bez klikania zbędnego - może być np. wysyłane po ponownym aktywowaniu okienka(tzn. jest już aktywne, ale Ty klikasz jeszcze raz na nie).

Rozwiązane, zmieniłem kod js o_0

Ten post edytował artuross 13.01.2012, 12:54:33


--------------------
Pomoglem? Daj pomogl!
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: 18.07.2025 - 14:28