Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Problem z obiektowym MySQLi
matysek83
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 1
Dołączył: 30.07.2015

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


Dopiero zaczynam. Natknąłem się na błąd w przypisywaniu w pętli wartości z tablicy do zmiennej.
  1. $db->set_charset("utf8");
  2. $db_klasa_zapytanie = new DBManager();
  3. $kostka = new gry_losowe();
  4. $kostka->losowanie_liczb(1, 6, 6);
  5.  
  6. $a = 1;
  7. echo $kostka->wylosowana[$a];
  8. for ($i=0; $i<=5; $i++)
  9. {
  10. $wylosowana = $kostka->wylosowana[$i];
  11. $db->query("UPDATE tabelakostka SET wartosc=$wylosowana WHERE id=$a;");
  12. $a++;
  13. }


Wywala błąd Undefined offset: 0.

Chciałbym się dowiedzieć również jak przypisać w prawidłowy sposób (o ile wogóle tak można) $kostka->wylosowana[$i] w zapytaniu query UPDATE.

Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Pokaz zawartosc klasy gry_losowe bo prawdopodobnie tam coś jest zamieszane i dlatego wywala undefined offset 0;

Cytat
Chciałbym się dowiedzieć również jak przypisać w prawidłowy sposób (o ile wogóle tak można) $kostka->wylosowana[$i] w zapytaniu query UPDATE.

A tego pytania w ogóle nie rozumiem.
Go to the top of the page
+Quote Post
matysek83
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 1
Dołączył: 30.07.2015

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


  1.  
  2. class gry_losowe
  3. {
  4. public $wylosowana = array();
  5.  
  6. function losowanie_liczb($od, $do, $ilosc_kostek)
  7. {
  8. for ($i = 1 ; $i<=$ilosc_kostek; $i++)
  9. {
  10. return $this->wylosowana[$i] = rand($od, $do);
  11.  
  12. }
  13. }
  14.  
  15. }


Chodzi mi o to, że chciałbym to zapisać tak(w pętli: ("UPDATE tabelakostka SET wartosc=$kostka->$wylosowana[$i] WHERE id=$a;");
ale wyskakuje błąd i już w edytorze widać, że nie da się tak zapisać a nie chcę tego robić w taki sposób: $wylosowana = $kostka->wylosowana[$i];
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


W klasie gry_losowe masz pętle for, która zaczyna się od 1 a w kodzie od 0 to jest problem z undefined offset.

A co do tego wstawienia to możesz zrobić np:

  1. $db->query("UPDATE tabelakostka SET wartosc={$kostka->wylosowana[$i]} WHERE id=$a;");
  2.  
  3. //lub
  4.  
  5. $db->query("UPDATE tabelakostka SET wartosc=".$kostka->wylosowana[$i]." WHERE id=$a;");
Go to the top of the page
+Quote Post

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: 23.08.2025 - 17:54