Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: tablice
Forum PHP.pl > Forum > Przedszkole
Hpsi
witam ma pewnien probolem z tablicami i nie wiem jak go roziwazac
gdyz za pomoca zapytan do mysql uzyslakem nastepujaca tablice
Array
(
[0] => Array
(
[id] => 1
[0] => 1
[user] => 2
[1] => 2
[class] => 3
[2] => 3
[subjects] => 1
[3] => 1
)

[1] => Array
(
[id] => 2
[0] => 2
[user] => 3
[1] => 3
[class] => 3
[2] => 3
[subjects] => 22
[3] => 22
)

)

no i wszysko pieknie do smartów ladnie przyszykowane no ale pojawil sie problem; muszę dozucic jeszcze jedna rzecz mianowicie, nazwe przediotu i tu zonk
- muszę najpierw pobieac id przedmiotu (subjects)
-następnie wykonac zapytanie do bazy pobierające nazwe przedmiotu
- nastpenie dodac do kazdej z tablic odpowienia naze przedmiotu

problem w tym ze teortycznie wiem jak to zrobic a w praktyce nie mam zielonego pomyslu - mialem pomysl by w czasie petli tworzacej te tablice dolozyc jeszcze jedno zapytanie i by bylo bajecznie lecz pdo nie pozwala na uzywanie nowego zapytania w momecie kiedy poprzednie dziala
nospor
1) pokaż strukture tabel
2) pokaz zapytania jakie uzywasz
Hpsi
juz podaje
tabela z korej pobierane są informacje
Kod
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| id       | int(20) |      | PRI | NULL    | auto_increment |
| user     | int(10) |      |     | 0       |                |
| class    | int(10) |      |     | 0       |                |
| subjects | text    |      |     |         |                |
+----------+---------+------+-----+---------+----------------+

tabela z przedmiotami
Kod
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(4)       |      | PRI | NULL    | auto_increment |
| name  | varchar(255) |      |     |         |                |
+-------+--------------+------+-----+---------+----------------+


natomiast zapytanie

  1. <?php
  2.  
  3.     $result = $this->engine->db->queryf('SELECT * FROM `%t` WHERE `class`=%u ', 'classteachers', $class);
  4.         
  5.         while($r = $result->fetch())
  6.         {
  7.             $news[] = $r+array('users' => $users[$r['user']]);
  8.         }
  9.  
  10. ?>


---
problem roziwazany oto rozwiazanie:
stworzlem metode w skrypcie pobierajace informacje o przedmiocie
oto ona
  1. <?php
  2.  
  3. public function getNameSubject()
  4. {
  5. $result = $this->engine->db->queryf('SELECT * FROM `%t` ', 'subjects');
  6.  
  7. while($r = $result->fetch())
  8. {
  9. $subject[$r['id']] = $r;
  10. }
  11.  
  12. unset($r);
  13. return isset($subject) ? $subject : false;
  14. }
  15.  
  16. ?>


nastpenie dodalem taki kodzik w metodzie tworzaca tablice;
  1. <?php
  2.  
  3. $sub = $this->engine->libraries('educator')->getNameSubject();
  4.  
  5. ?>


nastpenie zawartosc pentli zminilem na:
  1. <?php
  2.  
  3. while($r = $result->fetch())
  4. {
  5. $news[] = $r+array('users' => $users[$r['user']], 'sub' => $sub[$r[3]]);
  6. }
  7.  
  8. ?>


i uzyskalem to co chicalem, dzieki wszyskim co chiceli pomuc !
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.