• Не отрабатывает, либо AJAX либо MySQL

    Есть страница, поделенная div'ами, слева меню справа основная форма. В основной форме Справочник категорий с возможностью добавления. При добавлении категорий обновляется список с учетом добавленной. Но вот это было бы все хорошо если так, а так почему то не всегда обновляется этот самый список. Вот и вопрос почему это так?

    основное окно:

    category.php

    <script type="text/javascript" src="../js/xmlhttprequest.js?x=25"></script>
    <script type="text/javascript" src="../js/admin.js?x=1"></script>

    </head>

    <body>
    <input type="hidden" id="who" value="cat">
    <center>Название категории
    <input name="name_category" id="name_category" type="text" value="Тест">
    <select size="1" name="theme" id="id_theme">
    <? global $db;
    $i=1;
    $sql = mysql_query("SELECT * FROM theme",$db);
    while ($row = mysql_fetch_array($sql))
    {
    echo "<option value=$row[0]>$row[1]</option>";
    $i++;
    }
    ?>
    </select>

    <button onclick=AddCategory()>Добавить</button>

    .....


    admin.js


    function RequestComplete()
    {
    if (req_show_cat.readyState == 4 && req_show_cat.status==200)
    {
    var result = document.getElementById("category_list");
    result.innerHTML = req_show_cat.responseText;
    }
    }

    function admin_showCategory()
    {
    req_show_cat = getXmlHttpRequest();
    req_show_cat.onreadystatechange = RequestComplete;
    req_show_cat.open("POST","action.php", true);
    req_show_cat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    param="who=list_category";
    req_show_cat.send(param);
    }

    function AddCategory()
    { req_add_cat = getXmlHttpRequest();
    req_add_cat.open("POST", "action.php", true);
    req_add_cat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    param="who="+document.getElementById('who').value+"&id_theme="+document.getElementById('id_theme').value +"&name_category="+document.getElementById('name_category').value+"&action=insert";
    req_add_cat.send(param);
    admin_showCategory();
    }



    action.php

    case "list_category": //Список категорий

    echo "<table border=1>
    <tr>
    <th>№<br>п/п</th><th>Название категории</th><th>Тип</th><th colspan=2>Действие</th>
    </tr>";
    $i=1;
    $sql = mysql_query("SELECT c.id_category, c.name_category, t.name_theme FROM category c, theme t where c.id_theme = t.id_theme order by c.name_category",$db);
    while ($row = mysql_fetch_array($sql))
    {
    echo "<tr><td>$i</td><td>$row[1]</td><td>$row[2]</td>
    <td><a href='action.php?who=update_category&id=$row[0]' class='show'>Редактировать</a></td>
    <td>Удалить</td></tr>";
    $i++;
    }
    echo "</table>";
    break;


    Спасибо!

    Александр
    Ответить Подписаться