Вы можете просто назвать параметры с именами таблиц:
<select name="options">
<option value="table_a">optionA</option>
<option value="table_b">optionB</option>
<option value="table_c">optionC</option>
<option value="table_d">optionD</option>
</select>
Затем при отправке:
<?php
$tables = ["table_a", "table_b", "table_c", "table_d"];
$table = isset($_POST["table"]) && in_array($_POST["table"], $tables)
? $_POST["table"]
: $tables[0];
$sql = "INSERT INTO `$table`...";
Обратите внимание, что вы должны проверить ввод имени таблицы.(как я проверил, находится ли он в массиве)
Если вы хотите быть менее повторяющимся, вы можете сделать:
$tables = [
"table_a" => "optionA",
"table_b" => "optionB",
"table_c" => "optionC",
"table_d" => "optionD",
];
// When building the form:
foreach ($tables as $tableName => $optionName) {
echo "<option value='$tableName'>$optionName</option>";
}
// When submiting
$table = isset($_POST["table"], $tables[$_POST["table"]])
? $tables[$_POST["table"]]
: $tables[0];
$sql = "INSERT INTO `$table`...";