mrgrinch12 Posted June 7, 2010 Share Posted June 7, 2010 I have two pages that I am using to update a mysql database. Page 1 has the form and shows the rows available for updating. Each row contains a select drop down box to make your choice and then the form is submitted. The for page shows the correct data and appears to function just fine. Page 2 has the update query for the database and is referenced by page 1. The bottom line is the update query is having no effect on the database. Any help with where to look would be great as I am major php rookie and have already been at this for several days. Code for both pages listed below: <?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>form</title> </head> <?php require('/conn.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $colname_DetailRS1 = "-1"; if (isset($_SESSION['MM_Username'])) { $colname_DetailRS1 = $_SESSION['MM_Username']; } mysql_select_db($database_conn_, $conn); $query_DetailRS1 = sprintf("SELECT PlayerID, FanID, Type, InjuryID, Player, StatusID, StatusChangeChoice, CurrentWeek, GMEmail FROM tblplayers WHERE GMEmail = %s ORDER BY tblplayers.Type Asc", GetSQLValueString($colname_DetailRS1, "text")); $DetailRS1 = mysql_query($query_DetailRS1, $conn) or die(mysql_error()); $row_DetailRS1 = mysql_fetch_assoc($DetailRS1); $totalRows_DetailRS1 = mysql_num_rows($DetailRS1); $colname_rsGMDetail = "-1"; if (isset($_SESSION['MM_Username'])) { $colname_rsGMDetail = $_SESSION['MM_Username']; } mysql_select_db($database_conn, $conn); $query_rsGMDetail = sprintf("SELECT GMFirst, GMLast FROM tbluseradmin WHERE GMEmail = %s", GetSQLValueString($colname_rsGMDetail, "text")); $rsGMDetail = mysql_query($query_rsGMDetail, $conn) or die(mysql_error()); $row_rsGMDetail = mysql_fetch_assoc($rsGMDetail); $totalRows_rsGMDetail = mysql_num_rows($rsGMDetail); // Count rows in table $count=mysql_num_rows($DetailRS1); $player = $_POST['hideplayerID']; // Post variables $submit = $_POST['submit']; ?> <body bgcolor="#FFFFFF"> <table width="500" border="0" cellspacing="1" cellpadding="0"> <form id="frmupdate" name="frmupdate" method="post" action="update.php"> <tr> <td align="center" bgcolor="#FFCC00"><strong>ID</strong></td> <td align="center" bgcolor="#FFCC00">Position</td> <td align="center" bgcolor="#FFCC00">Player</td> <td align="center" bgcolor="#FFCC00">Health</td> <td align="center" bgcolor="#FFCC00">Current Status</td> <td align="center" bgcolor="#FFCC00"><strong>Change Status</strong></td></tr> <?php // Fetch record rows in $DetailRS1 by while loop and put them into $row. while($row=mysql_fetch_assoc($DetailRS1)){ ?> <tr> <td bgcolor="#FFFFCC"><? echo $row['PlayerID']; ?> <input name="hideplayerID" type="hidden" id="hideplayerID" value="<?php echo $row_DetailRS1['PlayerID']; ?>" /></td> <td bgcolor="#FFFFCC"><? echo $row['Type']; ?></td> <td bgcolor="#FFFFCC"><? echo $row['Player']; ?></td> <td bgcolor="#FFFFCC"><? echo $row['InjuryID']; ?></td> <td bgcolor="#FFFFCC"><? echo $row['StatusID']; ?></td> <td bgcolor="#FFFFCC"><label> <select name="select[]"> <option value="Active" selected="selected">Active</option> <option value="Bench">Bench</option> </select> </label></td> </tr> </form> <?php } // End while loop. ?> </table> <input type="submit" name="submit" value="Update" /> </body> </html> Page 2 (Update): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>update</title> </head> <body> <?php require_once('../Connections/conn.php'); ?><?php // If receive Submit button variable. if($_POST['submit']){ require_once('../Connections/conn.php'); // Select all data records in table "tblplayers" and put them into $result. if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } # Script 2.5 - update.php //Validate the status and combat Magic Quotes, if neccessary. if (!empty($_REQUEST['select'])) { $select = stripslashes($_REQUEST['select']); } else { $select = NULL; echo '<p>You forgot to change your player status!</p>'; } //If everything else is okay, print the message echo "<p>Thank you</p>"; } else {//Selection was not made on form. echo "<p>Please go back and complete your selections.</p>"; } mysql_select_db($database_conn, $conn); $query_result = "SELECT PlayerID FROM tblplayers ORDER BY PlayerID ASC"; $result = mysql_query($query_result, $conn) or die(mysql_error()); $row_result = mysql_fetch_assoc($result); $totalRows_result = mysql_num_rows($result); // Fetch record rows in $result by while loop and put them into $row. while($row = mysql_fetch_assoc($result)){ //imploe the array variables $select = array("Active", "Bench"); //start a counter in order to number the input fields for each record $selectChoice = implode(" ", $select); for($i = 0; $i < $count; $i++){ if ($select[$i] != ""){ echo "selectChoice #$i = $select[$i] "; // Update field "StatusChangeChoice", matching with "PlayerID" value by while loop. $query_update = "UPDATE tblplayers SET StatusChangeChoice = '$selectChoice' where PlayerID = (''$player[$i]')"; } } $update = mysql_query($query_update, $conn) or die(mysql_error()); if (!$update) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query_update; die($message); } } echo "--- Update Complete ---"; echo $query_update; ?> <p><?php echo "<pre>"; var_dump($select); echo "</pre>"; print_r($row[PlayerID]); var_dump($_POST); echo $update; ?> </p> </body> </html> <?php mysql_free_result($result); mysql_free_result($update); ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.