Jump to content


Photo

php mysql update


  • Please log in to reply
2 replies to this topic

#1 proctk

proctk
  • Members
  • PipPipPip
  • Advanced Member
  • 300 posts

Posted 17 August 2006 - 01:55 AM

Hi below is code that I use to update information in a table.  the first section of code is used to create the form and display the table values

the second part is suppposed to update the information in the table.
----------------
The first part is  exicuted  if matching data is found in the table.  If there is matching data nothing needs to be updated and a message is displayed with instructions.

the second part is supposed to update the table and display a message when done.

The first part works excellent, the problem is with the second part when a change is made and there is no match the message displayes but the values in the table is not updated.

any help is great
thank you
<?

include 'db.php'; 

$child_id = $_REQUEST['id'];

$result = mysql_query("SELECT * FROM children WHERE children.child_id = '$child_id'") or die(mysql_error());

while($row = mysql_fetch_array($result)){


$first = $row[childfirstname];
$last = $row[childlastname];
$dob = $row[childdob];
$child_id = $row[child_id];


}
?>
		
<form id="updateinfo" name="updateinfo" method="post" action= "<? echo "CodeUpdatechild.php?id=$child_id";?>">

<table>

<tr>
<td></td>
<td>Child's First Name:</td>
<td><input id="childfirstname" name="childfirstname" type="text" value="<?php echo $first; ?>"></td>
</tr>

<tr>
<td></td>
<td>Child's Last Name:</td>
<td><input id="childlastname" name="childlastname" type="text" value="<?php echo $last; ?>"></td>
</tr>

<tr>
<td></td>
<td>Child's DOB:</td>
<td><input id="childdob" name="childdob" type="text" value="<?php echo $dob; ?>"></td>
</tr>

<tr>
<td></td>
<td>Sex:</td>
<td><select name="childsex" id="childsex">
	<option></option>
 	<option>Male</option>
	<option selected>Female</option>
	 
</select></td>
</tr>

<tr>
<td></td>
<td><input type="submit" name="Submit" value= Update></td>
</tr>
</form>
</table>


code to update table
<? session_start();  // Start Session?>

<title>code update</title>
<?

include 'db.php';

$child_id = $_REQUEST['id'];
$firstname= $_POST['childfirstname'];
$lastname = $_POST['childlastname'];
$dob = $_POST['childdob'];
$sex = $_POST['childsex'];
		
    
/// check to  make sure update does not create douplicate value
 $sql_child_check = mysql_query("SELECT * FROM children WHERE childlastname = '$lastname' AND 
 childfirstname = '$firstname' AND 
 childdob = '$dob'")or die(mysql_error());
 
  $child_check = mysql_num_rows($sql_child_check);

  
  $row = mysql_fetch_assoc($sql_child_check);
  
  $child_id = $row['child_id'];
  
 if(($child_check == 1)){

 $msg .= '<div style="width:325px" id= "formmessage">';
 $msg .= "The change you made resulted in finding <b>".$firstname. ' '. $lastname. "</b> in the database<br> <br>  <a href='deleteParent.php?id=$child_id&user_id=$user_id'>Delete</a> current person and use <a href='addchild.php'>Add Parent</a> to locate person and create link:<br />";
$msg .= '</div>';

include 'getchildren.php';
exit ();
}

  
 if(($child_check == 0)){
 
 mysql_query("UPDATE children SET childfirstname = '$firstname', childlastname = '$lastname', childdob = '$dob' WHERE child_id = '$child_id'")or die(mysql_error());

$msg .='<div style="width:325px" id= "formmessage">';  
$msg .= $firstname. ' '. $lastname. " has been updated.";
$msg .= '</div>';
		  
	 include 'getchildren.php';
	 
	 }
?>


#2 hitman6003

hitman6003
  • Members
  • PipPipPip
  • Advanced Member
  • 1,807 posts

Posted 17 August 2006 - 02:03 AM

Your code is very messy.

<?

include 'db.php'; 

$child_id = $_REQUEST['id'];

$result = mysql_query("SELECT childfirstname, childlastname, childdob, child_id FROM children WHERE children.child_id = '$child_id'") or die(mysql_error());

list($first, $last, $dob, $child_id) = mysql_fetch_assoc($result);

?>
<form id="updateinfo" name="updateinfo" method="post" action= "<? echo "CodeUpdatechild.php?id=$child_id";?>">
<table>
	<tr>
		<td>&nbsp;</td>
		<td>Child's First Name:</td>
		<td><input id="childfirstname" name="childfirstname" type="text" value="<?php echo $first; ?>"></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td>Child's Last Name:</td>
		<td><input id="childlastname" name="childlastname" type="text" value="<?php echo $last; ?>"></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td>Child's DOB:</td>
		<td><input id="childdob" name="childdob" type="text" value="<?php echo $dob; ?>"></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td>Sex:</td>
		<td>
			<select name="childsex" id="childsex">
				<option></option>
	 			<option>Male</option>
				<option selected>Female</option>
			</select>
		</td>
	</tr>
	<tr>
		<td colspan="3"><input type="submit" name="Submit" value= Update></td>
	</tr>
	
</table>
</form>



<? session_start();  // Start Session?>

<title>code update</title>
<?

include 'db.php';

$child_id = $_REQUEST['id'];
$firstname= $_POST['childfirstname'];
$lastname = $_POST['childlastname'];
$dob = $_POST['childdob'];
$sex = $_POST['childsex'];

// check to  make sure update does not create douplicate value
$sql_child_check = mysql_query("SELECT * FROM children WHERE childlastname = '$lastname' AND childfirstname = '$firstname' AND childdob = '$dob'")or die(mysql_error());
 
$child_check = mysql_num_rows($sql_child_check);
$row = mysql_fetch_assoc($sql_child_check);
$child_id = $row['child_id'];

if(($child_check == 1)){
	$msg .= '<div style="width:325px" id= "formmessage">';
	$msg .= "The change you made resulted in finding <b>".$firstname. ' '. $lastname. "</b> in the database<br> <br>  <a href='deleteParent.php?id=$child_id&user_id=$user_id'>Delete</a> current person and use <a href='addchild.php'>Add Parent</a> to locate person and create link:<br />";
	$msg .= '</div>';
	include 'getchildren.php';
	exit ();
}

if(($child_check == 0)){
	mysql_query("UPDATE children SET childfirstname = '$firstname', childlastname = '$lastname', childdob = '$dob' WHERE child_id = '$child_id'")or die(mysql_error());

	$msg .='<div style="width:325px" id= "formmessage">';  
	$msg .= $firstname. ' '. $lastname. " has been updated.";
	$msg .= '</div>';
	include 'getchildren.php';
}
?>

Echo out your query, then execute it in phpMyAdmin or MySQL query browser and make sure that it is executing correctly.

#3 proctk

proctk
  • Members
  • PipPipPip
  • Advanced Member
  • 300 posts

Posted 17 August 2006 - 02:14 AM

Thank you for the reply, I'm not sure what you mean by my code is messy. The code will run but do nothing. 
the code that you posted did you make any changes.

kp




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users