我有SQL查询到结果表:
$php_variable_answer = "SELECT
answer_id
FROM result
WHERE question_id = $php_variable_question";
比查询转到答案表并得到答案:
$php_variable_answer = "SELECT answer
FROM answer_table
WHERE answer_id = $php_variable_answer";
我的网站上有20个php文件。我每次都使用这三个查询来获得至少5或8个文件的答案。
我的问题:
答案 0 :(得分:3)
简短的回答是,重复使用代码是一个好主意,您可以越有效地重复使用更好的东西。 (更容易进行更新,保持一致等)如果您重复使用相同的查询或相同的PHP,请将可重用的部分移动到适当命名的文件,如database.php
。然后,将此行添加到任何需要查询功能的文件的顶部:
require_once('database.php');
这将使您现有的函数和查询可用,因此您不必在每个新的PHP文件中重写它们。
如果您的PHP文件开始增长,您可能希望开始研究使用框架来保持组织有效性的好处。框架是您可以使用的代码库,它将鼓励您保持井井有条并为您提供一些现有代码。我喜欢使用的PHP框架是CodeIgniter,还有许多其他可用的框架。
答案 1 :(得分:0)
最好把它放到一个函数中(然后在你需要的地方包含那个函数)
你的SQL也很容易不需要2个查询..
SELECT at.answer FROM result AS r
LEFT JOIN answer AS at ON (at.answer_id = r.answer_id)
WHERE r.question_id = $php_variable_question
如果您事先知道question_id,可以执行类似
的操作SELECT at.answer FROM result AS r
LEFT JOIN answer AS at ON (at.answer_id = r.answer_id)
WHERE r.question_id IN (1,2,3);
答案 2 :(得分:-1)
为了简单起见,您可以随时创建一个帮助文件,其中包含您用于这些查询的函数。示例:
<?php
/* qa_helper.php */
function get_question($q_id){
// connect to db...
return mysql_result(mysql_query('SELECT answer_id from result where question_id = ' . $q_id),0);
}
function get_answer($a_id){
// connect to db...
return mysql_result(mysql_query('SELECT answer from answer_table where answer_id = ' . $a_id),0);
}
然后在您的文件中,您只需引用它:
<?php
include_once('qa_helper.php');
$answer = get_answer(123);
}
这是旧式程序PHP的方式。我建议您查看Object-oriented MVC框架来整理代码。像CodeIgniter这样简单。