[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мультивставка в базу
uzzzver
Помогите нубу.
Нужно организовать раздачу баллов людям.
Есть таблицаюзеров:
Код
table users
id | name | прочие данные

и таблица результатов чего-нибудь:
Код
table scores
id |date | user_id | score

$res = запрос на выборку из таблицы users
далее
PHP
//начало форы
echo "<form name='theform' action='кудато'>";
while (
$row mysql_fetch_assoc($query))
{

     echo 
"<input type='hidden' name='date' value='".date()."'><input type='hidden'  name='u_id' value='".$res['id']."'>".res['name']."Поставить балл: <select name='score'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option></select> ";

}
//кнопка сабмита
echo "</form>";

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



Спустя 56 минут, 5 секунд (20.03.2009 - 08:46) olgatcpip написал(а):
PHP
function _dbEnumObjectsByQuery($query$maxObjects=0)
{
    global 
$__cn;

    
$vector=array();
    
$result pg_query($__cn$query);
    if(!
$result) return $vector;
    
    if(
$maxObjects==0$maxObjects=1000000;
    
$n=0;

    while(
$n<$maxObjects)
    {
        
$row = @pg_fetch_array($result,$nPGSQL_ASSOC);
        if(!
$row) break;
        
array_push($vector,$row);
        
$n++;
    }
    
pg_free_result($result);
    return 
$vector;
}
$query sprintf("select...");
rows _dbEnumObjectsByQuery($query);
foreach(
rows as res)
{
      echo 
"<input type='hidden' name='date' value='".date()."'><input type='hidden'  name='u_id' value='".$res['id']."'>".res['name']."Поставить балл: <select name='score'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option></select> ";
}


попробуй так

Спустя 2 часа, 56 минут, 52 секунды (20.03.2009 - 11:43) waldicom написал(а):
человек сверху работает с мускулом, а Вы ему постгрю предлагаете

Спустя 1 час, 6 минут, 41 секунда (20.03.2009 - 12:50) uzzzver написал(а):
Нашел вот такой пример запроса:
PHP
$i=0;
$data=array(
array(
'N'=>'Вася','Y'=>'1990'),
array(
'N'=>'Петя','Y'=>'1985'),
array(
'N'=>'Сережа','Y'=>'1988')
);

$query="INSERT INTO childrens (imya,birtsday) VALUES";

foreach(
$data as $value){

    if(
$i==0){

        
$query.="('".$value['N']."','".$value['Y']."')";

    }else{

        
$query.=",('".$value['N']."','".$value['Y']."')";

    }

    
$i++;

}
mysql_query($query);

Вставка -именног такая какая нужна. Подскажите, как сформировать данный массив из полученных данных. Вот так выводится несколько форм для выставления баллов
PHP
while ($row mysql_fetch_assoc($query))
{

     echo 
"<input type='hidden' name='date' value='".date()."'><input type='hidden'  name='u_id' value='".$res['id']."'>".res['name']."Поставить балл: <select name='score'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option></select> ";

}

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.