[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 259
  • Last Modified:

Use js variable in PHP code

I have a simple looping structure that compares two date fields like this:

eventdate = $('#billed').val();
<?php
$prior = 0; 
foreach($details as $billdate) {
	foreach($billdate as $k) { 
		if (strtotime($k['BILLED']) <= strtotime('2011-01-01')) {
			$prior += $pcvat_cat[$k['BILLED']][$k['CAT']];  
		}
	}
} 
?>

Open in new window


Currently, one of the two dates is hard-coded to '2011-01-01'.  What I would like to do is to replace the static date with the js variable 'eventdate' which appears above the PHP.

Is this possible?  How can I use the js date inside the PHP code?  Thanks.
0
DanielAttard
Asked:
DanielAttard
  • 3
  • 2
2 Solutions
 
Mark BradyPrincipal Data EngineerCommented:
PHP is not able to read any javascript variables as php is interpreted on and by the server before the web page is rendered and before any javascript is interpreted by the browser. You can use a php variable in javascript but not the other way around. Is it possible to create your array in javascript so you can use the other js variables? That might be a better solution if it is possible in your case.
0
 
Dobromir YordanovCommented:
I'm backing up elvin66's suggestion to try to move the array to javascript but if that's completely impossible you could call a php file after a javascript has ran by calling the jquery ajax() function. I would however strongly recommend either moving the array to js or the generating the date variable you need in php itself. Don't go ajax unless you HAVE to
0
 
DanielAttardAuthor Commented:
Thanks for the comments.  You asked:

Is it possible to create your array in javascript so you can use the other js variables?

I'd like to do this, but don't know where to begin.  

How would I move the array to javascript?  Is this complicated?
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Dobromir YordanovCommented:
I don't think it would be that difficult if it's a static array but unfortunately it's not visible in the code snippet so I can't really tell you. Have you considered moving the event date to php instead? I believe it would be easier in your case. Where do you get that value from? Is it a static (as in hard-coded) or dynamic or user input? Unless it's chosen by the user, I'm pretty sure there is a very easy way to just move it to your php code (or at least copy its value). Notice that I'm not saying to get it from JavaScript to PHP but to get it to PHP way before it reaches JavaScript. Think if that's possible with your setup.
0
 
DanielAttardAuthor Commented:
Thanks again cp.  

Agreed, I would prefer to move the event date to php, but how to accomplish this?  Currently, the event date is set in javascript with this:

eventdate = $('#billed').val();

Open in new window


which is a reference to the date value contained in the following div:

   
<div>
        <input type="text" id="billed" name="billed" value="<?php echo date('Y-m-d'); ?>" readonly >
    </div>

Open in new window


This date value can be manipulated by the user.  

I thought about your question, whether it is possible to "get the date value to PHP way before it reaches JavaScript", and I don't think that this is going to be possible.  The date changes from time to time by the user, so I need to be able to pass that date value into my PHP at different times with different values.  Not sure what to try next . . .
xx
0
 
Dobromir YordanovCommented:
Well that doesn't work so it's time to try to move the array and loop to JavaScript for which we would need to take a look at a bigger chunk of your PHP code. If that also fails you have only one solution - refreshing page or asynchronous request, i.e. Ajax. I'll try to help you tomorrow but I don't know if elvin66 or someone else wouldn't like to help you meanwhile... I'll check back and help you if still needed. Take care!
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now