By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,851 Members | 1,121 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,851 IT Pros & Developers. It's quick & easy.

accessing PHP in JS code

P: n/a
i have some php code pulling some data from a database and i need to access
some of hte variables in java script. i've never done this before. how can
i do it.

eg. i'm loading a combo box from the database (this works fine). but, i'd
like to send some description data to a text area when user selects
something, from the combo using, JS. when they click a button they would go
to a website (this works fine for me as well)

any help would be appreciated,

tim
<?
require_once("login.php");
login();
mysql_select_db("krra");
$options = "select linkname,linkaddress, linkdesc from links order by
linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

$selsizequery = "select * from links";
$selsize = mysql_query($selsizequery);
$selectsize = mysql_num_rows($selsize);
echo "$selectsize links in this list: ";

echo "<select name = example size = $selectsize onChange=showtext()>";

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$optionval = stripslashes($optrow["linkname"]);
$optiongoto = stripslashes($optrow["linkaddress"]);
echo "<option value=$optiongoto>$optionval</option>";
echo "<br>";

}
echo "</select>";

?>
</p>
<p align="left">
&nbsp;<script language="javascript">
<!--

var shortcut=document.combowithtext
var descriptions=new Array()

//extend this list if neccessary to accomodate more selections

<?
require_once("login.php");
login();

mysql_select_db("krra");
$options = "select linkdesc from links order by linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$descript = stripslashes($optrow["linkdesc"]);

}
?>

descriptions[0]="description of data from combo selection 1"
descriptions[1]="description of data from combo selection 2."
descriptions[2]="description of data from combo selection"
descriptions[3]="description of data from combo selection ."
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
function gothere(){
location=shortcut.example.options[shortcut.example.selectedIndex].value
}

function showtext(){
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
}
//-->
</script></p>

</form>
<p><input type="button" value="Go!" onClick="gothere()" style="float:
left"></p>

</body>
</html>
Jul 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Tim Blackwell wrote:
i have some php code pulling some data from a database and i need to access
some of hte variables in java script. i've never done this before. how can
i do it.

eg. i'm loading a combo box from the database (this works fine). but, i'd
like to send some description data to a text area when user selects
something, from the combo using, JS. when they click a button they would go
to a website (this works fine for me as well)

any help would be appreciated,

tim
<?
require_once("login.php");
login();
mysql_select_db("krra");
$options = "select linkname,linkaddress, linkdesc from links order by
linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

$selsizequery = "select * from links";
$selsize = mysql_query($selsizequery);
$selectsize = mysql_num_rows($selsize);
echo "$selectsize links in this list: ";

echo "<select name = example size = $selectsize onChange=showtext()>";

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$optionval = stripslashes($optrow["linkname"]);
$optiongoto = stripslashes($optrow["linkaddress"]);
echo "<option value=$optiongoto>$optionval</option>";
echo "<br>";

}
echo "</select>";

?>
</p>
<p align="left">
&nbsp;<script language="javascript">
<!--

var shortcut=document.combowithtext
var descriptions=new Array()

//extend this list if neccessary to accomodate more selections

<?
require_once("login.php");
login();

mysql_select_db("krra");
$options = "select linkdesc from links order by linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$descript = stripslashes($optrow["linkdesc"]);

}
?>

descriptions[0]="description of data from combo selection 1"
descriptions[1]="description of data from combo selection 2."
descriptions[2]="description of data from combo selection"
descriptions[3]="description of data from combo selection ."
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
function gothere(){
location=shortcut.example.options[shortcut.example.selectedIndex].value
}

function showtext(){
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
}
//-->
</script></p>

</form>
<p><input type="button" value="Go!" onClick="gothere()" style="float:
left"></p>

</body>
</html>


what's wrong with

<?php
// get "items" from MySQL database
// javascript source code
print "var arrayFoo = {'item2','item3','item4','item5','item6'};";
?>

You could put all the data in a separate javascript file if you want to
and call it from the HTML page like so

<script language="JavaScript" src="js_vars.php"
type="text/javascript"></script>

Even easier, use the "Heredoc" syntax
http://www.php.net/manual/en/language.types.string.php

$str = <<<EOD

var arrayFoo = {'item2','item3','item4','item5','item6'};
// more javascript goes here

EOD;

Jul 17 '05 #2

P: n/a
A simple way is to dump the text into a bunch of hidden fields.
Inserting the variable into the Javascript is a little harder, since
you need to correctly escape slashes, quotes, and line-breaks.

<?

$js_descr_array = array();
for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$descript = stripslashes($optrow["linkdesc"]);
$js_descr_array[i] = '"' . addcslashes($descript, "\r\n\"\\") .
'"';
}
?>

<script>

var descriptions = [<?php implode(',' $js_descr_array); >];

</script>
"Tim Blackwell" <ti**********@hotmail.com> wrote in message news:<bp**********@knot.queensu.ca>...
i have some php code pulling some data from a database and i need to access
some of hte variables in java script. i've never done this before. how can
i do it.

eg. i'm loading a combo box from the database (this works fine). but, i'd
like to send some description data to a text area when user selects
something, from the combo using, JS. when they click a button they would go
to a website (this works fine for me as well)

any help would be appreciated,

tim
<?
require_once("login.php");
login();
mysql_select_db("krra");
$options = "select linkname,linkaddress, linkdesc from links order by
linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

$selsizequery = "select * from links";
$selsize = mysql_query($selsizequery);
$selectsize = mysql_num_rows($selsize);
echo "$selectsize links in this list: ";

echo "<select name = example size = $selectsize onChange=showtext()>";

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$optionval = stripslashes($optrow["linkname"]);
$optiongoto = stripslashes($optrow["linkaddress"]);
echo "<option value=$optiongoto>$optionval</option>";
echo "<br>";

}
echo "</select>";

?>
</p>
<p align="left">
&nbsp;<script language="javascript">
<!--

var shortcut=document.combowithtext
var descriptions=new Array()

//extend this list if neccessary to accomodate more selections

<?
require_once("login.php");
login();

mysql_select_db("krra");
$options = "select linkdesc from links order by linknum";
$optres = mysql_query($options);
$opt_results = mysql_num_rows($optres);

for ($i=0; $i <$opt_results; $i++)
{
$optrow = mysql_fetch_array($optres);
$descript = stripslashes($optrow["linkdesc"]);

}
?>

descriptions[0]="description of data from combo selection 1"
descriptions[1]="description of data from combo selection 2."
descriptions[2]="description of data from combo selection"
descriptions[3]="description of data from combo selection ."
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
function gothere(){
location=shortcut.example.options[shortcut.example.selectedIndex].value
}

function showtext(){
shortcut.text.value=descriptions[shortcut.example.selectedIndex]
}
//-->
</script></p>

</form>
<p><input type="button" value="Go!" onClick="gothere()" style="float:
left"></p>

</body>
</html>

Jul 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.