Hallo,
ich sitze gerade an einem kleinem Problem.
Ich moechte aus 2 Tabellen mit einem Query Daten auslesen.
Soweit sogut, es funktioniert auch alles, nur leider nicht so, wie ich das will.
meine Syntax sieht so aus:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: | $query = "SELECT DISTINCT
pk.*, pe.*
FROM
bb1_progkat pk
LEFT JOIN
bb1_progentry pe
ON
(pk.kat_id=pe.kat_id)
GROUP BY
pk.kat_id
ORDER BY
pk.katorder ASC";
$resID = mysql_query($query) or die( mysql_error() );
while ( $row = mysql_fetch_object($resID) )
{
echo "" . $row->katname . " \n-- " . $row->entryname . " \n";
} |
Damit lese ich aus 2 Tabellen aus, die diese Struktur haben:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: | CREATE TABLE `bb1_progentry` (
`entry_id` int(11) unsigned NOT NULL auto_increment,
`entryname` varchar(100) NOT NULL default '',
`entryorder` int(11) NOT NULL default '0',
`entrydesc` varchar(100) NOT NULL default '',
`percent` int(11) NOT NULL default '0',
`kat_id` int(11) NOT NULL default '0',
PRIMARY KEY (`entry_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
INSERT INTO `bb1_progentry` VALUES (4, 'Test', 1, 'test', 10, 2);
INSERT INTO `bb1_progentry` VALUES (5, 'Admin Panel', 2, 'Design', 5, 2);
CREATE TABLE `bb1_progkat` (
`kat_id` int(11) unsigned NOT NULL auto_increment,
`katname` varchar(255) NOT NULL default '',
`katorder` int(7) NOT NULL default '0',
PRIMARY KEY (`kat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `bb1_progkat` VALUES (3, 'Design', 2);
INSERT INTO `bb1_progkat` VALUES (2, 'Testkategorie 2', 1);
INSERT INTO `bb1_progkat` VALUES (4, 'Tablubb', 0);
|
meine Ausgabe sieht so aus:
Tablubb
--
Testkategorie 2
-- Test
Design
-- |
allerdings fehlt unter Testkategorie 2 noch ein Punkt.
Wie kann ich den query umbauen, dass dieser mit angezeigt wird?
Bitte nicht auf 2 querys zurueckgreifen, so habe ich es im Moment selbst geloest.
Ich wollte halt versuchen es in einen zu packen.
Danke