Цикл по строкам в ХТМЛ форме

solaso

Новичок
Цикл по строкам в ХТМЛ форме

Прошу прощения, искал часа три, может не те ключевые слова подбирал, но натолкните меня на верный путь.
Есть http://spasibo.kz/kurs_base_edit.php база сайтов с курсами(не важно), далее вношу изменения в ячейках и подтверждаю. Так вот как мне в базу записать построчно изменения? Неужели парсить как хтмл страницу придеться или есть красивей решение?
 

AmdY

Пью пиво
Команда форума
выучи сначала,хотя бы, html, потом приходю сюда, поможем с php
 

Фанат

oncle terrible
Команда форума
solaso, что ты собрался откуда у тебя взялась какая-то HTML страница?

Убери вторую строку из воей форму и тренируйся на кошках. Сначала научись получать только одну строку. Когда научишься - продолжим.
 

AmdY

Пью пиво
Команда форума
да у него форма рвёт таблицу, у инпутов даже имена не проставлены, имхо, такие посты нужно сразу в корзину, обсуждать здесь нечего, вернее не с кем.
 

solaso

Новичок
У меня строк будет из базы около 50. У инпутов есть имена и имена в каждой строе повторяются одни и теже, я схему привел. Где непонимаемо объяснил?

-~{}~ 09.11.08 23:02:

Как перебрать из формы строки, так понимаемо?
 

Фанат

oncle terrible
Команда форума
Где непонимаемо объяснил?
Где-то между зрительными нервами и левым полушарием. Попробуй еще раз посмотреть на свою схему и визуально идентифицировать в ней имена инпутов.
 

solaso

Новичок
Идентифицирую, объяснена общая схема. Есть направление решения?

-~{}~ 09.11.08 23:05:

Ща. включу мозг. Подумаю.

-~{}~ 09.11.08 23:09:

<form method='post'>
<tr>
<td bgcolor = \"#ffff66\" rowspan=2 align='center'>id</td>
<td bgcolor = \"#ffff66\" rowspan=2 align='center'>Название сайта</td>
<td bgcolor = \"#ffff66\" rowspan=2 align='center'>Описание сайта</td>
<td width='20' bgcolor = \"#ffff66\" rowspan=2 align='center'>+/-</td>
<td width='50' bgcolor = \"#ffff66\" colspan=2 align='center'>WM<font color='blue'><b>Z</b></font></td>
<td width='50' bgcolor = \"#ffff66\" colspan=2 align='center'>WM<font color='red'><b>R</b></font></td>
<td width='50' bgcolor = \"#ffff66\" colspan=2 align='center'><font color='red'><b>Я</b></font>ndex</td>
</tr>
<tr>
<td width='50' bgcolor = \"#ffff66\" align='center'>покупка</td>
<td width='50' bgcolor = \"#ffff66\" align='center'>продажа</td>
<td width='50' bgcolor = \"#ffff66\" align='center'>покупка</td>
<td width='50' bgcolor = \"#ffff66\" align='center'>продажа</td>
<td width='50' bgcolor = \"#ffff66\" align='center'>покупка</td>
<td width='50' bgcolor = \"#ffff66\" align='center'>продажа</td>
</tr>


");
$query = "select `id`, `u_site`,`u_site_desc`,`u_active`,`u_wmz_buy`,`u_wmz_sale`,`u_wmr_buy`,`u_wmr_sale`,`u_ya_buy`,`u_ya_sale` from wm_curs_base order by `u_active` desc";//$sort для сортировки может быть и пустым
$result_view = mysql_query($query) or die('Query failed: ' . mysql_error());

// сама таблица курсы валют

