Динамически подгружается содержимое таблицы
var request = null;
function createRequest() {
try { request = new XMLHttpRequest(); }
catch (trymicrosoft) {
try { request = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (othermicrosoft) {
try { request = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (failed) { request = null; }
}
}
if (request == null) alert("Ошибка при создании объекта XMLHttpRequest!");
}
function getKiosk(id, tp, p, city) {
url = "../php/getkiosk.php?p=" + id + "&tp=" +tp + "&p1=" + p + "&city=" + encodeURIComponent(city);
createRequest();
request.open("GET", url, true);
request.onreadystatechange = function() { makeKiosk(tp,p); };
request.send(null);
}
function makeKiosk(tp,p) {
if (request.readyState == 4) {
if (request.status == 200) {
xmlDoc = request.responseXML.documentElement;
action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;
kiosk = xmlDoc.getElementsByTagName("kiosk")[0].firstChild.data;
pages = xmlDoc.getElementsByTagName("pages")[0].firstChild.data;
if (action == 'ok') {
document.getElementById(tp).innerHTML = kiosk;
document.getElementById(p).innerHTML = pages;
$("a.fancybox").fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
} else document.getElementById(tp).value = "";
} else alert("Не удалось получить данные от сервера:\n" + request.statusText);
}
}
$con = mysql_connect($host, $login, $pwd_db);
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db($db, $con);
mysql_query('SET NAMES utf8;');
$c=$_GET[p];
$tp=$_GET[tp];
$p1=$_GET[p1];
$city=$_GET[city];
$d=$c*5;
$sql = "SELECT cms_module_products.id AS id, product_name, details, sku
FROM cms_module_products, cms_module_products_categories, cms_module_products_product_categories
WHERE cms_module_products.id=cms_module_products_product_categories.product_id AND cms_module_products_categories.id=cms_module_products_product_categories.category_id AND
name='$city' LIMIT ".$d.", 5";
$result=mysql_query($sql);
$res = '<![CDATA[';
$res.="<tr>
<th class=\"table_header\" width=\"70\">№</th> <th class=\"table_header\" width=\"160\"> </th> <th class=\"table_header\" width=\"160\">Адрес</th> <th class=\"table_header\" width=\"160\">Стороны <img style=\"vertical-align: middle; margin-left: 20px;\" src=\"images/side.png\" alt=\"\" /></th> <th class=\"table_header\" width=\"390\">Информация</th>
</tr>";
while ($row=mysql_fetch_array($result)){
$img1=''; $img2=''; $img3=''; $img4='';
$sql_img = "SELECT fielddef_id, value FROM cms_module_products_fieldvals WHERE product_id=$row[id]";
$result_img=mysql_query($sql_img);
while ($img=mysql_fetch_array($result_img)){
switch ($img[fielddef_id]) {
case 1:
$img1='/uploads/Products/product_'.$row[id]."/".$img[value];
$thumb1='/uploads/Products/product_'.$row[id]."/thumb_".$img[value];
break;
case 2:
$img2='/uploads/Products/product_'.$row[id]."/".$img[value];
$thumb2='/uploads/Products/product_'.$row[id]."/thumb_".$img[value];
break;
case 3:
$img3='/uploads/Products/product_'.$row[id]."/".$img[value];
$thumb3='/uploads/Products/product_'.$row[id]."/thumb_".$img[value];
break;
case 4:
$img4='/uploads/Products/product_'.$row[id]."/".$img[value];
$thumb4='/uploads/Products/product_'.$row[id]."/thumb_".$img[value];
break;
}
}
$res.="<tr>";
$res.="<td width=\"70\" class=\"table_num1\"><span class=\"num_kiosk\">$row[sku]</span></td>";
$res.="<td width=\"160\" class=\"table_l1\">";
if ($img1!='') {$res.="<img src=\"".$thumb1."\" class=\"thumb\" />";
} elseif ($img2!='') {$res.="<img src=\"".$thumb2."\" class=\"thumb\" />";
} elseif ($img3!='') {$res.="<img src=\"".$thumb3."\" class=\"thumb\" />";
}elseif ($img4!='') {$res.="<img src=\"".$thumb4."\" class=\"thumb\" />";
}else{$res.="<img src=\"images/side_temp.png\" class=\"thumb\" />";
}
$res.="</td>";
$res.="<td width=\"160\" class=\"table_l1\">$row[product_name]</td>";
$res.="<td width=\"160\" class=\"table_l1\">";
if($img1!=''){ $res.="<a class=\"fancybox\" href=\"$img1\"><img alt=\"\" src=\"images/side_a_active.png\" /></a>";}
else { $res.="<img src=\"images/side_a.png\" />";}
if($img2!=''){ $res.="<a class=\"fancybox\" href=\"$img2\"><img alt=\"\" src=\"images/side_b_active.png\" /></a>";}
else { $res.="<img src=\"images/side_b.png\" />";}
if($img3!=''){ $res.="<a class=\"fancybox\" href=\"$img3\"><img alt=\"\" src=\"images/side_c_active.png\" /></a>";}
else { $res.="<img src=\"images/side_c.png\" />";}
if($img4!=''){ $res.="<a class=\"fancybox\" href=\"$img4\"><img alt=\"\" src=\"images/side_d_active.png\" /></a>";}
else { $res.="<img src=\"images/side_d.png\" />";}
$res.="<br /><br /><p style=\"color: #b80000;\"><strong>просмотр фото</strong></p>";
$res.="</td>";
$res.="<td width=\"390\" class=\"table_l1\">$row[details]</td>";
$res.="</tr>";
}
$res.=']]>';
$sql = "SELECT count(*)
FROM cms_module_products, cms_module_products_categories, cms_module_products_product_categories
WHERE cms_module_products.id=cms_module_products_product_categories.product_id AND cms_module_products_categories.id=cms_module_products_product_categories.category_id AND
name='$city'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$num=$row[0];
$q=$row[0]/5;
$row[0]=floor($row[0]/5);
$pages = '<![CDATA[';
$pages.="<div class=\"total_kiosk\"><p>Всего ".$num." киосков</p></div>";
$pages.="<div class=\"links_kiosk\">";
if($c-2>=0){ $i=$c-2; } else $i=0;
if($c+2<=$row[0]){ $m=$c+2; } else $m=$row[0];
$pages.="<div class=\"first_btn_address\" onclick=\"getKiosk(0,'$tp','$p1','$city');\"><p>‹‹ ‹‹</p></div>";
if($c>0){
$pages.="<div class=\"btn_address\" onclick=\"getKiosk(".($c-1).",'$tp','$p1','$city');\"><p>‹‹</p></div>";
}
else {
$pages.="<div class=\"btn_address\" onclick=\"getKiosk(0,'$tp','$p1','$city');\"><p>‹‹</p></div>";
}
while ($i<=$m){
$j=$i+1;
if($c==$i){
$pages.="<div class=\"btn_address_active\"><p id=\"activepage\">$j</p></div>";
$cur_page=$i;
}else {
$pages.="<div class=\"btn_address\" onclick=\"getKiosk($i,'$tp','$p1','$city');\"><p>$j</p></div>";
}
$i++;
}
$pages.="<div class=\"btn_address\" onclick=\"getKiosk(".($cur_page+1).",'$tp','$p1','$city');\"><p>››</p></div>";
$pages.="<div class=\"first_btn_address\" onclick=\"getKiosk($row[0],'$tp','$p1','$city');\"><p>›› ››</p></div>";
$pages.="</div>";
$pages.=']]>';
mysql_close($con);
$response = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><action>ok</action><kiosk>'.htmlspecialchars_decode($res).'</kiosk><pages>'.htmlspecialchars_decode($pages).'</pages></response>';
header('Content-Type: application/xml');
echo $response;
На строке document.getElementById(tp).innerHTML = kiosk; возникает ошибка: Неизвестная ошибка выполнения.
В инете нашел, что innerHTML в таблицах в IE не работает, пишут, что только через DOM. Как я понял, через DOM можно создавать только элемент таблицы. А у меня php-скрипт формирует полностью содержимое table. Возможно ли как-то без innerHTML присвоить таблице полностью все содержимое, например,
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
Вот на этой странице ошибка:
http://marketmedia-kirov.ru/index.php?page=portfolio