Ajax
| From: | Ethan Rosenberg, PhD | Date: | Tue, 19 Feb 2013 17:16:30 +0000 |
| Subject: | Ajax | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-48686@lists.php.net to get a copy of this message | ||
Dear List -
With the INFINITE THANKS to Jim Giner who provided me with the help to get me out of the forest.
The customer db is
+----------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+-------+
| Cust_Num | smallint(5) unsigned | NO | PRI | NULL | | | Fname | varchar(25) | NO | | NULL | | | Lname | varchar(25) | NO | | NULL | | | Street | varchar(25) | NO | | NULL | | | City | varchar(25) | NO | | NULL | | | State | varchar(2) | NO | | NULL | | | Zip | mediumint(9) | NO | | NULL | | | Phone | int(10) | NO | | NULL | | | Date | date | NO | | NULL | | | Notes | text | YES | | NULL | | | P1 | int(3) | YES | | NULL | | | P2 | int(3) | YES | | NULL | | | P3 | int(4) | YES | | NULL | |+----------+----------------------+------+-----+---------+-------+ The credit db is: +----------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+-------+
| Cust_Num | smallint(5) unsigned | NO | PRI | NULL | | | Fname | varchar(25) | NO | | NULL | | | Lname | varchar(25) | NO | | NULL | | | Street | varchar(25) | NO | | NULL | | | City | varchar(25) | NO | | NULL | | | State | varchar(2) | NO | | NULL | | | Zip | mediumint(9) | NO | | NULL | | | Phone | int(10) | NO | | NULL | | | Date | date | NO | | NULL | | | Notes | text | YES | | NULL | | | P1 | int(3) | YES | | NULL | | | P2 | int(3) | YES | | NULL | | | P3 | int(4) | YES | | NULL | |+----------+----------------------+------+-----+---------+-------+ What the customer wants - pardon, but I cannot display a table Jones Tom 123 Street Leah; David, Malka Jones, Sam 341 Street Sarah; Shira, Mordechai Last Name, First Name, Address, Spouse; Persons authorized to charge. He wishes to select which "Jones" to use, and then click on "Jones". This will extract the Cust_Num, as cno which [hopefully] I can do constant $Cust_Num = $cno; He will then be shown the credit history of the customer and asked if he wishes to continue. If yes, he will be give the option of credit or payment. $Cust_Num will be used in all the following calculations. The program gives an error in the callback function: |Notice: Undefined variable: cno in /var/www/testClickcallback.php on line 9 || ||Call Stack:
|| 0.0006 130112 1. {main}() /var/www/testClickcallback.php:0
||
||
||Variables in local scope (#1):
|| $cno = *uninitialized*
|| $json = array ('cnum' => NULL)
||
||{"cnum":null}|
The Error Console shows no errors.
Do you know any way I can cleanup my Ajax and make it work?
Here are the scripts I am using:
testclick5.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<div id="main">
<?php
// make up some data in arrays here
$names = array("Jim","Joe","Stu","Ethan","Adam","Linda","Mary","Alice","Ann","Jeanne");
$nums = array(1,5,4,99,23,45,64,84,91,25);
global $cnum;
$results = "<table border=4 cellpadding=5 cellspacing=55 rules=all frame=box style='table-layout:fixed;'>";
$results .= "<tr><th>Name</th><th>Number</th></tr>";
// generate a table here
for($i=0; $i<10; $i++)
{
$k = $i ;
$results .= "<tr><td id='name$i' >$names[$k] </td><td id='cust$k' id='nums$k'>$nums[$k]</td></tr>";
}
$results .= "</table>";
$results;
DisplayPage();
MakeCustIndx();
?>
</div>
<?php
function MakeCustIndx()
{
global $cnum,$cno;
?>
<link type="text/css" href="jquery-ui-1.8.9.custom.css" rel="stylesheet" />
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.10.custom.min.js"></script>
hello
<script type="text/javascript">
var cusn;
$(document).ready(function(){
$("#main").click(function() {
cusn = $(this).attr('id');
});
});
$(document).ready(function(){
$("#main").dblclick(function(e) {
$.post("testClickcallback.php",
{"custnum":cusn}, "html")
});
});
</script>
<?php
}?> <div id=m2> </div> <?php
exit();//****************************************** function DisplayPage() {
global $results;
$code=<<<heredocs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"><html> <head> <title>Get Customer Number</title> <script type="text/javascript">
var cno;
var cnm;
function getCustNo(id)
{
cno = 'cust'+id;
cnm = "name"+id;
cname = document.getElementById(cnm).innerHTML;
cnum = document.getElementById(cno).innerHTML;
alert("For customer "+cname+" the number is "+cnum);
return;
}
</script>
$results</body></html> heredocs;
echo $code;} testClickcallback.php <?php $json = Array(); $json['custnum'] = $_POST['cusn']; echo json_encode($json); ?> Thanks for everything. Ethan