(转载:www.idcew.com)我是一个在PHP / MySQL的初学者,我最近尝试使用Dreamweaver设计PHP网站,但弄不好。我需要一个PHP脚本中,用户可以选择从一个表(通过形式)行,然后让脚本显示出来。我怎么在Dreamweaver中实现呢?下面是我写的代码:
好吧让工作,通过这一点,忘记DW,该代码是丑陋的(不是你的错在所有)。因此,这是形式
<form name="form1" method="POST" action="ouraction.php"> <p> id: <input name="id" type="text" id="id"> <p> manufacturer: <input name="manufacturer" type="text" id="manufacturer"> <p><input type="submit" name="submit" value="submit"> </form>
这似乎是一个用户可以输入一个ID和制造商,然后从该数据库的其他数据,它将被ouraction.php显示。
对不对? 和什么样的PHP版本是您使用?
正如你所看到的,我不会只给你的代码。也许我们可以做一些共同学习。 :)
形势很好的说明,绰绰有余启动。 所以,如果上面的表格中ourform.php是我们现在可以创建一个单独的脚本调用ouraction.php做加工。我不处理的形式,在相同的脚本。帮助停止双重张贴和其他怪异可能出现的问题。
基本结构ouraction.php
1。连接到MySQL 2。选择DB 3。构建表单值的mysql查询 4。从MySQL检索信息 5。显示,如果它的存在
教程 PHP MySQL函数[ca.php.net] - 所有的功能都在这里列出以下 PHP预定义变量[ca.php.net] - 在$ _POST和$ _GET数组访问寻找从表单发送的数据需要
1。连接到MySQL resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]])
这个函数返回一个连接标识到MySQL,我们可以使用它来与我们的数据库。如果此函数炸弹,这一切都结束了,因为我们无法交谈的分贝。
$host = "localhost"; $user = "mysqlusername"; $pass = "mysqlpassword";
$connection = mysql_connect($host,$user,$pass) or die (mysql_errno().": ".mysql_error()."<BR>"); 所以我们要通过连接主机(这里是localhost),用户名和密码,这是在变量中存储,给mysql_connect函数到MySQL和存储在变量$连接返回连接标识符。最后一部分是指定失败停止脚本,并显示我的错误数量和从MySQL返回错误的文字说明。
我用我的死语句都错误号和文本。如果错误的描述是模糊的,我可以随时搜索我的首选搜索引擎。
2。选择DB
假设我们现在已连接到MySQL,我们需要告诉它什么数据库使用。
bool mysql_select_db ( string database_name [, resource link_identifier])
$dbname = "ourdatabase"; mysql_select_db($dbname); 告诉MySQL使用的数据库名称$ DBNAME中。您会注意到link_identifier是一个可选参数。 MySQL的函数总是假定你的意思是他们使用的最后一个打开的标识符。你只需要通过link_identifier如果你有一个以上的连接对于任何给定的脚本打开。
3。构建表单值的mysql查询
至于去查询你将不得不自己熟悉MySQL的,但我们正在做的事情简单所以在这里你可以去[mysql.com ... ...]和读你的心的内容之后。
我总是在我建立我的查询传递给MySQL的功能。它给我的调试坏查询更多的选择。我们现在需要做一个选择查询使用的两个人到我们的表单中输入的字段。
我们的方法是设置形式发布,所以我们将要访问的值使用我们的输入栏位在$ _POST数组中的“名”。
$sql = "select * from ourtablename where id=" . $_POST['manufacturer'] . " and manufacturer='" . $_POST['manufacturer'] . "'"; echo $sql; 因为我们正在努力学习的东西在这里我使用echo显示变量的内容。在充分看到它会帮助您了解如何构建的。之间的字符串的某些部分时期是连接运算符。我们基本上是粘合的所有部分一起放入变量来创建一个长字符串,你将看到当你回音的变量的内容。
4。从MySQL检索信息
我们需要在MySQL的查询火灾。
resource mysql_query ( string query [, resource link_identifier]) 这将返回一个资源,所以我们需要把它转到一个变量。
$query = mysql_query($sql); 5。显示,如果它的存在
现在我们需要检索的资源信息。有可能,也可能不是,是任何数据存在。如何处理这部分是真的在寻找如何建立而定。您可以限制搜索仅搜索现有的制造商。为了简单起见,我们将假设我们找到了生产厂家,我们正在寻找。
array mysql_fetch_array ( resource result [, int result_type])
while ($row = mysql_fetch_array($query)) { echo "<p>",$row['id'],": ",$row['manufacturer'];
所以这是一个小的难度。 while循环将执行只要声明是真实的。因此,只要有一排用它做什么之间的{是}。在这种情况下,我们可能已经返回多行。如果我们回到5行,然后将循环5次,并显示5 ID和制造商。我们每次调用mysql_fetch_array它会抓住一个行,然后我们将处理该行并返回到顶部和做下一行了一遍。
$行将是一个数组,这就是为什么我们需要访问美元排在数组中的值['身份证'。我们正在寻找从id列或从制造商列的值。然后,我们只是呼应他们的浏览器。你可能会想要格式化他们比我做到了。
你也可以看到,我用回声的不同部分之间不点逗号。您可以使用点,但随后回声必须把它们放在一起,才可以吐出来。这样,它只是吐而成,自有其道理,是要快得多。
使叶片与此代码为我们的脚本我们
<? $host = "localhost"; $user = "mysqlusername"; $pass = "mysqlpassword"; $dbname = "ourdatabase";
$connection = mysql_connect($host,$user,$pass) or die (mysql_errno().": ".mysql_error()."<BR>"); mysql_select_db($dbname);
$sql = "select * from ourtablename where id=" . $_POST['manufacturer'] . " and manufacturer='" . $_POST['manufacturer'] . "'"; echo $sql;
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) { echo "<p>",$row['id'],": ",$row['manufacturer']; }
?> 您不需要关闭在最后连接,因为它会自动关闭,当脚本完成。
www.idcew.com (转载:www.idcew.com) |