Групповая форма ввода в базу данных

Stocker

Новичок
Групповая форма ввода в базу данных

Добрый день.

Мне необходимо написать скрипт группового ввода в БД.

Ввод в базу данных, например, winners, имеющих следующую структуру
id_tur || id_member || krug || krug_par

id_tur - это id турнира
id_member - это id члена клуба
krug - это до какого круга дошел
krug_par - это до какого круга дошел в парном разряде.

Так вот в эту таблицу надо вводить два поля, которая уже есть в других БД, кроме krug и krug_par, которые надо ввести вручную.

Так вот голову сломал, как построить такую форму ввода, как хранить переменные (дотумкал, что там все крутится около двумерного массива), как потом с ними работать.

Хотя бы на первом этапе, понять как сформировать форму и хранить данные из нее?
 

vasyaboychuk

Новичок
1) выбираеш в один массив все записи с таблицы поля id_tur
2) выбираеш в другой массив все записи с таблицы поля id_member
3) создаеш форму на 4 поля:
- выпадающий список где выбираэш id_tur
- выпадающий список где выбираэш id_member
- текстовое с krug
- текстовое с krug_par
4) данные с формы записываеш в таблицу.

не знаю, задание простое. ты долже его сделать. если не получится - займись чем то другим, мало связаным с программированием чтобы потом не желеть.
 

Stocker

Новичок
Re: Групповая форма ввода в базу данных

Спасибо за ответ, но ты не понял вопрос. Может тут и моя вина, что сумбурно описал ситуацию.

То что ты написал и ежу понятно. Так уже реализована форма ввода, но это не подходит. Как это сделать без выпадающих списков?

Т.е. чтобы сразу все записи были видны, иначе пользователю будет сложно вводить информацию.

И по одной кнопки все данные грузились, хотя бы во временную таблицу.

Про массивы я понял уже давно, вот только как форму сделать, причем динамически. Ясно, что там цикл и в цикле <input>, вот только что-то не работает.

Т.е. в таблицу должны заноситься не записи по отдельности, а сразу все.

Теперь ясно?

P.S. И без хамства! Бывает такое, что решение где-то рядом, на языке вертиться, а уловить не получается.
 

_vampiro_

Новичок
name="krug[1]" ... name="krug_par[1]" ... <br />
name="krug[2]" ... name="krug_par[2]" ... <br />

1,2 - ID из первой таблицы.
 

Stocker

Новичок
Re: Re: Групповая форма ввода в базу данных

Да, я уже так пробую в данный момент.

Спасибо за ответ.

-~{}~ 19.06.06 13:37:

Автор оригинала: _vampiro_
name="krug[1]" ... name="krug_par[1]" ... <br />
name="krug[2]" ... name="krug_par[2]" ... <br />

1,2 - ID из первой таблицы.
Только еще важно, что количество строк в форме зависит от количества записей в таблице.
 

ybilevych

Новичок
1. Запросом получить из таблицы member всех членов клуба
2. В цикле пройтись по результату запроса и выводить:
name="krug[$i]" ... name="krug_par[$i]" ... <br />
Где $i - ID члена клуба (берется из текущей записи)

3. При обработке формы опять в цикле пройтись по массивам krug и krug_par и записать в базу - один запрос на каждый ID члена клуба.
 

Stocker

Новичок
Автор оригинала: ybilevych
1. Запросом получить из таблицы member всех членов клуба
2. В цикле пройтись по результату запроса и выводить:
name="krug[$i]" ... name="krug_par[$i]" ... <br />
Где $i - ID члена клуба (берется из текущей записи)

3. При обработке формы опять в цикле пройтись по массивам krug и krug_par и записать в базу - один запрос на каждый ID члена клуба.
Спасибо. Так и пытаюсь сделать.

Спасибо за помощь.

-~{}~ 20.06.06 09:32:

Вот такой сценарий:

input_winners.php


<?php

if (isset($submit_tur)) {

connect();
$query = 'SELECT * FROM member';
$result = mysql_query ($query); ?>

<form action="test.php" method="get">


<?php
for ($i = 0; $i < (mysql_num_rows($result)); $i++)
{

$row = mysql_fetch_array ($result);

?>
<input type="text" name="id" value="<?php echo($row[0]) ?>">
<input type="text" name="fname" value="<?php echo($row[1]) ?>">
<input type="text" name="lname" value="<?php echo($row[2]) ?>">
<input type="text" name="data_rozhd" value="<?php echo($row[3]) ?>">
<input type="text" name="krug" value="">
<input type="text" name="krug_par" value="">
<br>
<?php

}
?>

<input type="submit" name="sub_win" value="Ввод">
</form>

<?php
}
?>


В файле test.php я просто проверяю содержание массивов:

<?php

echo($id['0']);
echo($id['1']);

?>

Ничего не выводит. Т.е. массивы пустые?

Ничего не могу понять... странно все это.
 

ybilevych

Новичок
a echo($id['i']); ? ;-)

Поправь:

<input type="text" name="id[<?php echo $i?>]" value="<?php echo($row[0]) ?>">

echo($_GET['id']['0']);

Некоторые замечания:
1. В форме вместо метода GET лучше использовать POST.
2. Как индекс массива можно использовать ID из базы. Перебор тогда осуществлять через foreach.
 

Stocker

Новичок
Автор оригинала: ybilevych
a echo($id['i']); ? ;-)

Поправь:

<input type="text" name="id[<?php echo $i?>]" value="<?php echo($row[0]) ?>">

echo($_GET['id']['0']);

Некоторые замечания:
1. В форме вместо метода GET лучше использовать POST.
2. Как индекс массива можно использовать ID из базы. Перебор тогда осуществлять через foreach.
Спасибо огроменное.

-~{}~ 20.06.06 13:49:

Автор оригинала: ybilevych
a echo($id['i']); ? ;-)

Поправь:

<input type="text" name="id[<?php echo $i?>]" value="<?php echo($row[0]) ?>">

echo($_GET['id']['0']);

Некоторые замечания:
1. В форме вместо метода GET лучше использовать POST.
2. Как индекс массива можно использовать ID из базы. Перебор тогда осуществлять через foreach.
Что-то теперь не могу обратиться к массиву

$query = 'SELECT * FROM member';
$result = mysql_query ($query);
for ($i = 0; $i < (mysql_num_rows($result)); $i++)
{

echo($id['$i']);
}

Не чего не выводит.

-~{}~ 20.06.06 13:51:

Автор оригинала: ybilevych
a echo($id['i']); ? ;-)

Поправь:

<input type="text" name="id[<?php echo $i?>]" value="<?php echo($row[0]) ?>">

echo($_GET['id']['0']);

Некоторые замечания:
1. В форме вместо метода GET лучше использовать POST.
2. Как индекс массива можно использовать ID из базы. Перебор тогда осуществлять через foreach.
echo($_POST['id']['$i']);

Также не работает.
 

asm

Пофигист
echo($id[$i]);
echo($_POST['id'][$i]);

и читать фак... и error_reporting(E_ALL); вначале
 
Сверху