query($query); while($connReg->next_record()) { $spacer = " "; for($i=0;$i<$level;$i++) { $spacer.= " "; } $idList.= $separator."R_".$connReg->field_value("REG_ID"); $nameList.= $separator.$spacer.$connReg->field_value("REG_NAME"); $separator = "|"; //---- get localities $queryTmp = "SELECT MAP_LOC_ID, LOC_NAME FROM maps, localities WHERE MAP_LOC_ID=LOC_ID AND MAP_LOC_ID<>0 AND MAP_REG_ID='".$connReg->field_value("REG_ID")."' ORDER BY MAP_ID"; $connTmp->query($queryTmp); while($connTmp->next_record()) { $idList.= $separator."L_".$connTmp->field_value("MAP_LOC_ID"); $nameList.= $separator.$spacer." ".$connTmp->field_value("LOC_NAME"); $resultOffers = getOfferTypesList($connTmp->field_value("MAP_LOC_ID"), $connTmp, $spacer." ", $SERVDESCID); if ($resultOffers != "#") { $resultOffersTab = split("#", $resultOffers); $idList.= $separator.$resultOffersTab[0]; $nameList.= $separator.$resultOffersTab[1]; } } //---- get childs $resultChilds = displayNextLevel($connReg, $connReg->field_value("REG_ID"), $level+1, "", "", $connTmp, $SERVDESCID); if ($resultChilds != "#") { $resultChildsTab = split("#", $resultChilds); $idList.= $separator.$resultChildsTab[0]; $nameList.= $separator.$resultChildsTab[1]; } } return $idList."#".$nameList; } //---- get all offer types for a locality function getOfferTypesList($locID, $connServ, $spacer, $SERVDESCID) { //---- activities /*$query = "SELECT distinct SERV_DESC_ID, DESC_NAME FROM thematics, services, descriptions WHERE THEM_ID=SERV_THEM_ID AND SERV_DESC_ID = DESC_ID AND SERV_DESC_ID = '".$SERVDESCID."' AND SERV_LOC_ID='".$locID."' AND THEM_NAME='Activities' ORDER BY SERV_DESC_ID"; $connServ->query($query); $separator = ""; while($connServ->next_record()) { $idList.= $separator."T_".$connServ->field_value("SERV_DESC_ID"); $nameList.= $separator.$spacer.$connServ->field_value("DESC_NAME"); $separator = "|"; $resultOffers = getOffersList($locID, $connServ->field_value("SERV_DESC_ID"), $connServ, $spacer." ", $SERVDESCID); if ($resultOffers != "#") { $resultOffersTab = split("#", $resultOffers); $idList.= $separator.$resultOffersTab[0]; $nameList.= $separator.$resultOffersTab[1]; } } //---- lodging $query = "SELECT distinct SERV_DESC_ID, DESC_NAME FROM thematics, services, descriptions WHERE THEM_ID=SERV_THEM_ID AND SERV_DESC_ID = DESC_ID AND SERV_DESC_ID = '".$SERVDESCID."' AND SERV_LOC_ID='".$locID."' AND THEM_NAME='Lodging' ORDER BY SERV_DESC_ID"; $connServ->query($query); while($connServ->next_record()) { $idList.= $separator."T_".$connServ->field_value("SERV_DESC_ID"); $nameList.= $separator.$spacer.$connServ->field_value("DESC_NAME"); $separator = "|"; $resultOffers = getOffersList($locID, $connServ->field_value("SERV_DESC_ID"), $connServ, $spacer." "); if ($resultOffers != "#") { $resultOffersTab = split("#", $resultOffers); $idList.= $separator.$resultOffersTab[0]; $nameList.= $separator.$resultOffersTab[1]; } } //---- transport $query = "SELECT distinct SERV_DESC_ID, DESC_NAME FROM thematics, services, descriptions WHERE THEM_ID=SERV_THEM_ID AND SERV_DESC_ID = DESC_ID AND SERV_DESC_ID = '".$SERVDESCID."' AND SERV_LOC_ID='".$locID."' AND THEM_NAME='Transport' ORDER BY SERV_DESC_ID"; $connServ->query($query); while($connServ->next_record()) { $idList.= $separator."T_".$connServ->field_value("SERV_DESC_ID"); $nameList.= $separator.$spacer.$connServ->field_value("DESC_NAME"); $separator = "|"; $resultOffers = getOffersList($locID, $connServ->field_value("SERV_DESC_ID"), $connServ, $spacer." "); if ($resultOffers != "#") { $resultOffersTab = split("#", $resultOffers); $idList.= $separator.$resultOffersTab[0]; $nameList.= $separator.$resultOffersTab[1]; } } //---- wellness $query = "SELECT distinct SERV_DESC_ID, DESC_NAME FROM thematics, services, descriptions WHERE THEM_ID=SERV_THEM_ID AND SERV_DESC_ID = DESC_ID AND SERV_DESC_ID = '".$SERVDESCID."' AND SERV_LOC_ID='".$locID."' AND THEM_NAME='Wellness' ORDER BY SERV_DESC_ID"; $connServ->query($query); while($connServ->next_record()) { $idList.= $separator."T_".$connServ->field_value("SERV_DESC_ID"); $nameList.= $separator.$spacer.$connServ->field_value("DESC_NAME"); $separator = "|"; $resultOffers = getOffersList($locID, $connServ->field_value("SERV_DESC_ID"), $connServ, $spacer." "); if ($resultOffers != "#") { $resultOffersTab = split("#", $resultOffers); $idList.= $separator.$resultOffersTab[0]; $nameList.= $separator.$resultOffersTab[1]; } } return $idList."#".$nameList; } //---- get all offer for a locality function getOffersList($locID, $descID, $connServ, $spacer) { $query = "SELECT distinct SERV_ID, SERV_NAME FROM thematics, services, servicesdocuments WHERE SERV_THEM_ID=THEM_ID AND SERVDOC_SERV_ID=SERV_ID AND SERV_LOC_ID='".$locID."' AND SERV_DESC_ID='".$descID."' ORDER BY SERV_ID"; $connServ->query($query); $separator = ""; $currentServID = ""; while($connServ->next_record()) { if ($currentServID != $connServ->field_value("SERV_ID")) { $idList.= $separator."S_".$connServ->field_value("SERV_ID"); $nameList.= $separator.$spacer."- ".$connServ->field_value("SERV_NAME"); $separator = "|"; } $currentServID = $connServ->field_value("SERV_ID"); } return $idList."#".$nameList; } //---- get tree $query = "SELECT * FROM regions WHERE REG_PARENT_REG_ID=0 ORDER BY REG_NAME"; $conn->query($query); while($conn->next_record()) { $REGIDS.= $separator."R_".$conn->field_value("REG_ID"); $REGNAMES.= $separator.$conn->field_value("REG_NAME"); $resultChilds = displayNextLevel($conn2, $conn->field_value("REG_ID"), 0, "", "", $conn3, $SERVDESCID); $separator = "|"; $resultChildsTab = split("#", $resultChilds); $REGIDS.= $separator.$resultChildsTab[0]; $REGNAMES.= $separator.$resultChildsTab[1]; } //---- print results print "ID=".$REGIDS; print "&NAME=".utf8_encode($REGNAMES); ?>