Помогите со скриптом обновления базы!

Статус
В этой теме нельзя размещать новые ответы.

vanya

Guest
Помогите со скриптом обновления базы!

Ребята, такая проблема.
Есть база данных. И есть страничка, с которой нужно иметь возможность ИЗМЕНЯТЬ, УДАЛЯТЬ и ДОБАВЛЯТЬ записи в таблицу этой базы.
Проблема в том, что Удалять и Добавлять записи получается без проблем, а вот Изменять ни в какую не хочет.
У меня сделано так: напротив строки (кот-ю надо изменить|удалить) в таблице ставлю флажок чекбокса ,передаю его состояние в скрипт ну и дальше понятно.
Ниже следует след. файлы:
Файл_1 - файл формы, из которого из кот-й вызываются скрипты изменения|удаления|добавления записей в табл. базы.
Файл_2 - скрипт удаления записи из таблицы базы.
Файл_3 - скрипт добавления записи в таблицу базы.
Файл_4 - скрипт изменения записи в таблице базы.

Огромная просьба помочь. А то уже совсем замучился. Только вот не взыщите за очень длинные приведенные скрипты.

PHP:
// Файл_1 - html-форма  *****************************
<form id="acd" action="add_repair.php" method="post">
<?
    require ("../connect_db.inc");

    $query  = "SELECT name FROM repair ORDER BY id ASC";
    $result = mysql_query ($query)
        or die ("Query_SELECT_name failed");
    $query2  = "SELECT lang FROM repair ORDER BY id ASC";
    $result2 = mysql_query ($query2)
        or die ("Query_SELECT_lang failed");

    $q_id = "SELECT id FROM repair ORDER BY id ASC";
    $r_id = mysql_query($q_id)
        or die ("Query_SELECT_q_id failed");

    $num_result = mysql_num_rows($result);

    $i = 1;
?>
    <table>
    <tr>
        <td>№</td>
        <td>Наименование</td>
        <td>Язык</td>
    </tr>
<?
    while ($l_name = mysql_fetch_array($result))
    {
        $l_id       = mysql_fetch_array($r_id);
        $l_language = mysql_fetch_array($result2);

        list($key_id,   $val_id)    = each($l_id);
        list($k_name,   $v_name)    = each($l_name);
        list($k_lang,   $v_lang)    = each($l_language);

        echo "
         <tr>\n
         \t\t<td>$i</td>\n
         \t\t<td>
               <input id=\"n$val_id\" name=\"ck$val_id\" type=\"checkbox\"></td>\n
         \t\t<td>
                 <input name=\"name$val_id\" type=\"text\" value=\"$v_name\"></td>\n
         \t\t<td>
                 <input name=\"lang$val_id\" type=\"text\" value=\"$v_lang\"></td>
         \t</tr>\n
        ";
        $i++;
    }
    echo "<input name=\"size_array\" type=\"hidden\" value=\"$val_id\">";
    mysql_close($link);
?>
    <tr>
        <td colspan=4>
        <input name="change" type="submit" value="Изменить" border="0px" style="cursor:hand;" onMouseDown="document.forms['acd'].action='change_repair.php';">
        &nbsp;
        <input name="remove" type="submit" value="Удалить" border="0px" style="cursor:hand;" onMouseDown="document.forms['acd'].action='delete_repair.php';">
        </td>
    </tr>
    </table>

    <hr width="100%">
    <table border="0px" width="950px" cellpadding="1" cellspacing="0">
    <tr><td>
        <input id="show_add" type="checkbox" onclick="if (show_add.checked==false) document.all.ad.style.display = 'none'; else document.all.ad.style.display =''">
        <label for="show_add">Добавить новую программу</label>
    </td></tr>
    </table>
    <div id="ad" style="display:none;">
    <br />
    <table border="0px" width="950px" cellpadding="1" cellspacing="0">
<?
    for ($j=1; $j<=3; $j++)
    {
        echo "
        <tr>
            <td>$j</td>
            <td><input name=\"name$j\" type=\"text\" /></td>
            <td><input name=\"lang$j\" type=\"text\" /></td>
        </tr>
             ";
    }
?>
    <tr>
        <td colspan="4">
            <input name="add" type="submit" value="Добавить" border="0px" style="cursor:hand;">
        </td>
    </tr>
    </table>

// Файл_2 - Удаление записи *****************************
<?
    require ("../connect_db.inc");

    $i  = 0;
    $ck = "ck$i";
    while($i <= $size_array)
    {
        if (isset($$ck))
        {
            $query = "DELETE FROM repair WHERE id = $i";
            $result = mysql_query ($query)
                or die ("Query_DELETE failed");

            $query2 = "ALTER TABLE repair DROP id";
            $result2 = mysql_query ($query2)
                or die ("Query_ALTER_TABLE_repair_DROP_id failed");

            $query3 = "ALTER TABLE repair ADD id MEDIUMINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY";
            $result3 = mysql_query ($query3)
                or die ("Query_ALTER_TABLE_repair_ADD_id failed");
        }
        $i++;
        $ck = "ck$i";
    }

    mysql_close($link);
?>
<script language="JavaScript">history.back(); location.reload();</script>

// Файл_3 - Добавление записи  *****************************
<?
    require ("../connect_db.inc");

    $i        = 1;
    $name   = "name$i";
    $lang     = "lang$i";
    while ($i < $size_array)
    {

        if ($$name != "")
        {
            $query2 = "INSERT INTO repair SET name=\"".$$name."\", lang=\"".$$lang."\"";
            $result = mysql_query ($query2)
                or die ("Query_INSERT_repair failed");
        }

        $i++;
        $name   = "name$i";
        $lang   = "lang$i";
    }

    mysql_close($link);
?>
<script language="JavaScript">history.back(); location.reload();</script>


// Файл_4 - Изменение записи  *****************************
<?
    require ("../connect_db.inc");

    $i      = 1;
    $ck     = "ck$i";
    $name   = "name$i";
    $lang     = "lang$i";

    while($i <= $size_array)
    {
        if (isset($$ck))
        {
            $query  = "UPDATE repair SET name =\"".$$name."\", lang=\"".$$lang."\" WHERE id = $i";
            $result = mysql_query ($query)
                or die ("Query_UPDATE failed");
        }
        $i++;
        $ck     = "ck$i";
        $name   = "name$i";
        $lang     = "lang$i";
    }

    mysql_close($link);
?>
<script language="JavaScript">history.back(); location.reload();</script>
 

Demiurg

Guest
Тема закрыта.

Формулируйте вопрос так, чтобы его могли понять не только Вы.
Не пишите больше 10-15 строк кода.
Никто не будет вникать в Ваш код длиной 100 строк.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху