...

View Full Version : Problems combining JS, PHP and working with variables



musher
11-05-2006, 06:49 PM
I found a JS script and I'm having problems figuring out how to modify it to use a different input source and return a different output source.

Basically I want to pull a value from a field in MySQL and figure out the break down of that value (if you enter a value and press "Calculate Levels" you will see what I mean), but I need the results returned to a variable or an array.

I've read thru a lot of posts and havn't found any thing to help, I'm kind of under the impression that I may not be able to due this because of the Server/Client side script running and may have to set it up as a straight php solution, but have very little JS exp so not sure what going on in the script and still week in this area of PHP.

1. Is there a way to use $var_total as input rather then document.calc.org_total.value ($var_total will eventualy be a value from MySQL)
2. Is there a way to use $var_lvl_a as output rather then document.calc.a.checked (this will eventualy be an array)
3. If 1&2 is possible would some one with JS/PHP exp mind providing some help or If I cant do 1&2 would some one with JS/PHP exp mind giving me a hand converting this to a straight PHP solution.



<?php
$var_total = "53";
$var_lvl_a = "0";
$var_lvl_b = "0";
$var_lvl_c = "0";
$var_lvl_d = "0";
$var_lvl_e = "0";
$var_lvl_f = "0";
$var_lvl_g = "0";
$var_lvl_h = "0";
$var_lvl_i = "0";
$var_lvl_j = "0";
$var_lvl_k = "0";
$var_lvl_l = "0";
$var_lvl_m = "0";
$var_lvl_n = "0";
$var_lvl_o = "0";
$var_lvl_p = "0";
$var_lvl_q = "0";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Access Levels</title>
<script language=JavaScript>
function calcLevels() {
var mask = 1;
var lev = parseInt(document.calc.org_total.value);
if ( (lev & mask) != 0 ) document.calc.a.checked = true;
else document.calc.a.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.b.checked = true;
else document.calc.b.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.c.checked = true;
else document.calc.c.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.d.checked = true;
else document.calc.d.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.e.checked = true;
else document.calc.e.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.f.checked = true;
else document.calc.f.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.g.checked = true;
else document.calc.g.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.h.checked = true;
else document.calc.h.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.i.checked = true;
else document.calc.i.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.j.checked = true;
else document.calc.j.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.k.checked = true;
else document.calc.k.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.l.checked = true;
else document.calc.l.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.m.checked = true;
else document.calc.m.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.n.checked = true;
else document.calc.n.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.o.checked = true;
else document.calc.o.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.p.checked = true;
else document.calc.p.checked = false;
mask = mask << 1;
if ( (lev & mask) != 0 ) document.calc.q.checked = true;
else document.calc.q.checked = false;
}
// -->
</script>
</head>
<body>
<form name=calc method=POST>
<p>
00001 - <input type=checkbox name=a value=1><br />
00002 - <input type=checkbox name=b value=2><br />
00004 - <input type=checkbox name=c value=4><br />
00008 - <input type=checkbox name=d value=8><br />
00016 - <input type=checkbox name=e value=16><br />
00032 - <input type=checkbox name=f value=32><br />
00064 - <input type=checkbox name=g value=64><br />
00128 - <input type=checkbox name=h value=128><br />
00256 - <input type=checkbox name=i value=256><br />
00512 - <input type=checkbox name=j value=512><br />
01024 - <input type=checkbox name=k value=1024><br />
02048 - <input type=checkbox name=l value=2048><br />
04096 - <input type=checkbox name=m value=4096><br />
08192 - <input type=checkbox name=n value=8192><br />
16384 -<input type=checkbox name=o value=16384><br />
32768 - <input type=checkbox name=p value=32768><br />
65536 - <input type=checkbox name=q value=65536>
</p>
<p>
Enter value &nbsp;
<input type="text" name="org_total">
&nbsp;
<input type="button" value="Calculate Levels" onClick="calcLevels()">
</p>
</form>

<!-- New Section -->
<?php
echo '<p>' .
$var_lvl_a .'<Br />'.
$var_lvl_b .'<Br />'.
$var_lvl_c .'<Br />'.
$var_lvl_d .'<Br />'.
$var_lvl_e .'<Br />'.
$var_lvl_f .'<Br />'.
$var_lvl_g .'<Br />'.
$var_lvl_h .'<Br />'.
$var_lvl_i .'<Br />'.
$var_lvl_j .'<Br />'.
$var_lvl_k .'<Br />'.
$var_lvl_l .'<Br />'.
$var_lvl_m .'<Br />'.
$var_lvl_n .'<Br />'.
$var_lvl_o .'<Br />'.
$var_lvl_p .'<Br />'.
$var_lvl_q .'<Br /> </p>';
?>
</body>
</html>

Beagle
11-06-2006, 03:00 AM
So, you need some explanations first.

JavaScript and PHP do NOT interact in a programmatic way. PHP generates web page source code. JavaScript runs in the browser.

So, how do you get a variable from PHP to javascript? The variable has to be set in PHP before the page loads (that means you can't get the value from a select box to PHP without submitting a form), and then you have to generate the JavaScript code in PHP and echo it.



<?php
$var_total = "53";
$var_lvl_a = "0";
$var_lvl_b = "0";
$var_lvl_c = "0";
$var_lvl_d = "0";
$var_lvl_e = "0";
$var_lvl_f = "0";
$var_lvl_g = "0";
$var_lvl_h = "0";
$var_lvl_i = "0";
$var_lvl_j = "0";
$var_lvl_k = "0";
$var_lvl_l = "0";
$var_lvl_m = "0";
$var_lvl_n = "0";
$var_lvl_o = "0";
$var_lvl_p = "0";
$var_lvl_q = "0";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Access Levels</title>
<script language=JavaScript>
function calcLevels() {
var mask = 1;
var lev = <?php echo $var_total;?>


You'll also see shorthand for echo like this:

<?=$var_total;?>

it does the same thing as echo, just with fewer keystrokes.

I'm not really sure what you want to do with question 2, but hopefully this helps you along the way.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum