mam sobie tabelki w bazie oto one
tabelka z ocenami
Kod
+----+---------+------------+------+---------+---------+------------+
| id | user_id | subject_id | mark | type_id | half_id | time |
+----+---------+------------+------+---------+---------+------------+
| 61 | 7 | 1 | 1 | 2 | 1 | 1127495309 |
| 62 | 7 | 1 | 1 | 1 | 1 | 1127495313 |
+----+---------+------------+------+---------+---------+------------+
| id | user_id | subject_id | mark | type_id | half_id | time |
+----+---------+------------+------+---------+---------+------------+
| 61 | 7 | 1 | 1 | 2 | 1 | 1127495309 |
| 62 | 7 | 1 | 1 | 1 | 1 | 1127495313 |
+----+---------+------------+------+---------+---------+------------+
tabelka z typami ocen
Kod
+----+------------+---------+
| id | name | color |
+----+------------+---------+
| 1 | Kartkowka | #00FF00 |
| 2 | Sprawdizan | #FF00FF |
+----+------------+---------+
| id | name | color |
+----+------------+---------+
| 1 | Kartkowka | #00FF00 |
| 2 | Sprawdizan | #FF00FF |
+----+------------+---------+
i tabelka z poprawionymi ocenami
Kod
+----------+-------+
| marks_id | cmark |
+----------+-------+
| 61 | 4 |
| 62 | 4 |
+----------+-------+
| marks_id | cmark |
+----------+-------+
| 61 | 4 |
| 62 | 4 |
+----------+-------+
nastpenie tym zapytaniem odczytuje sobie informacje z tabelek ocen i porpawionych ocen
<?php return $result = $this->engine->db->queryf('SELECT * FROM `%t` LEFT JOIN `%t` ON `%1$t`.`id`=`%2$t`.`marks_id` WHERE `%1$t`.`user_id`=%u AND `%1$t`.`subject_id`=%u', 'marks', 'cmarks', $user, $sid)->fetchAll(); ?>
nastpenie za pomocą takiego kodu probje przyparzadkowac typ oceny (type_id) do odpownieniego id w tabeli z typami ocen
<?php $color = $this->engine->libraries('marks')->getColor(); foreach($marks AS $item) { } ?>
teraz zapodam metode getcolor();
<?php public function getColor() { return $this->engine->db->queryf('SELECT * FROM `%t` ', 'markstypes')->fetchAll(); } ?>
no i po tej massie kodu wywala mi notice ...
.Notice: Undefined index: 2 in /var/www/htdocs/e-journal/modules/marks.mod.php on line 197
linika 197 to ta $mark[] = $item + .......
skad ten notic sie bieze bo nie moge dojsc :/
no coz kobinowalem kobinowalem i doszedlem do wniosku ze szybciej bedzie polaczyc 3 tabelki zapytaniem i postawlo to zapytanie
<?php return $result = $this->engine->db->queryf('SELECT * FROM `%t` LEFT JOIN `%t` ON `%1$t`.`id`=`%2$t`.`marks_id` LEFT JOIN `%t` ON `%1$t`.`type_id`=`%3$t`.`id` WHERE `%1$t`.`user_id`=%u AND `%1$t`.`subject_id`=%u', 'marks', 'cmarks', 'markstypes', $user, $sid)->fetchAll(); ?>