我是PHP的新手,我在两页上工作。 db中的表格如下:
CREATE TABLE tbl_module
(
module_id int,
module_name varchar(255)
);
INSERT INTO tbl_module
(module_id, module_name)
VALUES
(1,"001-erty"),
(2,"002-yuio"),
(3,"001-vbnm"),
(4,"003-hjkl"),
(5,"001-qwer"),
(6,"001-dfgh");
首页只是这样:
<input type="text" name="module_name">
<input type="submit" name="btn_save" value="Save">
<?php
if (!empty(isset($_POST["btn_save"])))
{
$project_type = $_POST["project_type"];
mysql_query ("INSERT INTO tbl_modules(module_name) VALUES('$module_name')");
?>
点击按钮后,我会看到第二页,我希望在这种输出中出现:
=============
HISTORY
-------------
001-erty
001-vbnm
001-qwer
001-dfgh
=============
RECENT INPUT
-------------
001-asdf
让我们假设我们最近的输入是&#39; 001-asdf&#39;。在HISTORY中,它仅显示与最近的模块匹配的模块。正如您在&#39; tbl_modules&#39;中看到的那样,模块不以&#39; 001 -...&#39;开头。没有出现在历史中。
我的问题是,我无法获得正确的查询,看起来就是这样。
答案 0 :(得分:1)
使用PHP爆炸功能
简单地分割您最近的输入$module_fname = explode('-',$module_name)[0];
然后
SELECT module_name FROM [tbl_module] WHERE module_name LIKE $module_fname.'%'
答案 1 :(得分:0)
不幸的是,由于我无法发表评论,我无法澄清你的期望。但是,我会回答我的理解。
您的表tbl_module没有自动增量字段。 如果包含它,可以有两个查询,我们可以用于您的方案。
&#34; SELECT project_name FROM tbl_module ORDER BY module_id LIMIT 10&#34; 。这里10表示您要在历史记录中显示的条目数。
至于最后一个&#34;最近的参赛作品&#34;是类似的东西,除了我们采用ORDER BY module_id DESC来获取最新的条目。
希望这会有所帮助。
编辑: - 我的第一个有一个轻微的错误,这是更新的: -
&#34; SELECT project_name FROM tbl_module ORDER BY module_id,project_name LIMIT 10&#34;