Jump to content

insert multiple records with ajax php mysql


mcerveni

Recommended Posts

I am displaying 3 records as follows:

 

$getShift = "SELECT * FROM shiftbid"; 
$result = mysql_query($getShift); ?>
<table id="shiftTable"> 
<tr> <th> NO </th> <th> DAY </th> <th> SHIFT </th> <th> RANK </th> </tr>

<?php
while($row= mysql_fetch_array($result)) { 

?>

<tr> <td> <?php echo $row['no'];?> <input type="hidden" id="no" name="no" value="<?php echo $row['no'];?>"> </td> 
<td> <?php echo $row['day'];?>  <input type="hidden" id="day" name="day" value="<?php echo $row['day'];?>"> </td> 
<td> <?php echo $row['shift'];?>  <input type="hidden" id="shift" name="shift" value="<?php echo $row['shift'];?>"></td> 
<td> <?php echo '<input type="text" name="rank" size="2" maxlength="2" id="rank"> '; ?>  </td> </tr>
<?php
}
?>

<tr><td><input type="submit" name="submit" value="Done" onclick="addShift();"> </td></tr> 

</table>
<?php }
?>

 

 

ajax code:

 


function addShift() {
dimScreen();
document.getElementById('loaderBox').style.display="block";
document.getElementById('loaderBox').innerHTML = " <table> <tr><td> <img src='scripts/loader.gif'> </td><td> <b> Processing </b> </td></tr></table> "

var no = encodeURI(document.getElementById('no').value);
var day = encodeURI(document.getElementById('day').value);
var shift = encodeURI(document.getElementById('shift').value);
var rank = encodeURI(document.getElementById('rank').value);


var url = "include/process.php";  
var params = "no=" + no + "&day=" + day + "&shift=" + shift + "&rank=" + rank;
http.open("POST", url, true);



//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");

http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
var response = http.responseText;
document.getElementById('content').innerHTML = ''+response+ '';

}

}
http.send(params);

} //function


 

 

process.php code:

 


$no = $_POST['no'];
$day = $_POST['day'];
$shift = $_POST['shift'];
$rank = $_POST['rank'];


$insertShift_sql = "INSERT INTO user_req (id, no, day, shift, rank) VALUES(0, '$no', '$day', '$shift', '$rank')";


   if( @mysql_query ($insertShift_sql) ){ 
           echo 'You\'re shift has been processed. Thank you. ';
           
       } 
       else {
       echo 'An error has been encountered. Please refresh the screen. ';
       }
    

 

it only inserts the first row into the table. i need all 3 rows to be inserted into the table...

i think arrays should do the trick. but i'm not sure how to implement that.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.