| 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: 14 let
|
|||
0