这是唯一的例子 - 假码 - 你必须测试和重建这个
您必须创建XML文件形成你的表。
$dom = new DOMDocument('1.0', 'utf-8');
function arr2xml($arr, $el=null)
{
global $dom;
foreach ($arr as $key=>$val){
$tag_el=$dom->createElement((is_numeric($key) ? 'row' : $key));
(is_array($val) ? arr2xml($val, $tag_el) : $tag_el->appendChild($dom->createCDATASection($val)));
(empty($el)) ? $dom->appendChild($tag_el) : $el->appendChild($tag_el);
}
}
$result = mysql_query('select * from your table', $mysql_link);
$arr = array();
if ($result !== FALSS && mysql_num_rows($result))
{
while($row = mysql_fetch_array($result))
$arr[] = $row;
}
arr2xml($arr);
file_put_contents('tablexml.xml', $dom->saveXml());
///// FOR SEARCH BY category
$dom = new DOMDocument;
$dom->loadXML(file_get_contents('tablexml.xml'));
$xpath = new DOMXPath($dom);
$res = $xpath->query('//row[cotanins(category, $search_value)]');
if ($res->length)
{
foreach ($res as $el)
{
////////////////
}
}
'进入XML并允许在XML上进行搜索'我真的好奇你对数千个结果做了什么?从XML读取?为什么不使用数据库或类似lucene的搜索功能?我认为使用XML搜索大量结果远比“往返数据库”更糟糕。 – DrColossos