Skip to content
Advertisement

External JS file engine — manipulating db using node.js? PHP?

Admittedly, I’m new to some of this…

Building a website on a local server. It has a ton of JS function in an external JS file.

Site has a MYSQL DB. (I am still learning this).

As part of my calculations from functions in that external JS file, I want to update and/or read from that DB.

I have been trying to read up on node.js and trying to read up on PHP (still learning both), but I’m not sure if I’m sniffing in the right direction.

Do I somehow invoke functions from node.js from the external JS file? Do I somehow invoke the PHP (in the form of a function, I suppose) from the external JS file?

How does one typically do this?

I have definitely learned that this in the external JS file does not do the trick. First window appears, but second doesn’t:

  //  Activate the node.js library for MYSQL access
alert("got here 1");
      var mysql = require('./mysql');
alert("got here 2"); // nope, this never pops up

Higher-level advice might be more useful than detailed in-the-weeds advice…? Still very new to this.

Thank you kindly!

-=-=-=-=-

self-muttering thoughts… I am using the external JS file to hold a bunch of functions that do all kinds of manipulation and conformation to the data that I collect on the front end:

<button class="ButtonOperation" onclick="DataLog(document.getElementById('DataWindow').value,'NE_AssembleOrder')">Log Data</button>

Am I eventually going to discover that I should instead port all of these functions over to a big PHP file instead?

-=-=-=-=-

Advertisement

Answer

Okay, took a while before I better understood this. So, this is the answer that would have gotten me moving in the right direction (for any future reference):

The thing to understand is that for this project, you want to manipulate data to and from a database, which means that (at least for now, for the sake of simplicity), the key is to get your data into a package and send it up to the server, and then have a function running on the server take up the yoke from there.

The way to do that (old school), is with a form.

When you SUBMIT a form, all that data on the form is bundled up and sent to the server.

In this instance you have an index.html page, and that page will open a new page for each of the functions you’re trying to track. Use JavaScript to pop open the window and then when you include the URL for the window, pop in a Popup_SpecificFunction.php file. (change SpecificFunction as needed)

So far, so good. 😉

Now, in that Popup_SpecificFunction.php, you will collect all your data under a single form. A good ol’ HTML form, with a [SUBMIT] button. That very same Popup_SpecificFunction.php file also has a reference in the header, referring to the big main library of PHP functions — which is a file sitting on the server.

That [SUBMIT] button invokes a ProcessAllThisData function — which is on the server-side PHP file. In doing this, it sends all the data from the form — including a lot of data you include in hidden controls — to the serverside function.

And at that point, you are basically “on the server” with all your data, and then you can just code that function in PHP and manipulate the database and other stuff as needed.

Using the form was the thought-jump you needed, because prior to this, you’ve generally thought of forms as standalone data, but they can have actions associated with the entire forms.

You can still use JavaScript to do client-side stuff, but here’s another thing that can trip a person up:

There is a difference between these two HTML items as far as whether or not you should use them to send data to and from the server, or whether or not you are just going to JavaScript something on that button:

<button></button>

and

<input type="button"></input>

You might have to experiment a bit to figure out which is which.

This was everything you needed to get you moving in the right direction.

Sincerely,

Future Me. 🙂

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement