Ввод данных в MySQL через массив

Тема в разделе "PHP", создана пользователем Dark Wizard, 29 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Dark Wizard

    Dark Wizard

    Регистр.:
    23 сен 2007
    Сообщения:
    157
    Симпатии:
    76
    Здравствуйте, такая проблема:

    есть таблица
    id (число)
    login (запись)
    stars (число)
    tablets (число)
    visits (число)
    comment (текст)

    хочу массово редактировать данные в таблице:

    PHP:
    $page=getvalue($_POST['page']);

    switch ($page){
    case 'add':    
    ?>
    <table class=text border=1 cellspacing=0 cellpadding=10 bordercolor=#006100 width=100%><tr><td>
    <span class=caption>Добавляем данные</span><hr>
    <?
    //обновляем данные
    // $result2=mysql_query("SELECT * FROM clan_tusers WHERE login='".$nickname."'");

    $mass=$_POST["eid"];
    echo $mass;
    $estars=$_POST["estars"];
    $etablets=$_POST["etablets"];
    $evisits=$_POST["evisits"];
    $ecomment=$_POST["ecomment"];
    $i=0;
    while($mass[$i])
    {
    mysql_query("UPDATE clan_gtz SET stars=$estars[$i] WHERE id=$eid[$i]");
    mysql_query("UPDATE clan_gtz SET tablets=$etablets[$i] WHERE id=$eid[$i]");
    mysql_query("UPDATE clan_gtz SET visits=$evisits[$i] WHERE id=$eid[$i]");
    mysql_query("UPDATE clan_gtz SET comment='$ecomment[$i]' WHERE id=$eid[$i]");
    echo "<br>".$i." - ".$estars[$i]." - ".$etablets[$i];
    $i++;
    }
    echo "данные сохранены!<br><br><a href=\"clanscript.php?site=admin_gtz\">Вернуться</a>";
    break;
    default:

    ?>
    <span class=caption>Администрирование ГТЗ</span><hr>
     
    <form method="POST" action="test.php?site=admin_gtz">

    <table>
    <tr>
    <td>ID</td>
    <td>Логин</td>
    <td>Звёзды</td>
    <td>Таблетки</td>
    <td>Посещения</td>
    <td>Заметка</td>
    </tr>
    <input type=hidden name=page value="add">
    <?     
    $i=1;
    $query = mysql_query("select * from clan_gtz ORDER BY login");
     //выбираем нужное число сообщений 
    while($gtzsql=mysql_fetch_assoc($query)){
    echo "<tr><td><input type=hidden name=eid[] value=\"".$gtzsql['id']."\">".$gtzsql['id']."</td>";
    echo "<td>".$gtzsql['login']."</td>";
    echo "<td><input size=4 type=text name=estars[] value=\"".$gtzsql['stars']."\"></td>";
    echo "<td><input size=4 type=text name=etablets[] value=\"".$gtzsql['tablets']."\"></td>";
    echo "<td><input size=4 type=text name=evisits[] value=\"".$gtzsql['visits']."\"></td>";
    echo "<td><input type=text name=ecomment[] value=\"".$gtzsql['comment']."\"></td>";
    $i++;
    echo "<input type=hidden name=total value=\"".$i."\">";
    }  
    ?>    
    </table>
    Всего: <?=$i-1;?><br><br> <input type="submit" value="Сохранить изменения" class=SB>
    </form>
    но так не работает...
     
  2. lena berkova

    lena berkova

    Регистр.:
    14 янв 2009
    Сообщения:
    441
    Симпатии:
    19
    во первых какую пишет ошибку
    во вторых- можно все сделать 1 запросом

    UPDATE clan_gtz SET stars=$estars[$i],
    tablets=$etablets[$i],
    visits=$evisits[$i],
    comment=$ecomment[$i]
    WHERE id=$eid[$i]

    запрос по такому принципу сделать
     
  3. Dark Wizard

    Dark Wizard

    Регистр.:
    23 сен 2007
    Сообщения:
    157
    Симпатии:
    76
    Нашёл ошибку, забыл дописать

    PHP:
    $eid=$_POST["eid"];
     
Статус темы:
Закрыта.