Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] UPDATE nie działa
amii
post 26.11.2010, 09:51:18
Post #1





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Mam taki blok instrukcji i nie wiem czemu UPDATE nie działa, sprawdzałem instrukcje w bazie jest OK, błędów też nie wyrzuca

  1. //Funkcja pobiera ważne ustawienia z bazy danych
  2. function s($var) {
  3. connect_to_db();
  4.  
  5. $query = 'SELECT name, value FROM settings';
  6. $result = mysql_query($query) or die('Nastapił błąd w zapytani udo bazy w funkcji settings: '. mysql_error());
  7. while ($r = mysql_fetch_assoc($result)) {
  8. $site_settings[$r['name']] = $r['value'];
  9. }
  10.  
  11. $value = $site_settings[$var];
  12. return $value;
  13. }
  14.  
  15.  
  16.  
  17. $tablica = array();
  18. $podbij = 20; //to wartosc jaka zwiekszamy licznik
  19. $sql = "SELECT MIN(id) FROM dodane as minimum";
  20. $zapytaj = mysql_query($sql) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji select min dla cron.php: '. mysql_error());
  21.  
  22. $sql_max = "SELECT MAX(id) FROM dodane as maximum";
  23. $zapytaj_max = mysql_query($sql_max) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji select max dla cron.php: '. mysql_error());
  24. $max = mysql_fetch_array($zapytaj_max); //pobranie wartosci maxymalne id z dodane
  25. $maximum = $max['MAX(id)']; //zapisujemy ta wartosc z maximum w celu dalszego porownania
  26. $limit_dodan = s('limit'); //limit przeskanowanych stron domyslnie 20
  27.  
  28.  
  29. /*********************BLOK JESLI WSZYSTKIE ADRESY OBSLUZONE****************************************/
  30. if($limit_dodan > $maximum) {
  31.  
  32. echo 'Jestem wewnatrz ifa<br>'; //!!!TO SIE WYSWIETLA CZYLI WARUNEK SPELNIONY!!!
  33. echo 'Limit dodan to: ' .$limit_dodan. '<br>'; //tu sie wyswietla 20
  34. echo 'Maximum to: ' .$maximum. '<br>'; //tu sie wyswietla 2
  35.  
  36. $update = "UPDATE settings SET value=0 WHERE name='limit'"; //resetujemy licznik, sprawdzlem zapytanie i jest OK
  37. $zap1 = mysql_query($update) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji update wyzeruj do 20 dla cron.php: '. mysql_error());
  38. $limit_dodan = s('limit');
  39. echo 'Limit wewnatrz ifa to: ' . $limit_dodan . '<br>'; //tu sie wyswietla 20 czemu skoro bylo restowanie 2 instrukcje wczesniej questionmark.gif?
  40.  
  41.  
  42. }
  43. /**********************BLOK JESLI WSZYSTKIE ADRESY OBSLUZONE***************************************/
  44.  
  45. $pobierz = "SELECT MIN(id) FROM dodane as minimum";
  46. $zapytaj = mysql_query($pobierz) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji 0 SELECT MIN(id) FROM main as minimum : '. mysql_error());
  47.  
  48. $limit_min = mysql_fetch_array($zapytaj); //pobranie wartosci minimalnej id z main i jej zapisanie
  49. $limit_min = $limit_min['MIN(id)'] + s('limit'); //domyslnie sprawdzamy indeksacje 20 stron raz na ilosc uruchomien zdefiniowana w cron
  50. $limit_max = $limit_min + $podbij; //wartosc s('limit') domyslnie = 20
  51.  
  52.  
  53.  
  54. $sql1 = "SELECT id, url FROM dodane WHERE id BETWEEN $limit_min AND $limit_max";
  55. $pytamy = mysql_query($sql1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji select from main dla cron.php: '. mysql_error());
  56. while($row = mysql_fetch_array($pytamy)) {
  57. $adres = $row['url'];
  58. $tablica[] = $adres;
  59. $wynik = szukaj($row['url']); //wywolujemy funkcje sprawdzajaca indeksacje
  60.  
  61. if (!$wynik) {
  62. $update1 = "UPDATE dodane SET tick=1 WHERE url='$adres'"; //ustawiamy wartosc tick na 1 co oznacza zaideksowana
  63. $zap11 = mysql_query($update1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji update dla cron.php: '. mysql_error());
  64. echo "Upadate dla nastepujacych stron. Strony oznaczone zostaly jako zaindeksowane: " .$adres. "<br>"; //docelow testowych
  65. }
  66. else {
  67. $update2 = "UPDATE dodane SET tick=0 WHERE url='$adres'"; //ustawiamy wartosc tick na 0 co oznacza niezaideksowana
  68. $zap22 = mysql_query($update2) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji update dla cron.php: '. mysql_error());
  69. }
  70. }
  71.  
  72.  
  73. $update = "UPDATE settings SET value=value+$podbij WHERE name='limit'"; //tutaj podbijamy wartosc licznika o 20
  74. $zap1 = mysql_query($update) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji update dla cron.php: '. mysql_error());


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
poli25
post 26.11.2010, 10:14:50
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


nie wiem czy to jest dobrze
SET value=value+$podbij questionmark.gif podstaw cos pod to jesli zadziałą rto znaczy ze skłądnie trzeba poprawic winksmiley.jpg


p.s.
value moze zasta $value?

Ten post edytował poli25 26.11.2010, 10:16:41
Go to the top of the page
+Quote Post
amii
post 26.11.2010, 10:52:12
Post #3





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Niestety nie pomaga sad.gif


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
poli25
post 26.11.2010, 10:59:48
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


a pod limit co sie znajduje?? where name='limit' name kojarzy mi sie z nazwa a limit z liczba to jest poprawne ?
Go to the top of the page
+Quote Post
amii
post 26.11.2010, 11:04:23
Post #5





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Struktura tabeli wygląda tak:

  1. CREATE TABLE `settings` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `name` varchar(20) NOT NULL DEFAULT '',
  4. `value` varchar(255) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
  7.  
  8. --
  9. -- Zrzut danych tabeli `settings`
  10. --
  11.  
  12. INSERT INTO `settings` (`id`, `name`, `value`) VALUES (1, 'licznik', '0'),
  13. (2, 'pula', '5'),
  14. (3, 'login', '099f6ecd4621d273cade4e832627b4f6'),
  15. (4, 'pass', '099f6ecd4621d773cade4e832627b4f6'),
  16. (5, 'paginator', '10'),
  17. (6, 'limit', '20');


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
poli25
post 26.11.2010, 11:20:02
Post #6





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


a sprobuj zmienic nazwe zmienej $query na inna nazwe czy przypadkiem nie wykonuje sie inne query??

p.s.
nie ma tabeli dodane jeszcze przeslij druga tabele jeszcze

przelsij jeszcze tabele dodane

Ten post edytował poli25 26.11.2010, 11:13:28
Go to the top of the page
+Quote Post
amii
post 26.11.2010, 11:36:39
Post #7





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


  1. CREATE TABLE `dodane` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `url` varchar(80) NOT NULL DEFAULT '',
  4. `tick` int(11) NOT NULL DEFAULT '0',
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
  7.  
  8. --
  9. -- Zrzut danych tabeli `dodane`
  10. --
  11.  
  12. INSERT INTO `dodane` (`id`, `url`, `tick`) VALUES (1, 'http://strona.pl/index.php/', 0),
  13. (2, 'http://strona.org.pl/index.php/category/', 0)


Dorzuciłem w bloku i niby działa OK. tylko nadal nie wiem czemu po UPDATE na 0 wyświetla tym razem 40

if($limit_dodan > $maximum) {
$podbij = 0;
}


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
pablo89pl
post 26.11.2010, 11:37:33
Post #8





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


Kolego sprwadź sobie najpierw wyniki na samym SQLu ( chociazby przez phpmyadmina albo konsole SQL)
Potem posprawdzaj jakie warunki przechodząCi w skrypcie, po prostu "zdebuguj"....


@offtopic - właśnie przez takich "skrypciarzy" PHP-owcy uważani są za dzieci z gim, którym 100zł starcza na życie, zabijając w ten sposób ten pełen potencjału rynek

Ten post edytował pablo89pl 26.11.2010, 11:39:33
Go to the top of the page
+Quote Post
poli25
post 26.11.2010, 11:40:53
Post #9





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


bo masz valu + $podbij winksmiley.jpg (a value masz w bazie juz 20) winksmiley.jpg
Go to the top of the page
+Quote Post
amii
post 26.11.2010, 11:42:59
Post #10





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Kolego pablo89pl czytasz ze zrozumieniem ?
Napisałem w pierwszym poście, że testowałem zapytanie na bazie (i zawsze tak robię przed zadaniem pytania na forum).
Warunki tez testuje, program drukuje na ekran odpowiedni na komunikat. Na przyszłość jeśli Twoja wypowiedź ma wnosić tyle co nic to się nie udzielaj.


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
poli25
post 26.11.2010, 11:46:10
Post #11





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


@pablo
jeślii siedzisz nad projektem tydzień i jesteś potwornie zmęczony to czasem najprostsze rzeczy uchodzą uwadze pamiętaj o tym Pablo
Go to the top of the page
+Quote Post
pablo89pl
post 26.11.2010, 11:53:18
Post #12





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


Cytat(poli25 @ 26.11.2010, 11:46:10 ) *
@pablo
jeślii siedzisz nad projektem tydzień i jesteś potwornie zmęczony to czasem najprostsze rzeczy uchodzą uwadze pamiętaj o tym Pablo

no fakt..
OK powodzenia i miłego kodowania;-)
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 - 23:29