Jump to content

Recommended Posts

I am trying to create a simple benchmarking calculator.  In a nutshell, here is what I want to do:

 

1.  Allow users to select a comparison year and comparison group from a form

2.  After from 1 submission Return another form for selected year and group containing relevant data with text boxes for users to supply their own values for each row returned

3.  After submission of that data, return a table that shows the benchmark data, user data and the difference between the 2

 

Here is the code for form 1:

 

<html>

<head>

<basefont face="Arial">

</head>

<body>

 

<?php

 

// set server access variables

$host = "localhost";

$user = "root";

$pass = "";

$db = "wercbench";

 

 

// open connection

$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");

 

// select database

mysql_select_db($db) or die ("Unable to select database!");

 

// create query

$year_query = "SELECT distinct year FROM userdata";

$industry_query = "SELECT distinct comp_desc FROM comp_desc";

 

// execute query

$year_result = mysql_query($year_query) or die ("Error in query: $query. ".mysql_error());

$industry_result = mysql_query($industry_query) or die ("Error in query: $query. ".mysql_error());

// see if any rows were returned

if (mysql_num_rows($year_result) > 0 or mysql_num_rows($industry_result)){

    // yes

    // print them one after another

 

echo"<form method=\"POST\" action=\"uservals.php\" name=\"wercbench1\">";

    echo"<table style=\"width: 100%;\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">";

    echo"<tbody>";

    echo" <tr>";

    echo"  <td>Select the comparison year and group then click next";

    echo"  </td>";

    echo"  <td></td>";

    echo" </tr>";

    echo" <tr>";

    echo"  <td>";

    echo"  <select name=\"year\">";

    while($row = mysql_fetch_row($year_result)) {

    echo"<option value=\"" .$row[0]. "\">".$row[0]."</option>";

}

    echo"  </select>";

    echo"  </td>";

    echo"  <td></td>";

    echo" </tr>";

 

 

    echo" <tr>";

    echo"  <td>";

echo"  <select name=\"industry\">";

  while($row = mysql_fetch_row($industry_result)) {

    echo"<option value=\"" .$row[0]. "\">".$row[0]."</option>";

}

    echo"  </select>";

echo"</td>";

    echo"  <td></td>";

    echo" </tr>";

    echo" <tr>";

    echo"  <td><input type=\"Submit\" value=\"Next\" name=\"wercbench1_next\"></button></td>";

    echo"  <td></td>";

    echo" </tr>";

 

    echo"</tbody>";

  echo"</table>";

echo"</form>";

}

else {

    // no

    // print status message

    echo "No rows found!";

}

// free result set memory

mysql_free_result($year_result);

mysql_free_result($industry_result);

 

// close connection

mysql_close($connection);

 

?>

 

</body>

</html>

 

Code for form 2

 

<html>

<head>

<basefont face="Arial">

</head>

<body>

 

<?php

 

// set server access variables

$host = "localhost";

$user = "root";

$pass = "";

$db = "wercbench";

$useryear=$_POST['year'];

$userindustry=$_POST['industry'];

 

// set server access variables

$host = "localhost";

$user = "root";

$pass = "";

$db = "wercbench";

 

 

// open connection

$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");

 

// select database

mysql_select_db($db) or die ("Unable to select database!");

 

// create query

$metric_query = "SELECT metric_desc.met_desc, userdata.median, userdata.best_pract FROM metric_desc, userdata where metric_desc.met_key=userdata.met_key and $useryear=userdata.year";

 

 

// execute query

$metric_result = mysql_query($metric_query) or die ("Error in query: $query. ".mysql_error());

 

// see if any rows were returned

 

// see if any rows were returned

if (mysql_num_rows($metric_result) > 0) {

    // yes

    // print them one after another

echo "<form action=\"results.php\" method=\"post\">";

    echo "<table cellpadding=10 border=1>";

    echo "<tr>";

        echo "<td>Metric Description</td>";

        echo "<td>Average</td>";

        echo "<td>Best Practice</td>";

echo "<td>Enter your value here</td>";

        echo "</tr>";

    while($row = mysql_fetch_row($metric_result)) {

        echo "<tr>";

        echo "<td>".$row[0]."</td>";

        echo "<td>" . $row[1]."</td>";

        echo "<td>".$row[2]."</td>";

//echo "<td><input type=\"text\" name=\"myvalue[]\" value=\"" . $row[3] . "\" /></td>";

echo "<td><input type=\"text\" name=\"myvalue[]\" value=\"\" /></td>";

        echo "</tr>";

    }

    echo "<tr><td colspan=\"3\"> </td><td align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Compare\"></td></tr></table>";

}

else {

    // no

    // print status message

    echo "No rows found!";

}

 

// free result set memory

mysql_free_result($metric_result);

 

 

// close connection

mysql_close($connection);

?>

 

 

</body>

</html>

 

 

My question is, what is the approach for the last page?  Do re query the data base for the benchmarking values?  Do I even need a 3rd php file or do I add code to the second form?  Can I do all this within one file?  What is the best approach please?

Link to comment
https://forums.phpfreaks.com/topic/64306-a-general-approach-question/
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.