Concatenate two fields
5 posts by 2 authors in: Forums > CMS Builder
Last Post: September 14, 2011 (RSS)
I assume I will probably have to do a "left-join", but need some help with the code.
Any help appreciated!
Ragi
northernpenguin
Northern Penguin Technologies
"Any sufficiently advanced technology
is indistinguishable from magic."
........Arthur C. Clarke
Re: [northernpenguin] Concatenate two fields
By Dave - September 13, 2011
You mean in the CMS right? I think I know what you mean. Here's an example:
- Create a list field
- Set "List Options" to "Get options from MySQL query (advanced)"
- Use a query like this:
SELECT num, CONCAT(num, ' - ', email)
FROM `<?php echo $TABLE_PREFIX ?>accounts`
The first column value returned by the query is the value used in the database, the second value is the "label" displayed to the user. This loads users from the 'accounts' table and displays them like this "1 - dave@interactivetools.com".
Just switch the fieldnames and tablenames and it should work for you.
Hope that helps! Let me know how it goes.
interactivetools.com
Re: [Dave] Concatenate two fields
By northernpenguin - September 14, 2011 - edited: September 14, 2011
I am using the following code:
<form action="leagueDbDetails.php" method="post">
Choose a squadron:
<select name="sqn_num_match" size="1" style="width: 160px;">
<?php foreach ($sqnRecords as $record): ?>
<option value="<?php echo $record['sqn_num'] ?>"><?php echo $record['sqn_num'] ?> - <?php echo $record['sqn_name'] ?></option>
<?php endforeach; ?>
</select>
<input type="submit" value="Submit">
</form>
I added the code in red to allow me to see both the squadron number and its name on the same dropdown. Unfortunately, when I try to sort them in numerical order by squadron number, the result is something like this:
12 - squadron 1
125 - squadron 2
14 - squadron 3
etc...
It is treating the squadron number as text, therefore the sort order doesn't really work. Any ideas on how to fix this?
Ragi
northernpenguin
Northern Penguin Technologies
"Any sufficiently advanced technology
is indistinguishable from magic."
........Arthur C. Clarke
Re: [northernpenguin] Concatenate two fields
By Dave - September 14, 2011
The simple fix is to add +0 so mysql coverts it to a number:
'orderBy' => ' sqn_num+0 ',
Or another solution is to edit the field under: Admin > Section Editors > Field Editor and set the MySQL Column Type at the very bottom.
Let me know if either of those work for you.
interactivetools.com
Re: [Dave] Concatenate two fields
Ragi
northernpenguin
Northern Penguin Technologies
"Any sufficiently advanced technology
is indistinguishable from magic."
........Arthur C. Clarke