Brett:
This worked out great. Now, I'm trying to tailor it a bit more. Here are the current vars that I am using and what I'm trying to accomplish.
<?php
if ($post == "yes") {
//THEN WE ARE ADDING A NEW RECORD SUBMITTED FROM THE FORM
//REPLACE THE FIELD CONTENTS SO THEY DON'T MESS UP YOUR QUERY
/*-- SECTION: 9994SQL --*/
$druid = 3;
$hunter = 3;
$mage = 3;
$paladin = 4;
$priest = 4;
$rogue = 3;
$warlock = 3;
$warrior = 3;
$caplock = 20;
$query = "SELECT COUNT(class) AS registered FROM pksignup WHERE class='".$class."'";
$result = mysql_query($query);
$curr = mysql_result($result, 0, 'registered');
if($curr >= 3)
{
die('Maximum '.$class.'s registration limit reached.<br><br><a href="http://praetorianknights.mmorpg-gaming.net/zgsignups/">Click Here to return to main listing</a>');
}
else
{
$sql = "INSERT INTO pksignup (
name,
class,
level,
attendall
$addl_insert_crit ) VALUES ( '$name',
'$class',
'$level',
'$attendall'
$addl_insert_values )";
if ($sql_debug_mode==1) { echo "<BR>SQL: $sql<BR>"; }
$result = mysql_query($sql,db());
if ($result == 1) {
echo "You are now signed up!";
echo "<br><br><a href=\"http://praetorianknights.mmorpg-gaming.net/zgsignups/\">Click Here to return to main listing</a>\n";
} else {
echo "Error inserting record (9994SQL)";
}
}
//***** END INSERT SQL *****
} //END IF POST = YES FOR ADDING NEW RECORDS
if (!$post) {
//THEN WE ARE ENTERING A NEW RECORD
//***** BEGIN ADD NEW FORM*****
/*-- SECTION: 9994FORM --*/
?>
<form method="post" action="<?php echo $thispage; ?>?proc=New&post=yes&<?php echo $pagevars; ?>">
<center>
<TABLE>
<TR>
<TD>
<B>NAME:</B>
</TD>
<TD>
<INPUT TYPE='name' NAME='name' SIZE='20'> </TD>
</TR>
<TR>
<TD>
<B>CLASS:</B>
</TD>
<TD>
<SELECT NAME='class' SIZE='1'>
<option>Druid</option>
<option>Hunter</option>
<option>Mage</option>
<option>Paladin</option>
<option>Priest</option>
<option>Rogue</option>
<option>Warlock</option>
<option>Warrior</option>
</SELECT> </TD>
</TR>
<TR>
<TD>
<B>LEVEL:</B>
</TD>
<TD>
<SELECT NAME='level' SIZE='1'>
<option>58</option>
<option>59</option>
<option>60</option>
</SELECT> </TD>
</TR>
<TR>
<TD>
<B>ATTENDALL:</B>
</TD>
<TD>
<INPUT TYPE='checkbox' NAME='attendall' VALUE='checked'> </TD>
</TR>
<TR>
<TD>
</TD>
<TD>
<INPUT TYPE="SUBMIT" VALUE="Signup" NAME="submit">
<INPUT TYPE="RESET" VALUE="Reset" NAME="reset">
</TD>
<TD>
Note: No more than (3) per class type<br>
will be allowed to attend the event,<br>
with exception to Paladins, Priests,<br>
and Warriors which can be no more<br>
than (4).</td>
</TR>
<TD>
</TABLE>
</CENTER>
<BR>
</FORM>
<?php
} //END if post=""
//***** END ADD NEW ENTRY FORM*****
function db()
{
$dbuser = "leaving blank";
$dbserver = "leaving blank";
$dbpass = "leaving blank";
$dbname = "leaving blank";
//CONNECTION STRING
$db_conn = mysql_connect($dbserver, $dbuser, $dbpass)
or die ("UNABLE TO CONNECT TO DATABASE");
mysql_select_db($dbname)
or die ("UNABLE TO SELECT DATABASE");
return $db_conn;
}//end function db
?>
I want to use a switch case scenario so that if a class equals one of the numbers plugged into the top variables, it understands that instead. Right now, it's just looking for if the class being used on the form and if that is greater than or equal to 3, it stops the person from being able to insert the record. I need it to check per case of all the different types of classes.
In addition, the form registration limit should be set to a maximum of 20 persons. So, once an overall limit of 20 is reached (counting all classes), it should block access.
I'm presuming that this would be a 9 case scenario or an 8 case scenario with an exception using the 20 rule at the bottom here.
$druid = 3;
$hunter = 3;
$mage = 3;
$paladin = 4;
$priest = 4;
$rogue = 3;
$warlock = 3;
$warrior = 3;
$caplock = 20;
My only question is how to implement the case? I tried a few times but it's looking ugly. I was using something along the lines of:
<?php
if ($post == "yes") {
//THEN WE ARE ADDING A NEW RECORD SUBMITTED FROM THE FORM
//REPLACE THE FIELD CONTENTS SO THEY DON'T MESS UP YOUR QUERY
/*-- SECTION: 9994SQL --*/
$druid = 3;
$hunter = 3;
$mage = 3;
$paladin = 4;
$priest = 4;
$rogue = 3;
$warlock = 3;
$warrior = 3;
$caplock = 20;
$query = "SELECT COUNT(class) AS registered FROM pksignup WHERE class='".$class."'";
$result = mysql_query($query);
$curr = mysql_result($result, 0, 'registered');
$diemessage = die('Maximum '.$class.'s registration limit reached.<br><br><a href="http://praetorianknights.mmorpg-gaming.net/zgsignups/">Click Here to return to main listing</a>');
switch ($class) {
case 'Druid':
if($curr >= $druid)
{
$diemessage
}
break;
case 'Hunter':
if($curr >= $hunter)
{
$diemessage
}
break;
case 'Mage':
if($curr >= $mage)
{
$diemessage
}
break;
case 'Paladin':
if($curr >= $paladin)
{
$diemessage
}
break;
case 'Priest':
if($curr >= $priest)
{
$diemessage
}
break;
case 'Rogue':
if($curr >= $rogue)
{
$diemessage
}
break;
case 'Warlock':
if($curr >= $warlock)
{
$diemessage
}
break;
case 'Warrior':
if($curr >= $warrior)
{
$diemessage
}
break;
default:
$sql = "INSERT INTO pksignup (
name,
class,
level,
attendall
$addl_insert_crit ) VALUES ( '$name',
'$class',
'$level',
'$attendall'
$addl_insert_values )";
if ($sql_debug_mode==1) { echo "<BR>SQL: $sql<BR>"; }
$result = mysql_query($sql,db());
if ($result == 1) {
echo "You are now signed up!";
echo "<br><br><a href=\"http://praetorianknights.mmorpg-gaming.net/zgsignups/\">Click Here to return to main listing</a>\n";
} else {
echo "Error inserting record (9994SQL)";
}
}
?>
But, I haven't worked in the 20 limit I wanted above and I'm not sure if this is going to work at all.