gpt4 book ai didi

php - 如何将ID添加到另一个表?

转载 作者:行者123 更新时间:2023-11-30 23:44:38 25 4
gpt4 key购买 nike

我是新来的,不太熟悉 PHP 和 MySql。虽然我已经设法让一些东西工作(在一些 friend 的帮助下 ;-) 并且它可能有点困惑),但我现在被困住了。

情况是这样的;我有三张 table ;参与者、项目和访谈。

参与者表在采访开始时填写了我正在采访的人的详细信息。

项目表由我在采访中使用的一组主题组成。

并且采访表会在采访过程中填充数据。

有效的是我让系统在一组复选框、文本字段和选择框旁边的弹出页面中显示项目。输入表单字段的数据将添加到访谈表中。

我还需要的是将参与者的 ID 和 item 和 itemID 添加到访谈表中。有人可以帮帮我吗?

这是弹出页面的调用代码;

 <div class="communication">
<a href="popups/DeveloperCommunication.php" onclick="window.open('popups/DeveloperCommunication.php','communication', 'width=800,height=350,scrollbars=no,toolbar=no,location=no'); return false">
<?php
// get the records from the database
if ($result = $conn->query('SELECT Categories FROM categories WHERE ID="2"'))
{
// display records if there are records to display
if ($result->num_rows > 0)
{

while ($row = $result->fetch_object())
{
// set up a row for each record
echo $row->Categories;
}
}
// if there are no records in the database, display an alert message
else
{
echo "No results to display!";
}
}
// show an error if there is an issue with the database query
else
{
echo "Error: " . $conn->error;
}
?>
</a></a>
</div>

这是弹出页面的代码;

<?php
include '../../include/dbh.inc.php';
date_default_timezone_set('Europe/Amsterdam');
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Developer Communication</title>
<link href="../../css/chapterDeveloper.css" rel="stylesheet" type="text/css" media="screen">
</head>

<body>
<div class="popupTitle">
<p>Developer Communication</p>
</div>

<?php

$comment = "";

// connect to the database
$result = $conn->query('SELECT participant.ID, items.items, participant.yes, Participant.no, Participant.question, Participant.comment
FROM participant
RIGHT JOIN items ON participant.itemID=items.ID
WHERE items.role="DE" AND items.categorie="Communication"
ORDER BY items.items')

?>

<form method="post" action="../../include/func.participant.inc.php" onsubmit="refreshAndClose()">

<table>
<tr>
<!--<th></th>--><th>Items</th><th>Y</th><th>N</th><th>?</th><th>Comment</th><th>levels</th>
<?php
while ($row = mysqli_fetch_assoc($result)) {?>
</tr>
<tr>
<td>
<?php echo $row['items'] ?>
</td>
<td>
<input name="items[<?php echo $row['ID']; ?>][yes]" type="checkbox" value="yes" <?php if ($row['yes'] == "yes") echo "checked"; ?>/>
</td>
<td>
<input name="items[<?php echo $row['ID']; ?>][no]" type="checkbox" value="no" <?php if ($row['no'] == "yes") echo "checked"; ?>/>
</td>
<td>
<input name="items[<?php echo $row['ID']; ?>][question]" type="checkbox" value="question" <?php if ($row['question'] == "yes") echo "checked"; ?>/>
</td>
<td>
<textarea name="items[<?php echo $row['ID']; ?>][comment]" rows="1" cols="25" placeholder="comment"><?php echo $comment;?></textarea>
</td>
<td>
<select name="items[<?php echo $row['ID']; ?>][level]">
<option value="">Select...</option>
<option value="1">1. Starter</option>
<option value="2">2. Junior</option>
<option value="3">3. Intermediate</option>
<option value="4">4. Senior</option>
<option value="5">5. Expert</option>
<option value="6">6. Un Known</option>
<option value="7">7. Future</option>
<option value="8">8. Not relefant</option>
</select>
</td>
</tr>
<?php } ?>
</table>
<input type="submit" name="submit" value="Submit">

</form>

<?php
function refreshAndClose() {
window.opener.location.reload(true);
window.close();
} ?>
</body>
</html>

这是弹出页面中使用的函数;

<?php include 'dbh.inc.php'; ?>

<?php

var_dump($_POST); //met $_POST wordt de array met de verschillende items getoond

/*
* Je lust nu door deze array met items, en ieder item sla je op in de database obv de id
*/
foreach($_POST['items'] as $item) {
$query = "INSERT INTO interview (participantID, itemID, item, role, yes, no, question, comment, level)
VALUES ('DE', '11', '12', '13', '".mysqli_real_escape_string($conn, $item['yes'])."',
'".mysqli_real_escape_string($conn, $item['no'])."',
'".mysqli_real_escape_string($conn, $item['question'])."',
'".mysqli_real_escape_string($conn, $item['comment'])."',
'".mysqli_real_escape_string($conn, $item['level'])."',
)";
mysqli_query($conn, $query);

echo "<br>Record toegevoegd! ($query)<hr>";
}
#

位置 11 需要是参与者 ID,位置 12 需要是项目 ID,位置 13 需要是项目本身。

我希望有人能帮助我。

你好。

最佳答案

FWIW,我发现这更容易阅读和理解,但是查看这些表的 CREATE 和 INSERT 语句以及所需的结果会很有用。

SELECT p.ID
, i.items
, p.yes
, p.no
, p.question
, p.comment
FROM items i
LEFT
JOIN participant p
ON p.itemID = i.ID
WHERE i.role = "DE"
AND i.categorie = "Communication"
ORDER
BY i.items

顺便说一句,既有"is"又有“否”栏很奇怪

关于php - 如何将ID添加到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109940/

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