これらのtxtファイルを出力するとき、郡ファイルごとのカウント制限を使用して、一意の郡でグループ化しようとしています。たとえば、クエリがこのアクセス可能な結果フィールドに 2 つの一意の郡を返すとします: $row['county_txt']
..$per_file
制限を 2500 に設定したとします。スクリプトは現在、per_file などで機能していますが、郡のグループ化では機能していません。以下は、私がいる場所のマッシュです。これを解決するのに役立つガイダンスをありがとう。
出力例:
グリーン郡 - グリーン郡の合計結果 2900 の出力は 2 つのファイルになります。
出力ファイルは次のようになります。
緑-#1-20130627-2500.txt
緑-#2-20130627-400.txt
レッド郡 - レッド郡の合計結果 12650 出力は 5 ファイルになります。
出力ファイルは次のようになります。
赤-#1-20130627-2500.txt
赤-#2-20130627-2500.txt
赤-#3-20130627-2500.txt
赤-#4-20130627-2500.txt
赤-#5-20130627-150.txt
... // earlier part of script
// Functions I've been attempting
$county[] = $row['county_txt'];
function unique_county() {
foreach($county as $unq_cnty) {
echo $unq_cnty;
return $unq_cnty;
}
}
function get_unique_county() {
$column = array();
while($row = mysql_fetch_array($result)){
$column[] = array_unique($row['county_txt']);
echo $column;
}
}
get_unique_county();
$file_count = 1;
$recs = 0;
$per_file = 2500;
$footer = "FOOTER";
$default_contents = $contents = array("BODY CONTENT TOP");
while ($row = mysql_fetch_array($result)) {
$line = "...";
$contents[] = $line; // Each array element will be a line in the text file
$i++;
$recs++;
if ($county == $unq_cnty && $i == $per_file) {
$contents[] = $footer; // Add the footer to the end
file_put_contents($unq_county . "-#" . $file_count . "-" . date('Y') . "-" . $recs . '.txt', implode("\r\n", $contents));
$i = 0;
$recs = 0;
$contents = $default_contents;
$file_count++;
} // End of if()
} // End of while()