我理解用for
循环遍历MySQL表和通过if
语句提取数据(以及其他)。
但现在我正在努力更好地理解函数。因此,为了简单起见,作为我理解的参考点,这就是我习惯做的事情:
require 'get_member_email.php'//where $memberEmail is defined
$query = "SELECT * FROM TABLE WHERE SOMETHING='SOMETHING ELSE'";
$results = mysql_query($query);
foreach ($results as $data){
if ($memberEmail == $data['member_email']{
$id = $data['member_id'];
}
}
我通常会将该脚本存储在一个文件中,然后用require
调用我的网站(以及它上面的文件(其中定义了$memberEmail),然后通过调用这两个文件到我的网页
require 'get_member_email.php';// where $member email is defined
require 'get_memeber_id.php'; //where the code above is
echo "<h1>Your member ID is: $id</h1>";
1) 我该如何编写这些函数2) 这样做有什么好处吗?(而不仅仅是保持我的require
和for
循环)
1)好吧,你的问题是如何编写函数。
function loopFunction() {
require 'get_member_email.php';
$query = "SELECT * FROM TABLE WHERE SOMETHING='SOMETHING ELSE'";
$results = mysql_query($query);
foreach ($results as $data) {
if ($memberEmail == $data['member_email']{
$id = $data['member_id'];
}
}
}
通过这样做,你可以存储这个过程,并简单地通过调用它
loopFunction();
2) 是的,这样做有好处。既然你已经把它定义为一个函数,你就不必再创建这个过程了。你可以直接叫它。
当这个过程需要在其他情况下重复或重复使用时,这将使您受益。
您已经在数据库调用中获取了单个成员的所有数据。
require 'get_member_email.php'; // Define $memberEmail
// Select the member's data from the database
$query = "SELECT * FROM TABLE WHERE member_email = '".$memberEmail."'";
// Only need one member's data, so grab it.
$results = mysql_fetch_array($query);
$id = $results['id'];
注意:mysql
查询在较新版本的PHP中会贬值;请改用mysqli调用。