Hier ist meine Situation. Ich habe 2 Tische. Ich versuche die 2 Tabellen zu kombinieren, mit denen ich erfolgreich war. Jetzt muss ich die Werte addieren, aber ich möchte nicht den gleichen Benutzer wiederholen, wenn ich es zeige.coderigniter brauchen Hilfe Gruppierung und Summe der Tabellen
Beispiel Tabellen:
Tabelle 1:
users
[ id ][name ]
[ 1 ][John Doe]
[ 2 ][Jane Doe]
[ 3 ][Joe Doe]
Tabelle 2:
activity_hours
[ id ][user_id][hours]
[ 1 ][ 1 ][ 3 ]
[ 1 ][ 2 ][ 1 ]
[ 1 ][ 3 ][ 4 ]
[ 1 ][ 1 ][ 2 ]
[ 1 ][ 2 ][ 3 ]
Ich möchte die Stunden alle für jeden Benutzer von Aktivitätsstunden aufzuaddieren, wollen aber passen Die Menge zu dort Name
Hier ist mein aktueller Code: Hours_mode l.php
$this->db->select('
users.id as id,
users.name,
activity_hours.hours
');
$this->db->from('users');
$this->db->join('activity_hours', 'users.id = activity_hours.user_id');
$query = $this->db->get();
return $query->result();
hours_veiw.php
foreach ($result as $activity) {
echo $activity->name.' : '.$activity->hours;
}
gewünschte Ausgabe:
John Doe : 5
Jane Doe : 4
Joe Doe : 4
== == UPDATE
Sie user3774708 danken. Das bisschen, das du mir gegeben hast, konnte ich den Rest erledigen. Hier ist der Rest des Codes, die ich ändern musste: ich geändert:
activity_hours.hours
zu
sum(activity_hours.hours) as hours
letzte Datenbankabfrage
$this->db->select('
users.id as id,
users.name,
sum(activity_hours.hours) as hours
');
$this->db->from('users');
$this->db->join('activity_hours', 'users.id = activity_hours.user_id');
$this->db->group_by('users.id');
$query = $this->db->get();
return $query->result();