Combining Output from 2 mysql_select Calls?
5 posts by 2 authors in: Forums > CMS Builder
Last Post: August 24, 2016 (RSS)
By Perchpole - August 24, 2016
Hello, All -
Is it possible to combine the output from 2 mysql_select calls?
I am trying to create a drop-down select menu which would allow people to create a link to a page (category) or record. I need to grab the results from both tables and present them as one list.
I can do this in the backend using mySQL.
SELECT CONCAT('./', permalink) AS URL, CONCAT(name,' (Page)') AS LINK from cms_pages
UNION
SELECT CONCAT('?rec=', num) AS URL, CONCAT(name,' (Record)') AS LINK from cms_records
ORDER BY LINK
However, on a normal page it is proving more troublesome!
Any suggestions?
:0S
Perch
By Daryl - August 24, 2016
Hi Perch,
What were the problems when you tried to do it on a normal page?
Regards,
PHP Programmer - interactivetools.com
By Perchpole - August 24, 2016
Hi, Daryl -
I'm using this code on the a normal (front-end) page:
$allRecords = mysql_select('records'," hidden != '1' ");
$allPages = mysql_select('pages'," hidden != '1' ");
$result = array_merge_recursive($allRecords, $allPages);
It works - but my guess is it's a bit heavy.
Also, I would like to sort the $result alphabetically. The only snag is that records have "titles" and pages have "names"!
:0/
Perch
By Daryl - August 24, 2016
Yes, it will be heavy if both tables have lots of records.
It's a bit tricky to sort a combined multi-dimensional array.
So I'd like to suggest to use mysql_select_query() function, for example:
$urlsAndLinks = mysql_select_query("SELECT CONCAT('./', permalink) AS URL, CONCAT(name,' (Page)') AS LINK from {$GLOBALS['TABLE_PREFIX']}pages
UNION
SELECT CONCAT('?rec=', num) AS URL, CONCAT(name,' (Record)') AS LINK from {$GLOBALS['TABLE_PREFIX']}records
ORDER BY LINK");
Let me know how it goes.
Thanks,
PHP Programmer - interactivetools.com
By Perchpole - August 24, 2016
Ah. You see. A little (intelligent) light in dark places makes all the difference!
:0)