Логика меня запутала. Я хочу написать одну функцию для обработки нескольких форм. я имею восемь бланков заказа, на разных страницах. Все они используют та же база данных. Функция должна будет обрабатывать функции вставки ИЛИ обновлять функции.
То, что я написал, прежде чем я получил в тупик:
// I might want to move this IF further down in the logic
// I wasn't sure what to put here in it's place.
if(isset($_POST['submitInsert']))
{
// setting up a loop to go through all the POST values
foreach($_POST as $name => $value)
{
// make sure POST values are set before wasting
// any time doing stuff with them
if($value!="")
{
// checking if the POST value is an array because
// an array would have to be handled differently
if(!is_array($value))
{
// Just printing info for now, Thinking maybe I should
// do an IF here to check for insert/update
echo $name . " --- " . $value . "<br>";
}
else
{
// for an array, I'll need another foreach statement
echo "$name"." --- ";
print_r($value);
echo "<br/>";
}
}
}
}
Больше информации
Я планирую переключаться между вставкой / обновлением, называя кнопки отправки «submitInsert» или «submitUpdate». И после некоторой проверки данных, проверьте вставку / обновление. Решив, что это путь, я понял, что не знаю, как запустить функцию.
Имена элементов формы совпадают с именами полей БД, поэтому SQL-запрос не должен быть сложным.
Есть лучший способ сделать это?
if(isset($_POST['submit']))
{
//could use for loop but you know the fields you will be using for your sql.
$id = $_POST['id'];
$var1 = $_POST['var1'];
// Do a select see if it exists if it does use update else use insert.
$query = "SELECT * from table where ID = $id";
if($rowCount > 0)
{
$query = "Update table set var=$var1 where id = $id";
}
else
{
$query = "Insert into table (var1) VALUES ($var1)";
}
}
Других решений пока нет …