Jump to content

1 Error/Issue + 1 Question!


peter.cort

Recommended Posts

Hi guys, first post here from a relative newbie :)  I'm working on my final project for php and I'm running into a bit of a road block. The error is I'm trying to validate which radio button is checked to run a corresponding function to either add a car, drop a car, or display a car.  Everything seems to work fine but my if statement won't pick up the change and therefore my function won't run. 

 

This is the output that I receive from the code. [taken from the bottom of the php when I select Add Car(s) on the form]

 

input = 11112111421

add_status=add_status

unchecked=unchecked

 

Here's the script and htm form.

 

 


<html>
<head>
<title>Final Project</title>
</head>
<body>

<form action="final.php" method="post">

<input type="radio" name="query" value="add_status" /> Add Car(s)
<br />
<input type="radio" name="query" value="delete_status" /> Delete Car(s)
<br />
<input type="radio" name="query" value="display_status" /> Display Car(s)
<br />
<input type="text" name="Input_Car_ID" /> Car ID
<br />
<input type="text" name="Input_Car_Make" /> Car Make
<br />
<input type="text" name="Input_Car_Model" /> Car Model
<br />
<input type="text" name="Input_Car_Vin" /> Car Vin
<br />
<input type="text" name="Input_Car_Color" /> Car Color
<br />
<input type="text" name="Input_Car_Mileage" /> Car Mileage
<br />
<input type="Submit" value="Query" />

</form>

</body>
</html>

<!-- Radio button selects which functions to run. Leave blank to view all -->

 

<?php
/*
	final.php
	Name: Peter Cort
	Date: 4/25/2012
	Script: Final Project
*/

$add_status = "unchecked";
$drop_status = "unchecked";
$display_status = "unchecked";

extract($_POST, EXTR_SKIP);

if (isset ($Submit)){

if ($query == "add_status")
{
	$add_status = "checked";
}

else if ($query == "drop_status")
{
	$drop_status = "checked";
}

else if ($query == "display_status")
{
	$display_status = "checked";
}

}


function runsql(){
/*mysql_connect("sftweb01", "cort", "peter");*/
mysql_connect("localhost", "peter", "cort");
mysql_select_db("cort");
        }

runsql();		

	if ( empty($Input_Car_ID))
	{
		$Input_Car_ID = "";
	}

	if ( empty($Input_Car_Make))
	{
		$Input_Car_Make = "";		    
	}
	if ( empty($Input_Car_Model))
	{
		$Input_Car_Model = "";
	}
	    
	if ( empty($Input_Car_Vin))
	{
		$Input_Car_Vin = "";
	}

	if ( empty($Input_Car_Color))
	{
		$Input_Car_Color = "";
	}

	if ( empty($Input_Car_Mileage))
	{
		$Input_Car_Mileage = "";
	}


class car{

private $Car_ID;
private $Car_Make;
private $Car_Model;
private $Car_Vin;
private $Car_Color;
private $Car_Mileage;
public $Input_Car_ID;
public $Input_Car_Make;
public $Input_Car_Model;
public $Input_Car_Vin;
public $Input_Car_Color;
public $Input_Car_Mileage;

/* function for setting no input values to null (will be able to delete on multiple paramaters) */
/* function needs to get values from the .htm form */

function __construct($Input_Car_ID, $Input_Car_Make, $Input_Car_Model, $Input_Car_Vin, $Input_Car_Color, $Input_Car_Mileage)
{
		$this->Car_ID = $Input_Car_ID;
		$this->Car_Make = $Input_Car_Make;
		$this->Car_Model = $Input_Car_Model;
		$this->Car_Vin = $Input_Car_Vin;
		$this->Car_Color = $Input_Car_Color;
		$this->Car_Mileage = $Input_Car_Mileage;
}



function add_vehicle()
{
	if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == ""))
	{
		print "Please provide information about the car you wish to add";
	}
	else mysql_query("INSERT INTO Car_T (Car_ID, Car_Make, Car_Model, Car_Vin, Car_Color, Car_Mileage)
	VALUES ('$this->Car_ID', '$this->Car_Make','$this->Car_Model', '$this->Car_Vin', '$this->Car_Color', '$this->Car_Mileage')");
}

