我有一个由Dreamweaver CS5创建的简单insert.php公式。我希望能够在此公式中将我的新闻标题输入到我的数据库中的“news_headline”列中,然后自动将此标题添加到“news_slug”列中,其中小写和空格转换为减号。
因此,如果我在表单的标题输入字段中输入“This is a headline”,它会在我的“news_headline”列中输入“This is a headline”,它会添加“this-is-a-headline”进入我的“news_slug”专栏。
到目前为止,我得到了以下代码:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$news_headline = $_POST['news_headline'];
$news_slug = str_replace(' ', '-', $news_headline);
$insertSQL = sprintf("INSERT INTO tbl_news (news_headline, news_slug) VALUES (%s, %s)",
GetSQLValueString($_POST['news_headline'], "text"),
GetSQLValueString($_POST['news_slug'], "text"));
基本休息
mysql_select_db($database_Jahrhundertkomet, $con);
$Result1 = mysql_query($insertSQL, $Jahrhundertkomet) or die(mysql_error());}
mysql_select_db($database_Jahrhundertkomet, $con);
$query_Jahrhundertkomet = "SELECT * FROM tbl_news";
$Jahrhundertkomet = mysql_query($query_Jahrhundertkomet, $con) or die(mysql_error());
$row_Jahrhundertkomet = mysql_fetch_assoc($con);
$totalRows_Jahrhundertkomet = mysql_num_rows($con);
mysql_free_result($con);
?>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">News_headline:</td>
<td><input type="text" name="news_headline" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Datensatz einfügen"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
但现在,当我在代码中输入标题时会收到错误:列'news_slug'不能为空。通过转换,我需要更改以从news_headline输入我的输入到news_slug?
答案 0 :(得分:0)
如果您只想替换分数的空格,可以使用str_replace:
此外,您使用的$_POST['news_slug'];
没有收到任何内容,因为您的表单中没有名为news_slug
的输入。
试试这个:
$news_headline = $_POST['news_headline'];
$news_slug = str_replace(' ', '-', $news_headline);
将这些行放在这一行之后:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {