Autor | Zpráva | ||
---|---|---|---|
mackopu Profil |
#1 · Zasláno: 18. 10. 2012, 13:15:00
Mám tabulku příspěvků do fóra:
CREATE TABLE `phorum` ( `id` int(11) NOT NULL auto_increment, `parent` int(11) default NULL, `author` varchar(50) default NULL, `body` text, `date` datetime default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ); INSERT INTO `phorum` VALUES (511, 0, 'Dan', 'aaaaaaaaaaa', '2012-09-21 11:39:04'); INSERT INTO `phorum` VALUES (512, 511, 'Martas', 'bbbbbbbbbbb', '2012-09-30 17:53:12'); INSERT INTO `phorum` VALUES (513, 511, 'Petr', 'ccccccccccc', '2012-10-03 21:02:37'); INSERT INTO `phorum` VALUES (514, 511, 'MFíca', 'ddddddddddd', '2012-10-04 21:06:23'); INSERT INTO `phorum` VALUES (515, 511, 'Tukan', 'eeeeeeeeeee', '2012-10-04 21:11:59'); INSERT INTO `phorum` VALUES (516, 511, 'perry', 'fffffffffff', '2012-10-06 17:34:49'); INSERT INTO `phorum` VALUES (517, 511, 'Valky', 'ggggggggggg', '2012-10-09 12:48:52'); INSERT INTO `phorum` VALUES (518, 511, 'Dan', 'hhhhhhhhhh', '2012-10-14 20:57:41'); INSERT INTO `phorum` VALUES (519, 511, 'Zed', 'iiiiiiiiii', '2012-10-15 20:09:50'); INSERT INTO `phorum` VALUES (520, 519, 'Dan', 'jjjjjjjjjj', '2012-10-15 20:19:31'); Nyní potřebuji u každého záznamu zjistit právě toho základního rodiče: function ZjistiRodice($parent) { $sql = 'SELECT id, parent FROM phorum WHERE id = '.$parent; $result = mysql_query($sql); $zaznam = mysql_fetch_array($result); if($zaznam["parent"] != 0) { ZjistiRodice($zaznam["parent"]); } return $zaznam["id"]; }; echo ZjistiRodice(512); echo ZjistiRodice(520); Kde dělám chybu? |
||
Tori Profil |
#2 · Zasláno: 18. 10. 2012, 13:24:12
mackopu:
„Kde dělám chybu?“ řádek 7, nepracujete s návratovou hodnotou z rekurze. |
||
mackopu Profil |
#3 · Zasláno: 18. 10. 2012, 13:33:02
Děkuji, takže takto už to chodí:
function ZjistiRodice($parent) { $sql = 'SELECT id, parent FROM phorum WHERE id = '.$parent; $result = mysql_query($sql); $zaznam = mysql_fetch_array($result); if($zaznam["parent"] != 0) { $rodic = ZjistiRodice($zaznam["parent"]); } else { $rodic = $parent; } return $rodic; }; |
||
Časová prodleva: 12 let
|
0