function drop_vehicle()
{
	if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == ""))
	{
		print "Please provide information about the car you wish to delete";
	}
	else mysql_query("DELETE FROM Car_T WHERE Car_ID = '$this->Car_ID' AND Car_Make='$this->Car_Make' AND Car_Model='$this->Car_Model' AND Car_Vin='$this->Car_Vin' AND Car_Color='$this->Car_Color' AND Car_Mileage='$this->Car_Mileage'");
}

function display_vehicle()
{
 	if (($Car_ID == "") && ($Car_Make == "") && ($Car_Model == "") && ($Car_Vin == "") && ($Car_Color == "") && ($Car_Mileage == ""))
	{
	$display_query = mysql_query("SELECT * FROM Car_T");
	}

	else $display_query = mysql_query("SELECT * FROM Car_T WHERE (Car_ID = '$this->Car_ID' OR Car_Make = '$this->Car_Make' OR Car_Model = '$this->Car_Model' OR Car_Vin = '$this->Car_Vin' OR Car_Color = '$this->Car_Color' OR Car_Mileage = '$this->Car_Mileage')");

	while($row = mysql_fetch_row($display_query)){
            echo $row['$this->Car_ID'];
            print "<br />";
}
}


function display_stuff()
{
echo $this->Car_ID;
echo $this->Car_Make;
echo $this->Car_Model;
echo $this->Car_Vin;
echo $this->Car_Color;
echo $this->Car_Mileage;
}

}

$new_entry = new car($Input_Car_ID, $Input_Car_Make, $Input_Car_Model, $Input_Car_Vin, $Input_Car_Color, $Input_Car_Mileage);


if ($add_status == 'checked'){
$new_entry->add_vehicle();
}

if ($drop_status == 'checked'){
$new_entry->drop_vehicle();
}

if ($display_status == 'checked'){
$new_entry->display_vehicle();
}

print "<br />";

print "input = ";
$new_entry->display_stuff();

print "<br />";

print "$query";
print "=";
print $query;


print "<br />";

print "$add_status";
print "=";
print $add_status;

/*
$Car_ID, $Car_Make, $Car_Model, $Car_Vin, $Car_Color, $Car_Mileage

print $Input_Car_ID;
print $Input_Car_Make;
print $Input_Car_Model;
print $Input_Car_Vin;
print $Input_Car_Color;
print $Input_Car_Mileage;

print "<br />";
*/


?>

 

 

 

My second part of this is wondering how to construct my display query to run right.  I'd like to be able to run it on any possible input from the text box. I basically want to do something like (WHERE LIKE '%') where there isn't an input from the htm form. My thought was to build the query on a series of concatenations through a function, but that seems like a lot of work.  I just feel like it's important to give that functionality to the program. 

 

Thanks for looking, and hopefully I don't confuse you readers that much :3  Also I know that the mysql_query(); is going out of style but just go with it for the sake of my sanity :) 

 

 

Link to comment
Share on other sites

You don't have a name to your submit button.

 

<input type="submit" name="Submit" value="Query" />

 

You should also look into using a switch statement.

 

switch($_POST['query']){
    case 'add_status':
        // code
    break;

    // etc

    default:
        // if no option is selected
}

Link to comment
Share on other sites

/sigh... Well at least it's something simple. 

 

I could use a switch statement, it's the one thing we never really covered in my class, did it briefly among other things, but as a result it never really comes to mind of things to do, and I'm also more comfortable with IF statements.  I feel like at this point it doesn't really gain me much to flip everything to a switch statement, but if I get more problems I'll switch it over. 

 

Also I got an answer from a guy at work about my display query question. I'm going to take the input and do a join to populate the query with the information that I need.  Hopefully that works out without many issues! 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.