Поэтому в настоящее время я использую стороннее программное обеспечение для получения результатов различных опросов. Это приложение отправляет результаты на страницу через переменную $_POST.
Так например..
$demoEMP = $_POST['demoEMP'];
Это просто сохраняет ответ на конкретный вопрос в переменную.
Что я хочу сделать, так это сохранить вопросы 1-20 в переменных POST и вставить их в базу данных. Чего я не хочу делать, так это писать 20+ команд Insert или 20+ $var = $_POST['var']
Итак, я подумал, что цикл for поможет... Это то, что у меня есть до сих пор... на основе просмотра различных методов и руководств. знак равно
for ($i = 0; $i < 55; $i++) {
$answer = "Q{$i}";
echo $_POST[$answer];
}
Я даже на правильном пути? Спасибо за вашу помощь!
ОБНОВЛЕНИЕ :: Решение Каса отлично сработало.
Я использовал что-то вроде этого...
foreach ($_POST as $i => $v)
{
if (preg_match("/^Q\d+$/",$i)) {
// Here we insert value $v to database
$query_2 = mysql_query("INSERT INTO SGresult VALUES ('', '', '$pID', '$SGQID','$v')") or die('Error: '.mysql_error ());
} }
Однако сейчас я пытаюсь найти способ добавить идентификатор к вопросу и автоматически увеличивать этот идентификатор... при каждой вставке. Я думал, что могу сделать что-то вроде $SGQID++, но, похоже, это не работает. У кого-нибудь есть какие-нибудь мысли?
Спасибо еще раз!
ладно, после еще немного возни, кажется, что размещение ++ было отключено, и это должно было быть после запроса ... правильный код выглядит следующим образом.
$SGQID= 1;
foreach ($_POST as $i => $v)
{
if (preg_match("/^Q\d+$/",$i)) {
// Here we insert value $v to database
$query_2 = mysql_query("INSERT INTO SGresult VALUES ('', '', '$pID', '$SGQID','$v')") or die('Error: '.mysql_error ());
$SGQID++; //added value to increment Question ID in DB
}
}