php формы массивов и sqlite - обновлено - PullRequest
0 голосов
/ 20 декабря 2011

Мне нужна помощь. Я пытаюсь создать форму PHP, используя базу данных sqlite3.Я ищу значения из существующей базы данных sqlite3 в «lookuptable», где столбец «id = 340», и отображаю эти значения в виде выпадающего списка.Затем, как только значение выбрано пользователем, пользователь отправляет форму, которая обновляет новое значение в «реестровой» таблице значениями из формы php.Я получаю его для отображения имен в выпадающем списке, но когда я нажимаю на кнопку обновления, чтобы отправить данные, он обновляет значение в массиве.

Как мне отправить «имя» и «фамилию» от пользователя в реестр, вместо числа в таблице массивов?

Страница ввода PHP Код:

<html>
<head>
<title></title>
</head>
<div class = "controlbox">
<body style="font-size:12;font-family:verdana">
<form action="post.php" method="post">
<p> 
<h1>  </h1>
<br>
<br>
Person : <select name="name">
<option>--Available Options--</option>
<?php
try
{
$db = new PDO("sqlite:DefaultLibrary.db");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
}
catch(Exception $e)
{   
echo $e->getMessage();
}

$stmt2 = $db->query ("SELECT * FROM lookuptable where ID = '340' ");
$rowarray = $stmt2->fetchall(PDO::FETCH_ASSOC);
$cntr = 0;

foreach($rowarray as $row)
{
 echo "<option value = $cntr >$row[FirstName] $row[LastName]</option>";
 $cntr++;
}
?>

</select><br>

<p>
<input type="submit" name="update" value="update">
</p>

</form>
</body>
</html>

PHP код: Post.php

<?php

$name = sqlite_escape_string($_POST['name']);

try
{
 $db = new PDO("sqlite:DefaultLibrary.db");
 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
}
catch(Exception $e)
{   
echo $e->getMessage();
}

if (!empty($person)) {
try
{   
    $stmt = $db->prepare("UPDATE roster SET rotationplace = :name WHERE ID = '340'");
    $stmt->bindParam(':name', $name,PDO::PARAM_STR);
    $stmt->execute();
}
catch(Exception $e)
{
    echo $e->getMessage();
}

    echo "submitted successfully";


    }
    ?>

1 Ответ

0 голосов
/ 20 декабря 2011

Попробуйте:

echo "<option value = $INSERT_NAME_HERE_NOT_COUNTER >$row[FirstName] $row[LastName]</option>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...