Avatar of DanielAttard
DanielAttard
Flag for Canada asked on

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.
JavaScriptPHPWeb Development

Avatar of undefined
Last Comment
Dobromir Yordanov

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Mark Brady

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
SOLUTION
Dobromir Yordanov

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
DanielAttard

ASKER
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?
Dobromir Yordanov

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.
DanielAttard

ASKER
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
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Dobromir Yordanov

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!