У меня есть API, который нельзя включить, если он сначала не загружает все данные из таблицы данных. То, что я пытаюсь сделать sh, это загрузить в начале только 25-30 строк и не ждать всех загружаемых данных. Мой опыт не может помочь мне с этим. Это то, что я до сих пор:
function GetChildrenXML($Parent){
$Parent = $Parent ? " WHERE " . $this->DBParentCol . "='" .$Parent . "'" : "";
$rs = $this->db->Query("SELECT * FROM " . $this->DBTable . $Parent);
$rows = $rs->GetRows();
$Str = "";
if($rows==NULL) return "";
foreach($rows as $row){
$Str .= "<I";
foreach($row as $col => $val){
if($val!=NULL){
if($val==floor($val)."") $val = floor($val);
if($col==$this->DBIdCol) $Str .= " id='" . $this->IdPrefix . $val . "' ";
else if($col!=$this->DBParentCol) $Str .= " $col='". htmlspecialchars($val,ENT_QUOTES). "'";
}
}
echo "\n";
$Str .= ">";
if ($Parent!="") $Str .= $this->GetChildrenXML($row[$this->DBIdCol]);
$Str .= "</I>";
}
return $Str;
}
function LoadXMLFromDB(){
$XML = "<Grid>";
if($this->DBParentCol != ""){
$XML .= "<Head>" . $this->GetChildrenXML("#Head") . "</Head>";
$XML .= "<Foot>" . $this->GetChildrenXML("#Foot") . "</Foot>";
$XML .= "<Body><B>" . $this->GetChildrenXML("#Body") . "</B></Body>";
}
else $XML .= "<Body><B>" . $this->GetChildrenXML(NULL) . "</B></Body>";
return $XML . "</Grid>";
}