Jump to content


Photo

Needed help with altering code in mysql


  • Please log in to reply
3 replies to this topic

#1 mallika

mallika
  • New Members
  • Pip
  • Newbie
  • 4 posts

Posted 29 September 2006 - 02:09 PM

Hi,
I am really new to mysql, i am having a problem with a code.I have a form that can be seen here:
http://hunstem.uhd.e...ephp/form1.html
In the last section where it says Judging references, it does not allow me to save without filling all the cells.I need to save without entering some or all cells.Please help me.
Thanks,
Mallika.
The code for the script to save is here:
<?
include "db.php";

$lname = $_POST['lname'];
$fname = $_POST['fname'];
$cmpaff = $_POST['cmpaff'];
$title = $_POST['title'];
$street = $_POST['street'];
$city = $_POST['city'];
$zip = $_POST['zip'];
$ophc = $_POST['ophc'];
$oph = $_POST['oph'];
$hphc = $_POST['hphc'];
$hph = $_POST['hph'];
$faxc = $_POST['faxc'];
$fax = $_POST['fax'];
$email = $_POST['email'];
$degree = $_POST['degree'];
$ya = $_POST['ya'];
$disc = $_POST['disc'];
$sefhdisc = $_POST['sefhdisc'];
$yj = $_POST['yj'];
$jpip1 = $_POST['jpip1'];
$jpip2 = $_POST['jpip2'];
$jpip3 = $_POST['jpip3'];
$jpip4 = $_POST['jpip4'];
$jpip5 = $_POST['jpip5'];
$jpip6 = $_POST['jpip6'];
$jpip7 = $_POST['jpip7'];
$jpip8 = $_POST['jpip8'];
$jpip9 = $_POST['jpip9'];
$jpip10 = $_POST['jpip10'];
$jpip11 = $_POST['jpip11'];
$jpip12 = $_POST['jpip12'];
$jptp1 = $_POST['jptp1'];
$jptp2 = $_POST['jptp2'];
$jptp3 = $_POST['jptp3'];
$jptp4 = $_POST['jptp4'];

if ($_POST['phase1']) {
	$phase1 = "on";
} else {
  	$phase1 = "off";
}
if ($_POST['phase2']) {
	$phase2 = "on";
} else {
  	$phase2 = "off";
}
if ($_POST['intd']) {
	$intd = "on";
} else {
  	$intd = "off";
}
    
$Query = "INSERT INTO form1 VALUES ('0', '$lname', '$fname', '$cmpaff', '$title', '$street', '$city', '$zip', '$ophc', '$oph', '$hphc', '$hph', '$faxc', '$fax', '$email', '$degree', '$ya', '$disc', '$sefhdisc', '$yj', '$phase1', '$phase2', $jpip1, $jpip2, $jpip3, $jpip4, $jpip5, $jpip6, $jpip7, $jpip8, $jpip9, $jpip10, $jpip11, $jpip1, $jptp1, $jptp2, $jptp3, $jptp4, '$intd')";

$Result = mysql_db_query ($DBName, $Query);
mysql_close  ($Link);

if ($Result) {
  	print "Data saved correctly";
} else {
  	print "Error Reported on pform1.php<br>";
	print "SQL: <b>$Query</b><br>";
	print "$DBName, $Link, $Host<br>";
}
?>


#2 KevinM1

KevinM1
  • Moderators
  • Snarkimus Prime
  • 5,248 posts

Posted 29 September 2006 - 02:29 PM

I think a quick and dirty way to fix it would be to do something like this:

if(isset($_POST['jpip1'])){
   $jpip1 = $_POST['jpip1'];
} else {
   $jpip1 = NULL;
}

.
.
.

if(isset($_POST['jptp1'])){
   $jptp1 = $_POST['jptp1'];
} else {
   $jptp1 = NULL;
}

.
.
.

This should save NULL values in the database where the user didn't fill a cell on the form...so long as the database isn't set up such that it won't allow null values in those fields.
Using 'global' is a sign of doing it wrong

#3 mallika

mallika
  • New Members
  • Pip
  • Newbie
  • 4 posts

Posted 29 September 2006 - 02:43 PM

Hi,
Thank you for replying .
Just one thing, where exactly to add this code and do i have to write it for all the jip1 to 11 or just once,
Please let me know.
Thanks,
Mallika


#4 fenway

fenway
  • Staff Alumni
  • MySQL Si-Fu / PHP Resident Alien
  • 16,199 posts
  • LocationToronto, ON

Posted 29 September 2006 - 05:14 PM

Of course, if you specified a column list, you could simply exclude these columns entirely.
Seriously... if people don't start reading this before posting, I'm going to consider not answering at all.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users