-2

私はPHPを初めて使用し、テストプロジェクトを持っています。

生成に時間がかかるので、コードをより効率的にしたいと思います。どうもありがとう、ナット

使用するコードは次のとおりです。

    $result1 = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS `Rows`, `1` FROM `things` GROUP BY  `1` ORDER BY RAND() LIMIT 0 , 1"));
    $result2 = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS `Rows`, `2` FROM `things` GROUP BY  `2` ORDER BY RAND() LIMIT 0 , 1"));
    $result3 = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS `Rows`, `3` FROM `things` GROUP BY  `3` ORDER BY RAND() LIMIT 0 , 1"));
    $result4 = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) AS `Rows`, `4` FROM `things` GROUP BY  `4` ORDER BY RAND() LIMIT 0 , 1"));

    echo $result1["1"];
    echo " ";
    echo $result2["2"];
    echo " ";
    echo $result3["3"];
    echo " ";
    echo $result4["4"];

    mysql_close($con);      
    ?>
4

1 に答える 1

0

私は誠意を持っており、使用したいメソッドを使用して可能な限り最良の方法で提示されたコードをクリーンアップしています。

<?

$count = 1;
$results = array();
for ($count; $count <= 4; $count++) {
  $query = sprintf("SELECT COUNT(*) AS `Rows`, `%d` FROM `things` GROUP BY  `1` ORDER BY RAND() LIMIT 1", $count)
  $results[] = mysql_fetch_assoc(mysql_query($query));
}

if (!empty($results)) {
  echo exlplode(" ", $results);
}

?>
于 2013-01-25T22:12:15.560 に答える