<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум PHP-MyAdmin.RU &mdash; Функция UPDATE]]></title>
	<link rel="self" href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=1918&amp;type=atom" />
	<updated>2010-10-09T05:28:25Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.php-myadmin.ru/viewtopic.php?id=1918</id>
		<entry>
			<title type="html"><![CDATA[Re: Функция UPDATE]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=13538#p13538" />
			<content type="html"><![CDATA[<p>полный вариант на почте, вот что надо прописать:</p><p>Вынести перед циклом:<br /></p><div class="codebox"><pre><code>&lt;form action=&quot;update_table.php&quot; method=&quot;post&quot; target=&quot;_blank&quot;&gt;</code></pre></div><p>Затем в цикле:<br /></p><div class="codebox"><pre><code>    $result= mysql_query (&quot;SELECT * FROM ttable WHERE id=id&quot;,$db);
    $myrow= mysql_fetch_array($result);
    
    do
    {
$id=$myrow[&#039;id&#039;];
print &lt;&lt;&lt;HERE
    &lt;tr class=&quot;ch_results&quot;&gt;
    &lt;input value=&quot;$myrow[id]&quot; name=&quot;forms[$myrow[id]][id]&quot; type=&quot;hidden&quot;&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;team&quot;&gt;&lt;input value=&quot;$myrow[team]&quot; name=&quot;forms[$myrow[id]][team]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;30&quot; maxlength=&quot;30&quot; /&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;city&quot;&gt;&lt;input value=&quot;$myrow[city]&quot; name=&quot;forms[$myrow[id]][city]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;15&quot; maxlength=&quot;20&quot; /&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[numer]&quot; name=&quot;forms[$myrow[id]][numer]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[game]&quot; name=&quot;forms[$myrow[id]][game]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[win]&quot; name=&quot;forms[$myrow[id]][win]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[loose]&quot; name=&quot;forms[$myrow[id]][loose]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[point]&quot; name=&quot;forms[$myrow[id]][point]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;
    &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[scores]&quot; name=&quot;forms[$myrow[id]][scores]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;7&quot; maxlength=&quot;7&quot; /&gt;&lt;/td&gt;
  &lt;td &gt;&lt;div class=&quot;cell1&quot;&gt; &lt;a href=&#039;delete_table.php?id=$id&#039;&gt;Удалить&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
 &lt;/tr&gt;
    
    
HERE;
}
    while ($myrow= mysql_fetch_array($result));

mysql_free_result($result);
mysql_close($db);</code></pre></div><p>и в обработчике:<br /></p><div class="codebox"><pre><code>$data_form = $_POST[forms];

foreach ($data_form as $key=&gt;$value) {

    $query=mysql_query(&quot;UPDATE ttable SET 
                    team=&#039;$value[team]&#039;, 
                    city=&#039;$value[city]&#039;, 
                    numer=&#039;$value[numer]&#039;, 
                    game=&#039;$value[game]&#039;, 
                    win=&#039;$value[win]&#039;, 
                    loose=&#039;$value[loose]&#039;, 
                    point=&#039;$value[point]&#039;, 
                    scores=&#039;$value[scores]&#039; 
                    WHERE id=&#039;$value[id]&#039;&quot;);

}
mysql_close($db);</code></pre></div><p>И советую в конструкцию формы внести </p><div class="codebox"><pre><code>&lt;input type=&quot;checkbox&quot; name=&quot;forms[$myrow[id]][check]&quot; value=&quot;1&quot;&gt;</code></pre></div><p>и в обработчик приема данных прописать условие если он допустим 1 то вносим запись нет не вносим, чтобы выбирать какие изменены и надо вносить так как при большом объеме данных не все будут же меняться ну и незачем дублирующие запросы к базе делать.<br />тогда в проходе массыва :</p><div class="codebox"><pre><code>    $query=mysql_query(&quot;UPDATE ttable SET 
                    team=&#039;$value[team]&#039;, 
                    city=&#039;$value[city]&#039;, 
                    numer=&#039;$value[numer]&#039;, 
                    game=&#039;$value[game]&#039;, 
                    win=&#039;$value[win]&#039;, 
                    loose=&#039;$value[loose]&#039;, 
                    point=&#039;$value[point]&#039;, 
                    scores=&#039;$value[scores]&#039; 
                    WHERE id=&#039;$value[id]&#039;&quot;);</code></pre></div><p>завернуть в :</p><div class="codebox"><pre><code>$data_form = $_POST[forms];

foreach ($data_form as $key=&gt;$value) {

if ($value[check]==1){
    $query=mysql_query(&quot;UPDATE ttable SET 
                    team=&#039;$value[team]&#039;, 
                    city=&#039;$value[city]&#039;, 
                    numer=&#039;$value[numer]&#039;, 
                    game=&#039;$value[game]&#039;, 
                    win=&#039;$value[win]&#039;, 
                    loose=&#039;$value[loose]&#039;, 
                    point=&#039;$value[point]&#039;, 
                    scores=&#039;$value[scores]&#039; 
                    WHERE id=&#039;$value[id]&#039;&quot;);
  }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DmitryV]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=2987</uri>
			</author>
			<updated>2010-10-09T05:28:25Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=13538#p13538</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Функция UPDATE]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=13523#p13523" />
			<content type="html"><![CDATA[<p><strong>rostrid</strong><br />Смогли разобраться? если нет пришлите мне образец структуры и данных таблицы и что хотелось бы получить от скрипта в свободной форме на ПМ.</p>]]></content>
			<author>
				<name><![CDATA[DmitryV]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=2987</uri>
			</author>
			<updated>2010-10-08T06:13:25Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=13523#p13523</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Функция UPDATE]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=13522#p13522" />
			<content type="html"><![CDATA[<p>Спасибо ! В целом уловил идею, но если бы вы мне написали как это выглядит непосредственно в UPDATE был бы очень благодарен))</p>]]></content>
			<author>
				<name><![CDATA[rostrid]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=3099</uri>
			</author>
			<updated>2010-10-08T06:05:30Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=13522#p13522</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Функция UPDATE]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=13521#p13521" />
			<content type="html"><![CDATA[<p><strong>rostrid</strong><br />В форме задать переменные в виде массива данных и передавать на изминение тоже массив данных например <br /></p><div class="codebox"><pre><code>&lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow&quot; name=&quot;forms[id][numer]&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/p&gt;&lt;/td&gt;</code></pre></div><p>прописываем в имени forms[numer] вместо numer и так со всеми по аналогии forms[имя до редактирования]<br />после передачи в скрипт имеем массыв пременных с формы $data_form = $_POST[forms] и уже запрос внедряем в проход этого многомерного массыва по $data_form[id][имя_старое переменной] например $data_form[id][numer]&nbsp; и т д. тоесть по принятию данных в цикле пишем обработку массыва<br />если не понятно могу расписать полностью скрипт.</p>]]></content>
			<author>
				<name><![CDATA[DmitryV]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=2987</uri>
			</author>
			<updated>2010-10-08T05:56:08Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=13521#p13521</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Функция UPDATE]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=13519#p13519" />
			<content type="html"><![CDATA[<p>Помогите решить проблему !<br />Есть таблица, которая выводится в цикле do while.&nbsp; В нее вставленны формы в которые выводятся данные из БД для редактирования.<br />$result= mysql_query (&quot;SELECT * FROM ttable WHERE id=id&quot;,$db);<br />&nbsp; &nbsp; $myrow= mysql_fetch_array($result);<br />&nbsp; &nbsp; do<br />&nbsp; &nbsp; {<br />$id=$myrow[&#039;id&#039;];<br />print &lt;&lt;&lt;HERE<br />&lt;form action=&quot;update_table.php&quot; method=&quot;post&quot; target=&quot;_blank&quot;&gt;<br />&nbsp; &nbsp; &lt;tr class=&quot;ch_results&quot;&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;team&quot;&gt;&lt;input value=&quot;$myrow[team]&quot; name=&quot;team&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;30&quot; maxlength=&quot;30&quot; /&gt;&lt;/p&gt;&lt;p class=&quot;city&quot;&gt;&lt;input value=&quot;$myrow[city]&quot; name=&quot;city&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;15&quot; maxlength=&quot;20&quot; /&gt;&lt;/p&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[numer]&quot; name=&quot;numer&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/p&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[game]&quot; name=&quot;game&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[win]&quot; name=&quot;win&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[loose]&quot; name=&quot;loose&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[point]&quot; name=&quot;point&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;2&quot; maxlength=&quot;3&quot; /&gt;&lt;/td&gt;<br />&nbsp; &nbsp; &lt;td class=&quot;cell&quot;&gt;&lt;p class=&quot;number&quot;&gt;&lt;input value=&quot;$myrow[scores]&quot; name=&quot;scores&quot; type=&quot;text&quot; class=&quot;text_form&quot; size=&quot;7&quot; maxlength=&quot;7&quot; /&gt;&lt;/td&gt;<br />&nbsp; &lt;td &gt;&lt;div class=&quot;cell1&quot;&gt; &lt;a href=&#039;delete_table.php?id=$id&#039;&gt;Удалить&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;<br />&nbsp; &lt;input value=&quot;$myrow[id]&quot; name=&quot;id&quot; type=&quot;hidden&quot;&gt;<br />&nbsp; &lt;/tr&gt;<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; <br />HERE;<br />}<br />&nbsp; &nbsp; while ($myrow= mysql_fetch_array($result));<br />&nbsp; &nbsp; <br />?&gt;<br />&lt;/table&gt;</p><p>&lt;p class=&quot;scores&quot;&gt;&lt;input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Сохранить изменения&quot;&gt;&lt;/p&gt;<br />&lt;/form&gt;</p><br /><br /><p>Все это дело отсылается обработчику, который призван вставить изменные данные обратно в БД<br />if (isset($_POST[&#039;team&#039;])) {$team=$_POST[&#039;team&#039;]; if ($team==&#039;&#039;){unset($team);}}<br />if (isset($_POST[&#039;city&#039;])) {$city=$_POST[&#039;city&#039;]; if ($city==&#039;&#039;){unset($city);}}<br />if (isset($_POST[&#039;numer&#039;])) {$numer=$_POST[&#039;numer&#039;]; if ($numer==&#039;&#039;){unset($numer);}}<br />if (isset($_POST[&#039;game&#039;])) {$game=$_POST[&#039;game&#039;]; if ($game==&#039;&#039;){unset($game);}}<br />if (isset($_POST[&#039;win&#039;])) {$win=$_POST[&#039;win&#039;]; if ($win==&#039;&#039;){unset($win);}}<br />if (isset($_POST[&#039;loose&#039;])) {$loose=$_POST[&#039;loose&#039;]; if ($loose==&#039;&#039;){unset($loose);}}<br />if (isset($_POST[&#039;point&#039;])) {$point=$_POST[&#039;point&#039;]; if ($point==&#039;&#039;){unset($point);}}<br />if (isset($_POST[&#039;scores&#039;])) {$scores=$_POST[&#039;scores&#039;]; if ($scores==&#039;&#039;){unset($scores);}}<br />if (isset($_POST[&#039;id&#039;])) {$id=$_POST[&#039;id&#039;];}<br />?&gt;<br />&nbsp; &nbsp; &lt;?php <br />&nbsp; &nbsp; if (isset($team) and isset($city) and isset($numer) and isset($game) and isset($win) and isset($loose) and isset($point) and isset($scores))<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; $result= mysql_query(&quot;UPDATE ttable SET &#039;team=&#039;$team&#039;, city=&#039;$city&#039;, numer=&#039;$numer&#039;, game=&#039;$game&#039;, win=&#039;$win&#039;, loose=&#039;$loose&#039;, point=&#039;$point&#039;, scores=&#039;$scores&#039; WHERE id=&#039;$id&#039;&quot;);</p><p>&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; if ($result==&#039;true&#039;) {echo &quot;Новость успешно обновлена&lt;p&gt;&lt;a href=&#039;ttable.php&#039;&gt;Обратно в админ блок&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&#039;//localhost/avto/avtomobilist.php&#039;&gt;Перейти на главную страницу сайта&lt;/a&gt;&lt;/p&gt;&quot;;}<br />&nbsp; &nbsp; &nbsp; &nbsp; else {echo &quot;Внимание произошла ошибка ! Новость не была обновлена&quot;;}<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; else {echo &quot;Внимание одно или несколько полей не были заполнены. Пожалуйста проверти правильность ввода информации&quot;;}</p><br /><br /><p>Но возникает проблема ! Редактированию с последующей успешной записью поддается только последняя строка. Отсюда вопрос, как сделать чтобы можно было редактировать любую из ячеек ? Заранее спасибо))</p>]]></content>
			<author>
				<name><![CDATA[rostrid]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=3099</uri>
			</author>
			<updated>2010-10-07T23:06:37Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=13519#p13519</id>
		</entry>
</feed>
