如何优化这段代码?是否可以成为一个查询?
此代码将我的广告信息提供到我的网站中。同时将我的按摩放入数据库然后调用它们是否正确?
$result1 = mysql_query( "SELECT * FROM msg WHERE type='container'" , $link);
while($end = mysql_fetch_assoc($result1)) {
$msg=$end['msg'];
$msg_class=$end['msg_class'];
$msg_container[]='<div class="'.$msg_class.'">'.$msg.'</div>';
}
$result2 = mysql_query( "SELECT * FROM msg WHERE type='leftbar'" , $link);
while($end = mysql_fetch_assoc($result2)) {
$msg=$end['msg'];
$title=$end['title'];
$msg_class=$end['msg_class'];
$msg_leftbar[]='<div class="'.$msg_class.'"><h2>'.$title.'</h2><hr />'.$msg.'</div>';
}
编辑: 如果一个查询有 ORDER BY RAND() LIMIT 1 ,像这样:
$result1 = mysql_query( "SELECT * FROM msg WHERE type='container' ORDER BY RAND() LIMIT 1" , $link);
其他还没有:
$result2 = mysql_query( "SELECT * FROM msg WHERE type='leftbar'" , $link);
现在我可以混合它们吗?
最佳答案
是的,你可以试试这个
$result = mysql_query( "SELECT msg, title, msg_class, type FROM msg WHERE type in ('container', 'leftbar' )" , $link);
while($end = mysql_fetch_assoc($result)) {
$msg = $end['msg'];
$msg_class = $end['msg_class'];
$title = $end['title'];
if ($end['type'] == 'container') {
$msg_container[]='<div class="'.$msg_class.'">'.$msg.'</div>';
}
if ($end['type'] == 'leftbar') {
$msg_leftbar[]='<div class="'.$msg_class.'"><h2>'.$title.'</h2><hr />'.$msg.'</div>';
}
}
关于php - 将两个查询优化为一个并将结果分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750234/