JQuery :: MySQL PHP Associative Array To Via JSON?
Jun 5, 2009
Your table-driven application has a MySQL table on the server side and you want a Javascript associative array on the client side to do rapid look-ups.For example: My application uses the value selected from the form’s drop-down menu to choose which other form fields to hide or show. This choice of a 'Long Form' is table-driven from product data in a MySQL table.
Convert the MySQL table to an associative array in JavaScript.I am using the jQuery library to manage the presentation and form validation on the client side and PHP and MySQL on the server side.Since a JavaScript Object is an associative array and the MySQL table is being used as a look-up table (associative array) I use the PHP function json_encode to create a JSON string - JSON is JavaScript Object Notation - on the server which is then evaluated as a JavaScript Object on the client. The two parts (server and client) of the code are listed below.All very straightforward then. So why the blog?This is what I do (here's the PHP code):
As a newcomer to jQuery this is a good opportunity to show my appreciation to John Resig and the people that have contributed to the jQuery library ... not forgetting those who have integrated all the MySQL and JSON stuff into PHP. It's all very neat ... when you get to understand it!You could just eval(data) to turn the JSON string into a JavaScript Object (a.k.a. associative array), but JSON.parse protects your code against evaluating malicious scripts that could be embedded in the JSON string. This function is found in the json2.js downloadable until included in native browser JavaScript engines.The PHP Booleans translate automatically into JavaScript Boolean types.
[Skip this: My application has a MySQL table of product categories that tell me whether I need to present the administrator with a long form or a short form in the HTML. So, as products are added over time, I want to the administrator to choose whether a new product category can take the short form plus some default values or will require the explicit input of all product values in the long form. As the administrator assigns a category to a new product - and changes his mind half a dozen times - I don’t want to keep on going to the server to do the look-up but want to have the table in Javascript to keep the form presentation responsive. Also, the MySQL tables are on a third party’s server remote from the web server.]
I want to create an associative array dynamically pulling the index values from an array (propertyArray); Associative array is created inside create function and then returned. But after it is returned, I cant use index names to retrieve values. It returns undefined as below code shows.
Code JavaScript:
var propertyArray=["a","b","c"]; function create(){ var array=[];
I am building a customised javascript prototype to sort an associative array on the array key (in ascending order). Basically, I am separating the array keys into a separate array and then using .sort() to sort the keys and then reassembling the original associative array elements according to the sorted keys array.
The sorting works ok except that when I run the test code below, the outputed sorted associative array has an extra element at the end of the array whose key is the name of the prototype function and the value for that element is the function code itself. Obviously I am misunderstanding something about associative arrays or how javascript prototypes work.
New to javascript here. I'm trying to do something that would be very easy to do in php, but is quite hard in javascrpit due to the lack of support of associative array.
[Code]...
push() to add clickedElementId as a value associated to a numeric key, but then how would you remove a specific element from the array? How would you approach such a typical algo in javascript? Regards,
This does not give any error but the alert says "joker" instead of "king". Is there anything wrong with my code or is an Object something that just can not be used as a key.
If it is the latter can someone please suggest another way for me to do it? Can I use a concatenated String instead of an object? My only problem then is how would I extract the values from the String, does JavaScript have a tokenizer method like Java?
am just trying to learn javascript and my friend gave me a little assignment to try and figure out. i am having trouble figuring it outbasically i just want to display the information in my associative array, into an html table.
var NFC_east = new Array(); NFC_east[0]=["Giants", 16, 0, "Eli Manning"]; NFC_east[1]=["Cowboys", 0, 16, "Tony Romo"];
I'm trying to create a multi-dimensional associative array that has some of its data created dynamically. The code I've currently got is as follows (using JQuery to retrieve form element values):
Code JavaScript:
var data = { label: $('#label').val(), child_float: function() {
[code]....
.. if its values were not being created dynamically. However as you can tell that isn't what is being generated at the moment, as there's no opening/closing brace before/after the child_float's member variables. Any ideas what changes I need to make in order make the child_float behave as intended?
I'm trying to create an associative array in javascript from within the loop that sets up my html table. I can't get my head around assigning the associative key-value pair (probably not the best way of putting it). I've written the below in php. What's the equivalent in javascript? The => is the part that's baffling me.
I have been working on this issue for a couple of days. I have image names stored in my mysq. database. I need to somehow get those image names from the mysql database to a jquery array.Here is what I have so far.
[code]My problem is simply that i have say 5 columns in the database placing the jquery script in that section allows that to be on each and every post. That works fine. the problem is though only the first one works the rest do not. It simply just doesn't have any action while the first one works fine.
I've a function build in PHP that return this JSON: [URL]. In the HTML page where this PHP function is called via jQuery AJAX I have this code: [URL], this populate two select as you notice, something like this: [URL], But I need the same but in this way: [URL] value come from Json array position.
I am writing this code <script type="text/javascript"> $(document).ready(function() { var obj = jQuery.parseJSON('{"a":"sss","b":"sss","question":"whi?"}'); //alert(obj.question); }); </script> How could I know how many objects variable obj has?