У меня есть обновленный код. В старом коде у меня было 2 функции: display_maker_success()
и display_maker_fail()
, но я понял, что могу объединить эти две функции в один display_maker_stat()
, добавив больше аргументов в функцию. Мне это очень нравится!повторное использование кода PHP. Есть ли лучший способ сделать это?
Это лучший способ сделать это? Я хочу больше повторного использования кода.
function display_maker_success($link, $userid){
$status="closed";
$result="completed";
$sql = "select start, name from wuuk where tasker_id ='$userid' and status ='$status' and result ='$result' order by id desc LIMIT 6;";
$result = mysql_query($sql, $link);
$isempty=mysql_num_rows($result);
If ($isempty ==0) {
echo "No Record";
} else {
echo "<table border=1>";
echo "<tr><th>Date & Time</th><th>Name</th><th>Status</th></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>Completed</td></tr>";
};
echo "</table>";
};
};
function display_maker_fail ($link, $userid) {
$status="closed";
$result="fail";
$sql = "select start, name from wuuk where tasker_id ='$userid' and status ='$status' and result ='$result' order by id desc LIMIT 1;";
$result = mysql_query($sql, $link);
$isempty=mysql_num_rows($result);
If($isempty ==0){
echo "No Record";
} else {
echo "<table border=1>";
echo "<tr><th>Date & Time</th><th>Name</th><th>Status</th></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>fail</td></tr>";
};
echo "</table>";
};
};
function display_maker_stat ($link, $userid, $reuslt, $limit) {
$status="closed";
$result="fail";
$sql = "select start, name from wuuk where tasker_id ='$userid' and status ='$status' and result ='$result' order by id desc LIMIT 1;";
$result = mysql_query($sql, $link);
$isempty=mysql_num_rows($result);
If($isempty ==0){
echo "No Record";
} else {
echo "<table border=1>";
echo "<tr><th>Date & Time</th><th>Name</th><th>Status</th></tr>";
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$result</td></tr>";
};
echo "</table>";
};
};
Я не понимаю, почему нет ... Вы всегда можете улучшить код повторно практичности, будучи более объектно-ориентированный –
Я думаю, что такой вопрос может быть лучше подходят для HTTP: //codereview.stackexchange.com. Хотя вам, вероятно, следует прекратить использование [устаревшей библиотеки mysql] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) и убедитесь, что ваш код не уязвим до [SQL injection] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) перед тем, как отправиться туда, иначе вы можете просто утонуть в предложениях об этом. .. (Не поймите меня неправильно, однако, я думаю, что это хороший вопрос, чтобы спросить, и это здорово, что вы хотите улучшить свой код, как это.) –