之前在这些网站上有一个类似的问题,但我的变化有点我想在函数内做一段时间(另一个没有要求)。
我想要做的是在我的网站的不同部分运行不同的SELECT查询,所以为了避免重复那些类似版本的SELECT查询,我想在functions.php文件中创建一个为我做这个的函数。所以我想在functions.php文件中执行这些操作:
function imasde($level) {
/* $level is to select custom tables for different pages not just the same table */
$value = "";
$sql = "SELECT * FROM labs WHERE level = $level";
$resu = mysql_query($sql);
$row = while( $fila=mysql_fetch_array($resu));
$value = $row;
return $value;
}
所以在HTML模板上我都把这些代码用来使用这个函数。
<?php echo imasde('Medium'); ?>
<div class="task medium"> /*It should loop the different values on the Selected tables not just one value */
<div class="title"><?php echo $value["name"]; ?></div>
<div class="date"><?php echo $value["category"]; ?></div>
</div>
当然有一个错误,因为它没有工作,抱歉,如果它听起来很愚蠢的查询,但我已经失去了对后端编码的练习一段时间,也使用WordPress少量编码来完成一个高级主题和插件...
如果可能的话,请向我解释一下我做错了什么。
答案 0 :(得分:1)
建议:在弃用时停止使用mysql_*
功能(了解更多here)
相反,请考虑使用mysqli_*
functions或PDO
对于你的问题,你基本上一直在设置相同的值。然后处理它作为$row
不是数组的数组来解决这个问题,您可以将它用作这样的数组:
function imasde($level)
{
/* $level is to select custom tables for different pages not just the same table */
$value = "";
$sql = "SELECT * FROM labs WHERE level = $level";
$resu = mysql_query($sql);
// Declare the rows array
$rows = array();
// Insert each row to the array
while($row = mysql_fetch_array($resu))
$rows[] = $row;
// Return the array
return $rows;
}
然后:
$rows = imasde('Medium');
foreach($rows as $row)
{
echo '<div class="task medium">';
echo '<div class="title">'. $row["name"] .'</div>';
echo '<div class="date">'. $row["category"] .'</div>';
echo '</div>';
}