Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление данных в базе через цикл 
:(
    Опции темы
DARKVovich
Дата 14.5.2011, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 3.3.2011

Репутация: нет
Всего: нет



Подскажите, как такое реализовать:
Есть массив значений через запятую. Нужно все их внести в поле "name" таблицы БД соответственно для каждой записи, у которой  status=1.

Количество строк = количеству элементов массива.

С разбиением массива ясно, что нужно юзать $arr = explode(', ', $str);

С обновлением вероятно нужно юзать UPDATE tmy_table SET name = $arr[1] WHERE status = 1

Но как сделать цикл, чтобы каждый элемент был равен записи:
запись 1 = $arr[0]
запись 2 = $arr[1]
и т.д.
PM MAIL   Вверх
Shark
Дата 14.5.2011, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



сделай еще одно невидимое поле <input type=hidden name=id> где id будешь брать из базы при выведении формы...

потом массивом отправляешь все в БД, запись будет выглядеть так smile
Код

UPDATE tmy_table SET name = $arr[1] WHERE status = 1 AND id=$_POST['id']


у меня старый код выглядел так....
Вывод форм:
Код

$tracks=mysql_query("SELECT * FROM lfs_calendar WHERE ids_track != '0' AND year = '".date('Y', time())."' ORDER BY ids_track") or die ("Ошибка: невозможно выбрать трассы");
while($track=mysql_fetch_array($tracks))
    {
        $pilots_all=mysql_query("SELECT `id`, `pilot` FROM lfs_pilot WHERE view != '0' ORDER BY pilot ") or die (mysql_error());
        $count_pilot=mysql_num_rows($pilots_all);
        $q=1;
        $pilots=array();
        while($pilot=mysql_fetch_array($pilots_all))
            {
                $pilots[$q] = array("id_track" => $track['id_track'],
                                            "id" => $pilot['id'], 
                                            "small_name" => $track['small_name'],
                                            "pilot" => $pilot['pilot']);
                $q++;
            }
            $q=1;
        echo "<table border=1 width=80% style=\"border-collapse:collapse;table-layout:fixed;\"><tr><td colspan=3 class='borderres'>Название трассы: ".$track['small_name']."</td></tr>";
        echo "<tr><td rowspan=".$count_pilot." width=40% align=center class='borderres'>Баллы пилотам</td>";
            $q=1;
        while($pilots[$q])
            {
                $pilot= $pilots[$q];
                                echo "<td width=20% class='borderres'><form action='' method=POST>".$pilot['pilot']."</td>
                                <td width=20% class='borderres'><input type=text name=points".$pilot['id'].">
                                <input type=hidden name=small_name".$pilot['id']." value=".$pilot['small_name'].">
                                <input type=hidden name=pilot".$pilot['id']." value=".$pilot['pilot'].">
                                <input type=hidden name=id_pilot".$pilot['id']." value=".$pilot['id'].">
                                <input type=hidden name=id_track".$pilot['id']." value=".$pilot['id_track'].">
                                <input type=hidden name=count value=".$count_pilot."><input type=submit name=add value='ADD'></td></tr>";
                $q++;            
            }
        echo "</table></form><br />";
    }


Запись в БД и обновление:
Код

if($_POST['add'])
    {
        for ($q=1; $q <= $_POST["count"]; $q++)
            {
                $views_points=mysql_query("SELECT `sum_points`, `id` FROM lfs_pilot") or die ("Ошибка: невозможно выбрать сумму баллов");
                while($view_point=mysql_fetch_array($views_points))
                    {
                        if($view_point['id'] == $_POST['id_pilot'.$q])
                            {
                                $sum=$view_point['sum_points']+$_POST['points'.$q];
                                echo $view_point['id']." -> ".$sum."<br />";
                                mysql_query("UPDATE lfs_pilot SET sum_points = '".$sum."' WHERE id = '".$_POST['id_pilot'.$q]."' ") or die ("Ошибка: невозможно обновить сумму баллов");
                                mysql_query("INSERT INTO lfs_points VALUE(0, '".$_POST['pilot'.$q]."', '".$_POST['id_pilot'.$q]."', '".$_POST['small_name'.$q]."', '".$_POST['id_track'.$q]."', '".$_POST['points'.$q]."', '') ") or die (mysql_error());
                                mysql_query("UPDATE lfs_points SET sum = '".$sum."' WHERE id_pilot = '".$_POST['id_pilot'.$q]."' ") or die ("Ошибка: невозможно обновить сумму баллов");
                                echo "Пилот ИД -> ".$_POST['id_pilot'.$q]." -> ".$sum."<br />";
                            }
                    }
            }
    }



--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
DARKVovich
Дата 14.5.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 3.3.2011

Репутация: нет
Всего: нет



Спасибо, но это не то, что мне нужно(

Вот я накрутил скрипт такой:
Код

$str='ВДНЭ, ЭС95, 21МЦ, ПЕЛД, О00Т, Э9Т1, 1БШЮ, ИЖКМ, М688, О73Д, ЯД0В, ЛАЖШ, 07ВП, 6КДЮ, Ш0Н4, 66ЕИ, 2ГЖД';
$arrg = explode(', ', $str);
$result=$Mainclass->Db->Query('SELECT `id` FROM `prefix_mytable` WHERE `status`=1 AND `main_cat`=1',__file__,__line__);
while($result) {
    for ($i = 0; $i<=362; $i++) {
        $arr_values=array(
                        'sms'    =>$arrg[$i],
                        );
        $Mainclass->Db->Insert('actionsmap_l',$arr_values,__file__,__line__);
    }
}


Данные вставились, но появился какой-то глюк! Данные из БД рандомом выводятся! Даже в PHPMyAdmin смотришь, а они случайные! Как такое может быть?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0687 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.