I have a div with a form in it. When the form is submitted I want the data to be inserted into the database and the results from the database displayed with the form underneath so it can be submitted again an another record added. The form us submitting and the database is being populated but the results do not display in the div.
The div that contains the inital form (and which will contain the refreshed results list and new form is as follows:
<div id=activitylist>
<?
$q2a="SELECT activitynumber, title, description, leaders, time FROM activities where activities.meetingid='$id' AND activities.unitid='$input2'";
$r2a=mysqli_query($dbc,$q2a) or die(mysqli_error($dbc));
echo "<table class='layouttable'><tr><td>ActivityNumber</td><td>Title</td><td>Description</td><td>Leaders</td><td>Time</td><td>Edit</td>";
while($row2a =mysqli_fetch_assoc($r2a))
{
echo "
<tr><td>" . $row2a['activitynumber'] . "</td>
<td>" . $row2a['title'] . " </td>
<td>" . $row2a['description'] . " </td>
<td>" . $row2a['leaders'] . " </td>
<td>" . $row2a['time'] . " </td>
<td><input type='button' value='editactivity' onclick='editactivity(" . $row2a['activityid'] . ")'></td></tr>.
";
}
echo"</table>"; ?><br><Br>
<form id='newactivity' method="post" onSubmit="return submitForm();">
<input type =hidden name='meetingid' value=<?echo$id?>>
<b>Activity Number:</b><input type=text name='activitynumber' class='textborder'>
<b>Title:</b><input type=text name='activitytitle' class='textborder'>
<b>Time (mins):</b> <input type=text name='activitytime' class='textborder'>
<b>Leaders:</b> <input type=text name='leaders' class='textborder'><br>
<b>Description:</b><textarea name='activitydescription' class='textareaborder'></textarea>
<input type='submit' value='Submit'></form></div>
The form is submitted using:
<script name='addactivity'>
function submitForm() {
$.ajax({type:'POST', url: 'activity_new.php', data:$('#newactivity').serialize(), success: function(response) {
$('#newactivity').find(".activitylist").html(response);
}});
return false;
}
</script>
and activity_new.php which is what is inserting to the database and that I want to display in the div when it has done the insert is:
<?php
session_start();
$input2=$_SESSION[ 'unitid' ];
$meetingid=$_POST['meetingid'];
$activitynumber=$_POST['activitynumber'];
$activitytitle=$_POST['activitytitle'];
$activitytime=$_POST['activitytime'];
$leaders=$_POST['leaders'];
$activitydescription=$_POST['activitydescription'];
include 'connect_db.php';
$q1c="INSERT into activities (meetingid, unitid, activitynumber, title, description, time, leaders) VALUES ('$meetingid', '$input2', '$activitynumber','$activitytitle', '$activitydescription', '$activitytime', '$leaders')";
$r1c = mysqli_query($dbc,$q1c)or die(mysqli_error($dbc));
$q2a="SELECT activitynumber, title, description, leaders, time FROM activities where activities.meetingid='$meetingid' AND activities.unitid='$input2'";
$r2a=mysqli_query($dbc,$q2a) or die(mysqli_error($dbc));
echo "<table class='layouttable'><tr><td>ActivityNumber</td><td>Title</td><td>Description</td><td>Leaders</td><td>Time</td><td>Edit</td>";
while($row2a =mysqli_fetch_assoc($r2a))
{
echo "
<tr><td>" . $row2a['activitynumber'] . "</td>
<td>" . $row2a['title'] . " </td>
<td>" . $row2a['description'] . " </td>
<td>" . $row2a['leaders'] . " </td>
<td>" . $row2a['time'] . " </td>
<td><input type='button' value='editactivity' onclick='editactivity(" . $row2a['activityid'] . ")'></td></tr>.
";
};
echo"</table>"; ?><br><Br>
<form id='newactivity' method="post" onSubmit="return submitForm();">
<input type =hidden name='meetingid' value=<?echo$id?>>
<b>Activity Number:</b><input type=text name='activitynumber' class='textborder'>
<b>Title:</b><input type=text name='activitytitle' class='textborder'>
<b>Time (mins):</b> <input type=text name='activitytime' class='textborder'>
<b>Leaders:</b> <input type=text name='leaders' class='textborder'><br>
<b>Description:</b><textarea name='activitydescription' class='textareaborder'></textarea>
<input type='submit' value='Submit'>