Computech Posted February 21, 2011 Share Posted February 21, 2011 Ok. I am trying to create a customer tracking database that will allow me to get a handle on my customer support inquiries. To do this I have created a database that will store all of a customers pertinent information and then I plan on creating another table that will be 'Notes' where each note is associated with a customerID. I have created the form fine where I can input the data into the table but I am having issues with the next part. I would like to have a list/menu that will display all of the current users in the database. Then when I click on one of those it will display that information in the form so that I can view it, edit it, or delete it. But I have been stumped for multiple days and other php forums have been absolutely worthless. I know that php can pass a variable name in the address but I have no idea how to do that or how to use it when it's in the address. I know I'm a newb. Please help. I really need to move on from this hurdle. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> <link href="maxxTraxx.css" rel="stylesheet" type="text/css" /> </head> <body> <?php //Load Database Connectivity and Form Helpers require 'DB.php'; require 'formhelper.php'; //Connect To Database $db = MY CONNECTIVITY IS FINE, HIDING FOR SECURITY PURPOSES if (DB::isError($db)) { die("Cant connect: " .$db->getMessage()); } //Print Message and Quit on Future Database Errors $db->setErrorHandling(PEAR_ERROR_DIE); customerList(); //Main Page Logic if ($_POST['_submit_check']) { foreach($_POST as $key=>$value) { if($key == 'saveCustomer') { //If validate_form() returns errors, show them the form with errors if ($form_errors = validate_formCustomer()) { show_form($form_errrors); } else { //The submitted data is valid, so process it process_formCustomer(); } } if($key =='go') { print $_POST['customerList']; } } }else { //The form wasn't submitted, so display it blank show_form(); } //------------FUNCTIONS--------------------------------------------------------- function show_form($errors = '') { //If the form is submitted, get defaults from submitted parameters if ($_POST['_submit_check']) { $defaults = $_POST; } else { //Otherwise set your own defaults $defaults = ''; } //If errors were passed in, put them in $error_text (with HTML markup) if ($errors) { $error_text = '<tr><td>You need to correct the following errors: '; $error_text .= '</td></tr><ul><li>'; $error_text .= implode('</li><li>',$errors); $error_text .= '</li></ul></td></tr>'; } else { //No errors? Then $error_text is blank $error_text = ''; } $states = array('AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 'WI', 'WY', 'Canada', 'Puerto Rico', 'Australia'); $status = array(1=>'Fine', 2=>'Received', 3=>'In Repair', 4=>'Waiting', 5=>'Shipped'); $months = array(1=>'January', 2=>'February', 3=>'March', 4=>'April', 5=>'May', 6=>'June', 7=>'July', 8=>'August', 9=>'September', 10=>'October', 11=>'November', 12=>'December'); $days = array(); for($i = 1; $i <=31; $i++) { $days[$i] = $i; } $years = array(); for($year = date('Y') , $max_year = date('Y')+5; $year < $max_year; $year++) { $years[$year] = $year; } //Jump out of PHP mode to make displaying all the HTML tags easier but still inside the show_form function ?> <div class="customerForm"> <center><h2>Customer Form</h2></center> <form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>"> <table> <?php print $error_text ?> <tr><td>Last Name</td> <td><?php input_text('customerNameLast', $defaults); ?>, </td> <td>First Name</td> <td><?php input_text('customerNameFirst', $defaults); ?></td> <td>Phone Number</td> <td><?php input_text('customerPhone', $defaults); ?></td></tr></table> <table><tr><td>Address</td> <td><?php input_text('customerAddresss', $defaults); ?></td> <td>City</td> <td><?php input_text('customerCity', $defaults); ?></td> <td>State</td> <td><?php input_select('customerState', $defaults, $states); ?></td> <td>Zip</td> <td><?php input_text('customerZip', $defaults); ?></td></tr></table> <table><tr><td>Email</td> <td><?php input_text('customerEmail', $defaults); ?></td> <td>RMA #</td> <td><?php input_text('customerRMA', $defaults); ?></td> <td>Parts Out</td> <td><?php input_text('customerPartsOut', $defaults); ?></td></tr></table> <table><tr><td>Status</td> <td><?php input_select('customerStatus', $defaults, $status); ?></td> <td>Due Date</td> <td><?php input_select('customerDueMonth', $defaults, $months); ?> <?php input_select('customerDueDay', $defualts, $days); ?> <?php input_select('customerDueYear', $defaults, $years); ?></td></tr></table> <center><?php input_submit('saveCustomer', 'Save Customer'); ?></center> <input type="hidden" name="_submit_check" value="1"/> </form> </div> <?php }//End of the show_form() function function validate_formCustomer() { $errors = array(); return $errors; } function process_formCustomer() { global $db; //Get a unique ID for Customer $customerID = $db->nextID('customerID'); $customerDueDate = $_POST['customerDueYear'].'-'.$_POST['customerDueMonth'].'-'.$_POST['customerDueDay']; $db->query('INSERT INTO Customer (customerID, customerNameLast, customerNameFirst, customerPhone, customerEmail, customerAddress, customerCity, customerState, customerZip, customerStatus, customerPartsOut, customerRMA, customerDueDate) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)', array($customerID, $_POST['customerNameLast'], $_POST['customerNameFirst'], $_POST['customerPhone'], $_POST['customerEmail'], $_POST['customerAddress'], $_POST['customerCity'], $_POST['customerState'], $_POST['customerZip'], $_POST['customerStatus'], $_POST['customerPartsOut'], $_POST['customerRMA'], $customerDueDate)); //Tell the user that we adde a customer print '<center>Added '.htmlentities($_POST['customerNameLast']) .' to the database.</center> <br /><br />'; print '<center><a href="/maxxTraxx/index.php">Back To The Admin</a></center>'; }//End of process_formCustomer function function customerList() { global $db; $qCustomers = $db->query('SELECT customerID, customerNameLast, customerNameFirst FROM Customer'); print '<div class="customerList"><form action="test.php" method="get">'; print '<select name="customerList" size="30">'; while($row = $qCustomers->fetchRow()) { $qAllCustomers[0] = $row[0]; $qAllCustomers[1] = $row[1]; $qAllCustomers[2] = $row[2]; //print $row[0]; //print 'Customer #'.$qAllCustomers[0].' is: '.$qAllCustomers[2].' '.$qAllCustomers[1].''; print '<option value="'.$qAllCustomers[0].'" selected>'.$qAllCustomers[1].', '.$qAllCustomers[2].'</option>'; } print '</select></form></div>'; echo $_POST['customerList']; input_submit('go', 'go'); //return $qAllCustomers; } ?> </body> </html> Quote Link to comment Share on other sites More sharing options...
BlueSkyIS Posted February 21, 2011 Share Posted February 21, 2011 http://www.tizag.com/phpT/postget.php webpage <html> <a href='somescript.php?someval=22'>click</a> </html> somescript.php // one way... // IF $_GET['someval'] is set, set $s to it's value, else set $s to empty string, '' $s = isset($_GET['someval'])?$_GET['someval']:''; Quote Link to comment Share on other sites More sharing options...
Computech Posted February 21, 2011 Author Share Posted February 21, 2011 Ok, I have succesfully figured out how to fill in the text boxes based on the the .php?id=2 property by checking to see if there was an ID and if there was, changing the defaults to display the query information based on the id number. Now my problem is getting the select menu to pass just the id. function customerList() { global $db; $qCustomers = $db->query('SELECT customerID, customerNameLast, customerNameFirst FROM Customer'); print '<div class="customerList"><form action="testAlt.php" method="get">'; print '<select name="customerList" size="30">'; while($row = $qCustomers->fetchRow()) { $qAllCustomers[0] = $row[0]; $qAllCustomers[1] = $row[1]; $qAllCustomers[2] = $row[2]; print '<option value="'.$qAllCustomers[0].'">'.$qAllCustomers[1].', '.$qAllCustomers[2].'</option>'; } print '</form></div>'; } When I click on a name in the list and hit enter it goes to this address: http://computechracing.com/maxxTraxx/testAlt.php?customerList=2&customerNameLast=&customerNameFirst=&customerPhone=&customerAddresss=&customerCity=&customerState=0&customerZip=&customerEmail=&customerRMA=&customerPartsOut=&customerStatus=1&customerDueMonth=1&customerDueDay=1&customerDueYear=2011&saveCustomer=Save+Customer&_submit_check=1 When I need it to go to this: http://computechracing.com/maxxTraxx/testAlt.php?customerList=2 Quote Link to comment Share on other sites More sharing options...
BlueSkyIS Posted February 21, 2011 Share Posted February 21, 2011 set the link href to http://computechracing.com/maxxTraxx/testAlt.php?customerList=2 no need to hit enter. just click the link. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.