Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Javascript - Fill text value from radio button select

Posted on 2010-11-14
7
Medium Priority
?
656 Views
Last Modified: 2012-05-10
This is a combination of 2 questions previously asked.

I want the selection of one radio button to add a mysql query to the text box below. I've gotten to the point that one query (#2), while filling the input > text > value of the php/html source, does not appear in the text box.

The further issue is how the query gets processed by php and then mysql. At this point , the 2nd query reports 1065, empty query, after inserting and submitting the code below thru the php script. The same code, returns 19 rows in phpMyAdmin.

.
SELECT a.email1, a.empNum, b.runTime FROM User a, NonRev_Check_in b WHERE b.runTime LIKE '%11-14%' AND a.empNum = b.empNum

Open in new window


Here's a shortened version of the php script.

$query_1 = "SELECT email1 FROM User WHERE empNum = 354";
$query_2 = "SELECT a.email1, a.empNum, b.runTime FROM User a, NonRev_Check_in b WHERE b.runTime LIKE '\%11-14\%' AND a.empNum = b.empNum";
$query_3 = "SELECT email1, listingPhone FROM User WHERE empNum = 354";

if ( $_POST['submit']
{
   $connect = mysql_connect ( $host, $db_user, $db_password );
   mysql_select_db ( $database );

   if ( isset ( $_POST['query'] ) )
   {
      $query = mysql_real_escape_string ( $_POST['query'] );
   }
   echo $query . "<br />";
}

<form name="query" action="/admin/email.php" method="post">
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_1 ?>';" /> Email &nbsp;
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_2 ?>';" /> Check-in &nbsp;
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_3 ?>';" /> Phone &nbsp;
   <br />
   Query: &nbsp; 
   <input type="text" id="query" size="50" name="query" value="" />
   <input type="submit" name="submit" value="Submit" />
</form>

Open in new window


Thanks for looking.

0
Comment
Question by:dolan2go
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 20

Expert Comment

by:Mark Brady
ID: 34132033
From looking at your code it looks correct. Try moving the semi-colon from the 3 lines starting with

   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_1 ?>';" /> Email &nbsp

move the ; so it should look like this:

   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_1; ?>'/>" Email &nbsp

I moved the semi colon to the end of the print statement so it should run properly. I also change the location of your closing /> at the end of the input field. Anyway, do that to all 3 line of code and try it again.

<?php
print $query_1;
?>
0
 
LVL 3

Expert Comment

by:Prograministrator
ID: 34132797
Hello,

Find no way to escaping illegal character problem that found in your 2ed query,

except this way :

<?php
$query_1 = "SELECT email1 FROM User WHERE empNum = 354";
$query_2 = "SELECT a.email1, a.empNum, b.runTime FROM User a, NonRev_Check_in b WHERE a.empNum = b.empNum AND b.runTime LIKE";
$query_3 = "SELECT email1, listingPhone FROM User WHERE empNum = 354";

if ( $_POST['submit'])
{
   $connect = mysql_connect ( $host, $db_user, $db_password );
   mysql_select_db ( $database );

   if ( isset ( $_POST['query'] ) )
   {
      $query = mysql_real_escape_string ( $_POST['query'] );
   }
   echo $query . "<br />";
}
?>
<script>
var test = "'% 11-14 %';";
</script>
<form name="query" action="" method="post">
    <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_1; ?>'" > Email &nbsp;
    <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_2; ?>'+test" > Check-in &nbsp;
    <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_3; ?>'" > Phone &nbsp;
   <br />
   Query: &nbsp; 
   <input type="text" id="query" size="50" name="query" value="" />
   <input type="submit" name="submit" value="Submit" />
</form>

Open in new window


Of course, it's not a professional way but since you are viewing your queries for users, so I assume that it's a good way for you and doing what you want.
0
 
LVL 1

Author Comment

by:dolan2go
ID: 34133099
@elvin66,

Your suggestion didn't change the non-visible #2 query. I didn't follow it with the multiple single and double quotes. The suggestion seems to put them out of order, at the end of the javascript in the input tag.

@Prograministrator,

The end of the query (for #2) is now: .....LIKE [object HTMLInputElement]

Thanks to both for suggestions.

The issue is the % in the query.

I am still looking for an solution and then on to whether the mysql query works.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 3

Expert Comment

by:Prograministrator
ID: 34133198
What's your browser?

because, I tested it on Firefox and chrome and it worked fine.

Place your final tested code please.
0
 
LVL 13

Accepted Solution

by:
dsmile earned 2000 total points
ID: 34135103
Your second query should be like this

$query_2 = "SELECT a.email1, a.empNum, b.runTime FROM User a, NonRev_Check_in b WHERE b.runTime LIKE \'\%11-14\%\' AND a.empNum = b.empNum";

Single quotes in the query must be escaped or it will break generated html code
0
 
LVL 13

Expert Comment

by:dsmile
ID: 34135143
This is working code
<?php
$query_1 = "SELECT email1 FROM User WHERE empNum = 354";
$query_2 = "SELECT a.email1, a.empNum, b.runTime FROM User a, NonRev_Check_in b WHERE b.runTime LIKE \'\%11-14\%\' AND a.empNum = b.empNum";
$query_3 = "SELECT email1, listingPhone FROM User WHERE empNum = 354";


if ( $_POST['submit'])
{
	$host = 'localhost'; $db_user = 'root'; $db_password = '';
	$database = 'test';
   $connect = mysql_connect ( $host, $db_user, $db_password );
   mysql_select_db ( $database );

   if ( isset ( $_POST['query'] ) )
   {
      $query = mysql_real_escape_string ( str_replace("\'", "'", $_POST['query'] ));
   }
   echo $query . "<br />";
}
?>
<form name="query" action="?" method="post">
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_1 ?>';" /> Email &nbsp;
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_2 ?>';" /> Check-in &nbsp;
   <input type="radio" name="que" onclick="if(this.checked)document.getElementById('query').value='<?php print $query_3 ?>';" /> Phone &nbsp;
   <br />
   Query: &nbsp; 
   <input type="text" id="query" size="50" name="query" value="" />
   <input type="submit" name="submit" value="Submit" />
</form>

Open in new window

0
 
LVL 1

Author Closing Comment

by:dolan2go
ID: 34136624
dsmile,

Your suggestion is right on.

Thank you.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A while back, I ran into a situation where I was trying to use the calculated columns feature in SharePoint 2013 to do some simple math using values in two lists. Between certain data types not being accessible, and also with trying to make a one to…
There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question