Я пытаюсь создать простую форму, которая обновит мою базу данных mySql. Я могу добиться успеха, если у меня есть только один элемент формы (ввод) на странице, но я не могу понять, как иметь более одного элемента формы (входы) для pgae.PHP-форма, которая обновляет несколько элементов формы для разных столбцов
Когда я добавляю несколько входных данных, база данных не добавит никакого содержимого.
Я знаю, что мой код близок, но я не понимаю, где именно и что с ним делать.
P.S. - Я еще новичок в этом и учусь ...
Вот что у меня есть
<?php
$host = 'hostName';
$user = 'userName';
$password = 'password';
$link = mysql_connect($host, $user, $password);
$selected = mysql_select_db('dbName', $link);
if(!isset($_POST['text-input']))
{
echo '<html>
<body>
<form action="post.php" method="post">
<input type="text" name="text-input" id="text-input" value="Update MyDataColumn" style="width:300px;" />
<input type="submit" value="Submit" />
</form>
</body>
</html>'; }
else {
$form_input = $_POST['text-input'] ;
mysql_query('INSERT INTO `tableName` (columnName) VALUES ("' . $form_input . '");');
echo '
<html>
<body>
<script type="text/javascript">
alert(\'Database now contains: <?php echo $form_input ?>. Redirecting...\');
window.location = \'http://url.com\';
</script>
</body>
</html>';
}
?>
Я хотел бы разобраться в том, как разместить в многочисленных колонок в пределах одного дб/таблицы.
Хорошо, из ответов ниже я изменил код, чтобы выглядеть следующим образом:
<?php
$host = 'dbHost';
$user = 'dbUser';
$password = 'dbPassword';
$link = mysql_connect($host, $user, $password);
$selected = mysql_select_db('dbName', $link);
if(!isset($_POST['text-input']))
{
echo '
<form action="index.php" method="post">
<input type="text" name="text-input" id="text-input" value="Update itemName" style="width:300px;" />
<input type="text" name="text-input2" id="text-input2" value="Update itemDescription" style="width:300px;" />
<input type="text" name="text-input3" id="text-input3" value="Update productID" style="width:300px;" />
<input type="text" name="text-input4" id="text-input4" value="Update itemPrice" style="width:300px;" />
<input type="submit" value="Submit" />
</form>'
; }
else {
$form_input = $_POST['text-input'] ;
$form_input2 = $_POST['text-input2'] ;
$form_input3 = $_POST['text-input3'] ;
$form_input4 = $_POST['text-input4'] ;
mysql_query('INSERT INTO `items` (itemName, itemDescription, productID, itemPrice)
VALUES ("' . $form_input . '", "' . $form_input2 . '", "' . $form_input3 . '", "' . $form_input4 . '");
echo '
<html>
<body>
<script type="text/javascript">
alert(\'Database has been updated. Redirecting to previous url.\');
window.location = \'http://url.com\';
</script>
</body>
</html>';
}
?>
Что происходит с этим кодом, я получаю ошибку синтаксиса, неожиданный «>»
Вы действительно должны смотреть в PDO. 'mysql_ *' устарел. Кроме того, не нужно делать все это, повторяя. Просто закончите свой тег PHP перед своим HTML, а затем снова запустите php с помощью ' Php'. –