gpt4 book ai didi

php - 将文本值从下拉列表传输到其各自的数据库 ID - sql 插入和 php

转载 作者:行者123 更新时间:2023-11-30 00:53:01 27 4
gpt4 key购买 nike

我在将下拉列表值(:艺术家、文本)转换为其各自的 ID(艺术家 ID、数字)并将其插入事件表时遇到问题。 Venue_ID 也有同样的问题。

<?php
$artist =
'SELECT Artist_ID
FROM artist
WHERE :Artist = Artist_Name
';
$venue =
'SELECT Venue_ID
FROM venue
WHERE :Venue = Venue_Name
';
$stmt = $pdo->prepare(
'INSERT INTO event(Event_Date, Artist_ID, Venue_ID, Price)
VALUES (:Event_Date, $artist, $venue, :Price)');

$stmt->bindparam('Artist_ID', $_POST[$artist], PDO::PARAM_STR);
$stmt->bindparam('Venue_ID', $_POST[$venue], PDO::PARAM_STR);
$stmt->bindparam('Date', $_POST[':Date'], PDO::PARAM_STR);
$stmt->bindparam('Price', $_POST[':Price'], PDO::PARAM_STR);
$stmt->execute();
$newId = $pdo->lastInsertId();
exit;
?>

这是下拉列表的代码:

<select name='Artist' id=':Artist'>
<?php
$stmt = $mysqli->prepare(
'SELECT Artist_Name
FROM artist
ORDER BY Artist_Name');
$stmt->execute();
$stmt->bind_result($Artist);
$stmt->store_result();
while($stmt->fetch())
echo("<option> {$Artist} </option>");
?>
</select>

艺术家和 field 表具有分配有主键 ID 的文本值,该主键 ID 与艺术家日期和价格一起存储到事件表中。

如有任何帮助,我们将不胜感激,谢谢。

最佳答案

试试这个,同时选择艺术家 ID 并将其作为如下值传递到下拉列表中:

<select name='Artist' id=':Artist'>
<?php
$stmt = $mysqli->prepare(
'SELECT Artist_Name, Artist_ID
FROM artist
ORDER BY Artist_Name');
$stmt->execute();
$stmt->bind_result($Artist, $ID);
$stmt->store_result();
while($stmt->fetch())
echo("<option value=\"$ID\"> {$Artist} </option>");
?>
</select>

我认为您还需要更新代码中的 POST 元素,但我不确定您在第一部分中对 :Artist 类型变量做了什么。如果您使用 id 作为值(就像我在这里所做的那样),那么发布的值将是他们选择的名称的 id,您不需要查询它。

<?php
$artist = $_POST['Artist'];
$venue = $_POST['venue'];

$stmt = $pdo->prepare(
'INSERT INTO event(Event_Date, Artist_ID, Venue_ID, Price)
VALUES (:Event_Date, :Artist, :Venue, :Price)');

$stmt->bindparam(':Artist', $artist, PDO::PARAM_STR);
$stmt->bindparam(':Venue', $venue, PDO::PARAM_STR);
$stmt->bindparam(':Event_Date', $_POST['Date'], PDO::PARAM_STR);
$stmt->bindparam(':Price', $_POST['Price'], PDO::PARAM_STR);
$stmt->execute();
$newId = $pdo->lastInsertId();
exit;

?>

关于php - 将文本值从下拉列表传输到其各自的数据库 ID - sql 插入和 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20809959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com