Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Insert do bazy mysql w pętli for
Forum PHP.pl > Forum > Przedszkole
e-konrad
Witam,
Poniższy kod generuje statystyki za określony okres w zależności od nr tygodnia
  1. for($count=1;$count<date("W");$count++){
  2.  
  3. $week_number = $count;
  4. //$week_number = date("W") - 1; // numer tygodnia
  5. $begin_data = date("Y")."-01-01"; //data początkowa od której będą naliczane nr tygodni
  6.  
  7. $start_date = date("Y-m-d", strtotime($begin_data." + ".($week_number - 1)." weeks - 2 day"));
  8. $start_date_time = $start_date." 00:00:00";
  9. $end_date = date("Y-m-d", strtotime($begin_data." + ".$week_number." weeks - 3 day"));
  10. $end_date_time = $end_date." 23:59:59";
  11.  
  12. echo $count;
  13. //wszystkie zgłoszenia otrs za wskazany okres
  14. $ile_zgloszen = mysql_query("SELECT
  15. count('t.id') AS 'ile'
  16. FROM ticket t
  17. join ticket_state ts ON ts.id=t.ticket_state_id
  18. join ticket_state_type tst ON tst.id=ts.type_id
  19. WHERE
  20. tst.id in (1,2,3)
  21. AND t.queue_id in (5,8,13,15,20,23,24,25,26,27)
  22. AND t.create_time BETWEEN '$start_date_time' AND '$end_date_time'");
  23. $row = mysql_fetch_row($ile_zgloszen);
  24. $ilosc_zgloszen = $row['0'];
  25.  
  26. $query = mysql_query("SELECT * FROM serwis_ticket_stats WHERE week_number='$week_number' AND start_date='$start_date' AND end_date='$end_date'");
  27.  
  28. if(mysql_num_rows($query) > 0) {
  29. mysql_query("UPDATE serwis_ticket_stats SET
  30. ile_zgloszen='$ilosc_zgloszen',
  31. ile_zgloszen_zrealizowanych='$ilosc_zgloszen_zrealizowanych',
  32. ile_zgloszen_zrealizowanych_sprzet='$ilosc_zgloszen_zrealizowanych_sprzet',
  33. ile_zgloszen_nowych='$ilosc_zgloszen_nowych',
  34. ile_zgloszen_realizowanych='$ilosc_zgloszen_realizowanych',
  35. suma_zrealizowanych_zgloszen='$ilosc_wszystkich_zgloszen_zrealizowanych'
  36. WHERE week_number='$week_number' AND start_date='$start_date' AND end_date='$end_date'");
  37. }
  38. if(mysql_num_rows($query) < 1){
  39. mysql_query("INSERT INTO serwis_ticket_stats SET
  40. start_date='$start_date',
  41. end_date='$end_date',
  42. week_number='$week_number',
  43. ile_zgloszen='$ilosc_zgloszen',
  44. ile_zgloszen_zrealizowanych='$ilosc_zgloszen_zrealizowanych',
  45. ile_zgloszen_zrealizowanych_sprzet='$ilosc_zgloszen_zrealizowanych_sprzet',
  46. ile_zgloszen_nowych='$ilosc_zgloszen_nowych',
  47. ile_zgloszen_realizowanych='$ilosc_zgloszen_realizowanych',
  48. suma_zrealizowanych_zgloszen='$ilosc_wszystkich_zgloszen_zrealizowanych'");
  49. }
  50.  
  51. }//end for


Do bazy danych zostanie dodany/uaktualniony tylko pierwszy cykl pętli, pozostałe cykle zwracają komunikat: Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given

Zweryfikowałem poprawność generowanych zapytań pętli poprzez echo "zapytanie sql"; tak wygenerowane zapytania sprawdziłem w phpmyadmin i wszystko jest OK.
Zamiast mysql_fetch_row($ile_zgloszen); próbowałem _array i _assoc ale to również nie pomogło.

Co jest nie tak?
nospor
Wyswietlaj BLEDY BAZY. Tu masz napisane jak
Temat: Jak poprawnie zada pytanie
e-konrad
Polecenie
  1. mysql_query($ile_zgloszen) OR die('BŁĄD:'.mysql_error());
zwróciło mi:Warning: mysql_query() expects parameter 1 to be string, resource given in C:\xampp\htdocs\serwis_system\modules\operacyjny\serwis_stats.php on line 48
BŁĄD:

Czyli to nie pomogło wyświetliłem wygenerowane zapytania z pętli echo $ile_zgloszen, wrzuciłem je do phpmyadmin i tam nie było problemów
nospor
Skadzes nagle wytrzasnal
mysql_query($ile_zgloszen)
?
Nie miales go w kodzie, teraz nagle dorobiles.... Przeciez w linku co ci podalem masz wyraznie podane jak sie wyswietla bledy zapytan, czemu zawsze to taki problem?
  1. $ile_zgloszen = mysql_query("TU TWOJE ZAPYTANIE") or die(mysql_error());



ps:
poza tym nie: count('t.id')
a: count(t.id)
nazw kolumn/tabel nie bierze sie w apostrofy.... apostrofy to tekst
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.