while ($line = mysql_fetch_array($result_view, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td align='center'><input size='10' value='".$col_value."'></td>\n";
}
echo "\t</tr>\n";
}
echo("<input type='submit'>
</form>");

-~{}~ 09.11.08 23:11:

Как мне при выводе идентифицировать тогда инпуты? Или применить цикл по другому?

-~{}~ 09.11.08 23:12:

обзову инпут curs и дальше все инпуты с именем curs?
<input size='10' name='curs' value='".$col_value."'>
 

pilot911

Новичок
PHP:
while ($line = mysql_fetch_array($result_view, MYSQL_ASSOC)) {
echo "<tr>";
 
echo "<td align='center'><input size='10' name='curs[".$line['id']."]' value='".$line['u_wmz_buy']."'></td>";
 
echo "</tr>\n";
}
echo("<input type='submit'>
</form>");
 

Фанат

oncle terrible
Команда форума
solaso, впредь я не желаю здесь видеть ни одного оператора php
если у тебя вопрос по html форме, то и в вопросе должен быть только html

pilot911, тебя это тоже касается.
 

solaso

Новичок
pilot911 да это понятно, что все инпуты будут идентифицированы уникально при выводе, но потом когда буду делать UPDATE в базу, будет много этих инпутов, а как в цикле обновить в базе все поля?

-~{}~ 09.11.08 23:43:

Понял, цикл будет по другому, foreach ($line as $col_value) не нужен. Спасибо pilot911.

-~{}~ 09.11.08 23:57:

<h3><?echo "спасибо *****, буду знать";?></h3>

-~{}~ 09.11.08 23:59:

Слово Ф а н а т, заменяется снежинками. Однако. Цензура.
 

pilot911

Новичок
Автор оригинала: solaso
pilot911 да это понятно, что все инпуты будут идентифицированы уникально при выводе, но потом когда буду делать UPDATE в базу, будет много этих инпутов, а как в цикле обновить в базе все поля?
PHP:
так и обновляй

foreach ($_POST['curs'] as $id=>$value) {

заноси в БД 

}
 

solaso

Новичок
pilot911 точно, совсем пхп позабывал, программируя на 1С. Спасибо pilot911
 

solaso

Новичок
а нах мне русский, я не русский. Кстати я где я ошибся в орфографии или синтаксисе? Не вижу, еще и слепой.
 

pilot911

Новичок
Автор оригинала: solaso
а нах мне русский, я не русский. Кстати я где я ошибся в орфографии или синтаксисе? Не вижу, еще и слепой.
не, ну русский, конечно, лучше знать, так ведь время экономишь
 

solaso

Новичок
pilot911 укажите мне здесь на мои ошибки? А то выходит что я русский незнаю, а ошибок нет.
 

solaso

Новичок
А ну пока пишу грамотно. Раз в целом, учту. За школу по русскому языку выступал в свое время.

-~{}~ 15.11.08 10:38:

Вот что получилось. По кнопке "отправке запроса" у меня выводятся значение и ключ. Но как теперь записать в базу?
http://spasibo.kz/kurs_base_edit.php

PHP:
$query = "select `u_id`, `u_site`,`u_site_desc`,`u_active`,`u_wmz_buy`,`u_wmz_sale`,`u_wmr_buy`,`u_wmr_sale`,`u_ya_buy`,`u_ya_sale` from wm_curs_base  order by `u_active` desc"; $result_view = mysql_query($query) or die('Query failed: ' . mysql_error());  // сама талица курсы валют  while ($line = mysql_fetch_array($result_view, MYSQL_ASSOC))  { 	echo "<tr>"; 	  	echo "<td align='center'>".$line['u_id']."<input size='10' name='curs[]' value='".$line['u_id']."'> </td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_site']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_site_desc']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_active']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_wmz_buy']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_wmz_sale']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_wmr_buy']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_wmr_sale']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_ya_buy']."'></td> 	<td align='center'><input size='10' name='curs[]' value='".$line['u_ya_sale']."'></td> 	"; 	  	echo "</tr>\n"; } echo("<td><input type='submit'> </form></td>");   foreach ($_POST['curs'] as $key=>$value)  {   	$query = "UPDATE `wm_curs_base` SET u_$key=$value "; //Как здесь обновить базу? 	$result_view = mysql_query($query) or die('Query failed: ' . mysql_error());  echo "<p> Ключ " .$key."=Значение ". $value . "</p>";
 
Сверху