Keith D Kaiser Keith D Kaiser - 1 year ago 34
jQuery Question

How does the return from PHP/MySQL get back into the calling page?

I've dummied up the page here: All you need to do to run it is hit the submit button. A value is already supplied.
Below is the editDBlisting.php code that it is supposed to use to build (in this case) a table.

But I never get anything back except most of the echo("in the php, str = $q"); and then only the text and not the value of $q. So I understand that its not getting to the PHP. But why? I've tried GET instead of POST, plus nearly every other combination available.

This is nearly line for line what I'm doing in another place and it works perfectly so no doubt I've got a little error that I can't find.
Please help me find the issue.

This time you can make fun of me for not seeing it.


/* Title: editDBlisting.php
Written: 2016=07-12

error_reporting (E_ALL ^ E_NOTICE);

require_once "dbConnectDtls.php";

define("CONST_USER_TIMEZONE", "America/Chicago");
/* server timezone */

/* server dateformat */
define("CONST_SERVER_DATEFORMAT", "Y-m-d H:i:s");

function now($str_user_timezone = CONST_USER_TIMEZONE,
$str_server_timezone = CONST_SERVER_TIMEZONE,
$str_server_dateformat = CONST_SERVER_DATEFORMAT) {

// set timezone to user timezone

$date = new DateTime("now");
$date->setTimezone(new DateTimeZone($str_server_timezone));
$str_server_now = $date->format($str_server_dateformat);

// return timezone to server default

return $str_server_now;


$q = $_POST["str"];

echo("in the php, str = $q");

$stmt = $db_found->prepare("SELECT * FROM SCOTA WHERE edit_code = '$q' ");


$result = $stmt->fetchAll();

foreach($result as $row) {

echo ("<table id='feedback'>
<thead style='text-align: center;'>
<th>Call Sign</th>
<th>Camp Name</th>

echo ("<td class=\"edit\" id=\"campRegNumber:$row[id]\">$row[campRegNumber] </td>");
echo ("<td class=\"edit\" id=\"name:$row[id]\">$row[name] </td>");
echo ("<td class=\"edit\" id=\"callSign:$row[id]\">$row[callSign] </td>");
echo ("<td class=\"edit\" id=\"eMail:$row[id]\">$row[eMail] </td>");

echo ("<td class=\"edit\" id=\"adultCount:$row[id]\">$row[adultCount] </td>");
echo ("<td class=\"edit\" id=\"youthCount:$row[id]\">$row[youthCount] </td>");
echo ("<td class=\"edit\" id=\"campName:$row[id]\">$row[campName] </td>");

echo ("<td class=\"edit\" id=\"official_scout_camp:$row[id]\">$row[official_scout_camp] </td>");
echo ("<td class=\"edit\" id=\"city:$row[id]\">$row[city] </td>");
echo ("</tr></tbody></table>");
echo ("<br><br>");

echo ("<table id='feedback'>
<thead style='text-align: center;'>
<th>Date Start</th>
<th>Time Start</th>
<th>Time End</th>
<th>Date End</th>
echo ("<td class=\"edit\" id=\"state:$row[id]\">$row[state] </td>");
echo ("<td class=\"edit\" id=\"country:$row[id]\">$row[country] </td>");
echo ("<td class=\"edit\" id=\"latitude:$row[id]\">$row[latitude] </td>");
echo ("<td class=\"edit\" id=\"longitude:$row[id]\">$row[longitude] </td>");
echo ("<td class=\"edit\" id=\"grid:$row[id]\">$row[grid] </td>");
echo ("<td class=\"edit\" id=\"power:$row[id]\">$row[power] </td>");
echo ("<td class=\"edit\" id=\"dateStart:$row[id]\">$row[dateStart] </td>");
echo ("<td class=\"edit\" id=\"timeStart:$row[id]\">$row[timeStart] </td>");
echo ("<td class=\"edit\" id=\"timeEnd:$row[id]\">$row[timeEnd] </td>");
echo ("<td class=\"edit\" id=\"dateEnd:$row[id]\">$row[dateEnd] </td>");
echo ("<td class=\"edit\" id=\"comments:$row[id]\">$row[comments] </td>");


echo ("</tr></tbody></table>");



Answer Source

Maybe there is more than one mistakes, but what I can see is that in the form on the page testit.php you have set name of input to getCode, but in editDBlisting.php you have line $q = $_POST['str']; instead of $q = $_POST['getCode'];