gpt4 book ai didi

php - 使用 MySQL 和 PHP 表单将数据插入关系数据库

转载 作者:行者123 更新时间:2023-12-01 00:55:42 25 4
gpt4 key购买 nike

我有一个包含 3 个表的 MySQL 数据库:articles、tags 和 articles_tags

每个架构如下:

文章:id - 文章标题 - 文章组织 - 文章日期 - 文章 url

标签:id - 标签内容

文章标签:id - article_id - tag_id

我还有 2 个 PHP 表单:addnew.php 和 edit.php

这个问题特别涉及 addnew.php,但它也与 edit.php 有关。

addnew.php 中的表单按照其名称的含义在数据库中创建新条目。目前它使用一些文本输入字段和 2 个复选框。因此,例如,我可以将文章的标题、作者、URL 和访问日期插入到 articles 表中,同时还将标签(通过选中一个或两个复选框)插入到 < strong>tags 表。我无法弄清楚的是如何使这些表与第三个表相交?我在网上四处寻找,但似乎找不到我需要的东西。

下面是 addnew.php 的引用代码:

    <?php
function renderForm($articletitle, $articleorganization, $articledate, $articleurl, $articletags )
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
. . .
</head>

<body>

<div class="container">
<div class="header">
. . .
</div>
<div class="sidebar1">
. . .
</div>
<div class="content">
<div id="stylized" class="myform">
<form id="form" name="form" action="" method="post">
<h1>Create a new entry in the database</h1>
<table width="100%" border="0" cellpadding="6">
<tr>
<td colspan="2"><legend>Article details</legend></td>
</tr>
<tr>
<td width="20%" align="right"><span class="field">Article Title:</span></td>
<td width="80%" align="left"><span class="field">
<input name="articletitle" type="text" value="<?php echo $articletitle; ?>" size="50"/>
</span></td>
</tr>
<tr>
<td align="right"><span class="field">Article Author:</span></td>
<td align="left"><span class="field">
<input name="articleorganization" type="text" value="<?php echo $articleorganization; ?>" size="50"/>
</span></td>
</tr>
<tr>
<td align="right"><span class="field">Access Date:</span></td>
<td align="left"><span class="field">
<input name="articledate" type="text" value="MM/DD/YYYY" size="50"/>
</span></td>
</tr>
<tr>
<td align="right"><span class="field">Article URL:</span></td>
<td align="left"><span class="field">
<input name="articleurl" type="text" value="<?php echo $articleurl; ?>" size="50"/>
</span></td>
</tr>
<tr>
<td align="right"><span class="field">Article Tags:</span></td>
<td align="left"><span class="field">
<input type="checkbox" name="articletags[]" value="geology" id="articletags_0" />
<input type="checkbox" name="articletags[]" value="astronomy" id="articletags_1" />
</span></td>
</tr>
</table>
<footer><input type="submit" name="submit" value="Add this Article"></footer>
</form>
</div>
<div class="footer">
. . .
</div>
</body>
</html>
<?php
}

include('settings.php');

if(count($articletags) > 0)
{
$articletags_string = implode(",", $articletags);
}

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

$articletitle = mysql_real_escape_string(htmlspecialchars($_POST['articletitle']));
$articleorganization = mysql_real_escape_string(htmlspecialchars($_POST['articleorganization']));
$articledate = mysql_real_escape_string(htmlspecialchars($_POST['articledate']));
$articleurl = mysql_real_escape_string(htmlspecialchars($_POST['articleurl']));
$articletags = implode(',', $_POST['articletags']);


if ($articletitle == '' || $articleorganization == '')
{

$error = 'ERROR: Please fill in all required fields!';


renderForm($articletitle, $articleorganization);
}
else
{

mysql_query("INSERT INTO articles SET articletitle='$articletitle', articleorganization='$articleorganization', articledate='$articledate', articleurl='$articleurl' ");
mysql_query("INSERT INTO articles_tags SET articletags='$articletags' ")


or die(mysql_error());


header("Location:addsuccess.php");
}
}
else

{
renderForm('','','','','');
}
?>

最佳答案

您可以使用 mysql_insert_id 来检索查询中的最后一个插入 ID。

mysql_query("INSERT INTO articles SET articletitle='$articletitle', articleorganization='$articleorganization', articledate='$articledate', articleurl='$articleurl' ");
$article_id = mysql_insert_id();
mysql_query("INSERT INTO tags SET articletags='$articletags' ");
$tag_id = mysql_insert_id();

关于php - 使用 MySQL 和 PHP 表单将数据插入关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096790/

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