I have some code that essentially does what I want but I always like to make it simpler and more efficient whenever possible so here I am.
Basically, I have a list of pages that each run an SQL query and pull X number of relevant records, appending each one to the former by saving to a text file that's then reopened for further processing, like so:
foreach($pages as $page){
$fp = fopen("$page.txt", 'w');fclose ($fp);
$result = $db->query("SELECT X, Y, Z FROM Table WHERE Pages LIKE '%$page%'");
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$v = $row['X'].'|'.$row['Y'].'|'.$row['Z'].';';
file_put_contents("$page.txt", $v, FILE_APPEND);
}
$data = file_get_contents("$page.txt");
$data = explode(';', $data);
}
Now while that gets the job done I was wondering what would be the better way of doing it, I've tried messing around with mixed results, was hoping this would work but it generates an error:
foreach($pages as $page){
$result = $db->query("SELECT X, Y, Z FROM Table WHERE Pages LIKE '%$page%'");
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$v = $row['X'].'|'.$row['Y'].'|'.$row['Z'].';' . $v;
$r = array("$page"=>"$v");
}
$data = join($r["$page"]);
$data = explode(';', $data);
}
Any ideas? Thanks