M3NT4L Posted May 14, 2008 Share Posted May 14, 2008 ok heres the situation, i need to create a shop so that once an item is clicked... it then goes on and the user enters personal information which is then sent and added to the customer_info table i created in my mysql database... ok so i have all that done except for the part where i get the user to enter information: i have to files, see below <?php // Connect to the DB $Sort = $_GET['Sort']; $Submit = $_GET['submit']; //echo "<hr><h3>Results sorted by $Sort</h3>"; //echo "\$submit is " . $submit; //echo "\$Sort is " . $Sort; if($Submit == "Submit Query"){ require "mysql_connect_lec.php"; switch($Sort) { case "id": $sort_var = "product_id"; break; case "name": $sort_var = "product_name"; break; case "price": $sort_var = "product_price"; break; } // Create a query string $sql_query = "SELECT * FROM product_info ORDER BY $sort_var"; // Run the query and save the results $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); // Start creating a table to display the results [static part] echo '<table border="1"><tr><th>Product ID</th><th>Team Name</th><th>Price</th></tr>'; // loop through the results - create as many table rows as there are records [dynamic part] while ($row = mysql_fetch_array($result)) { // this sticks the results row by row into an array called $row. // rows are called via $array_name["COLUMN_NAME"] $out = '<tr>'; $out .= '<td>'.$row["product_id"].'</td>'; $out .= '<td>'.$row["product_name"].'</td>'; $out .= '<td><a href="mysql_lec_4.php?product_name='.$row["product_id"].'">'.$row["product_price"].'</a></td>'; $out .= '</tr>'; echo $out; } // Finish constructing the table [static part] echo '</table>'; // Close the connection @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); } // End IF statement ?> everything above seems to work fine i am just pasting so you can understand it more... here is the bit i have a problem with: <?php require "mysql_connect_lec.php"; $Rank = $_GET['Rank']; echo "the Rank I have got is ". $product_name; if($submit == "Update"){ $Rank = $CR['Rank']; echo "Now I have got Rank is " . $product_name; $sql_query = "UPDATE product_info SET "; $sql_query .= "Rank = '".$HTTP_POST_VARS['product_name']; $sql_query .= "', Gross = '".$HTTP_POST_VARS['product_id']; $sql_query .= "', Year = '".$HTTP_POST_VARS['product_price']."' WHERE Rank=".$product_name; echo $sql_query; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); echo $CR['Name']; @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); ?> <H1>Record update form</H1> <form name="form1" method="get" action="mysql_lec_4a.php"> Rank <input name="Rank" type="text" value="<?php echo $CR['Rank'] ?>"> <br> Gross sale <input type="text" name="Gross" value="<?php echo $CR['Gross'] ?> "> <br> Name <input type="text" name="Name" value=<?php echo $CR['Name'] ?>> <br> Year <input type="text" name="Year" value="<?php echo $CR['Year'] ?>"> <input name="MID" type="hidden" value="<?php echo $MID ?>"> <input name="show" type="hidden" value="1"> <input name="submit" type="submit" value = "Update"> <hr> <h2><a href="mysql_lec_3.php?Sort=Name&submit=Submit+Query">Box Office listing</a> </h2> </form> ok so i have tried to edit this myself with trial and error but no luck, it doesnt submit the users information into the customer_info table. i have my customer_info table setup like this mysql> select * from customer_info; +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ | Name | Address_1 | Address_2 | City | Postcode | Quantity | Comments | +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ | name test | address test | address test 2 | city test | post test | 1 | This is working correctly | +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/ Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 ok here is my the one i edited to try and get to send info to customer_info table but wont enter it... i understand that the mysql_lec_4a.php is the file where the user will be sent after for example... THANKS FOR ENTERING INFO... <?php require "mysql_connect_lec.php"; $Rank = $_GET['Rank']; echo "the Rank I have got is ". $product_name; if($submit == "Update"){ $Rank = $CR['Rank']; echo "Now I have got Rank is " . $product_name; $sql_query = "UPDATE customer_info SET "; $sql_query .= "Name = '".$HTTP_POST_VARS['Name']; $sql_query .= "', Address_1 = '".$HTTP_POST_VARS['Address_1']; $sql_query .= "', Address_2 = '".$HTTP_POST_VARS['Address_2']; $sql_query .= "', City = '".$HTTP_POST_VARS['City']; $sql_query .= "', Postcode = '".$HTTP_POST_VARS['Postcode']; $sql_query .= "', quantity = '".$HTTP_POST_VARS['Quantity']; $sql_query .= "', price = '".$HTTP_POST_VARS['Comments']."' WHERE name=".$comments; echo $sql_query; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); echo $CR['Name']; @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); ?> <H1>Record update form</H1> <form name="form1" method="get" action="mysql_lec_4a.php"> id <input name="Rank" type="text" value="<?php echo $CR['id'] ?>"> <br> name <input type="text" name="Gross" value="<?php echo $CR['name'] ?> "> <br> price <input type="text" name="Year" value="<?php echo $CR['price'] ?>"> <input name="MID" type="hidden" value="<?php echo $MID ?>"> <input name="show" type="hidden" value="1"> <input name="submit" type="submit" value = "Update"> <hr> <h2><a href="mysql_lec_3.php?Sort=Name&submit=Submit+Query">Box Office listing</a> </h2> </form> Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541050 Share on other sites More sharing options...
MadTechie Posted May 14, 2008 Share Posted May 14, 2008 whats the echo $sql_query; outputting? as a guess i would say WHERE Rank=".$product_name; should be WHERE Rank='$product_name'; Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541052 Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 the echo is fine it tells the user what they have ordered. but again i will repeat... i am having trouble getting information from a user which enters itself into the customer_info table. does anyone know? Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541062 Share on other sites More sharing options...
Skittalz Posted May 14, 2008 Share Posted May 14, 2008 I believe your forgetting a POST in the second file... if($submit == "Update"){ should infact be if($_POST['Submit'] == "Update") { //note... its a capital S as well Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541074 Share on other sites More sharing options...
moselkady Posted May 14, 2008 Share Posted May 14, 2008 What did this statement display in your browser? and did it display any errors? echo $sql_query; Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541077 Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 My new, and its still not entering any information into the table: mysql> select * from customer_info; +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ | Name | Address_1 | Address_2 | City | Postcode | Quantity | Comments | +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ | name test | address test | address test 2 | city test | post test | 1 | This is working correctly | +-----------+--------------+----------------+-----------+-----------+----------+---------------------------+ 1 row in set (0.00 sec) <?php require "mysql_connect_lec.php"; $product_name = $_GET['product_name']; echo "The product you have ordered is ". $product_name; if($_POST['Submit'] == "Update") { //note... its a capital S as well $product_name = $CR['product_name']; echo "The product you have ordered is " . $product_name; $sql_query = "UPDATE customer_info SET "; $sql_query .= "Name = '".$HTTP_POST_VARS['Name']; $sql_query .= "', Address_1 = '".$HTTP_POST_VARS['Address_1']; $sql_query .= "', Address_2 = '".$HTTP_POST_VARS['Address_2']; $sql_query .= "', City = '".$HTTP_POST_VARS['City']; $sql_query .= "', Postcode = '".$HTTP_POST_VARS['Postcode']; $sql_query .= "', Quantity = '".$HTTP_POST_VARS['Quantity']; $sql_query .= "', Comments = '".$HTTP_POST_VARS['Comments']."' WHERE name=".$product_name; echo $sql_query; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); echo $CR['Name']; @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); ?> <H1>Record update form</H1> <form name="form1" method="get" action="mysql_lec_4a.php"> Name <input name="Rank" type="text" value="<?php echo $CR['Name'] ?>"> <br> Address Line 1 <input type="text" name="Gross" value="<?php echo $CR['Address_1'] ?> "> <br> Address Line 2 <input type="text" name="Gross" value="<?php echo $CR['Address_2'] ?> "> <br> City <input type="text" name="Gross" value="<?php echo $CR['City'] ?> "> <br> Postcode <input type="text" name="Gross" value="<?php echo $CR['Postcode'] ?> "> <br> Quantity <input type="text" name="Gross" value="<?php echo $CR['Quantity'] ?> "> <br> Comments <input type="text" name="Year" value="<?php echo $CR['Comments'] ?>"> <input name="MID" type="hidden" value="<?php echo $MID ?>"> <input name="show" type="hidden" value="1"> <input name="submit" type="submit" value = "Update"> <hr> <h2><a href="mysql_lec_3.php?Sort=Name&submit=Submit+Query">LINK USED FOR LATER...</a> </h2> </form> Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541091 Share on other sites More sharing options...
moselkady Posted May 14, 2008 Share Posted May 14, 2008 Try: if($_POST['submit'] == "Update") since your submit button is named "submit" Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541100 Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 Either way still not working, has anyone at least done this before with a form and the info is submitted to the table without bein in on terminal. like there must be something like: INSERT INTO customer_info values('$NAME, $ADDRESS_1 ...... ETC so that when the submit button is entered it will enter it into the row like... ya know? <?php require "mysql_connect_lec.php"; $product_name = $_GET['product_name']; echo "The product you have ordered is ". $product_name; if($_POST['submit'] == "Update") { $product_name = $CR['product_name']; echo "The product you have ordered is " . $product_name; $sql_query = "UPDATE customer_info SET "; $sql_query .= "Name = '".$HTTP_POST_VARS['Name']; $sql_query .= "', Address_1 = '".$HTTP_POST_VARS['Address_1']; $sql_query .= "', Address_2 = '".$HTTP_POST_VARS['Address_2']; $sql_query .= "', City = '".$HTTP_POST_VARS['City']; $sql_query .= "', Postcode = '".$HTTP_POST_VARS['Postcode']; $sql_query .= "', Quantity = '".$HTTP_POST_VARS['Quantity']; $sql_query .= "', Comments = '".$HTTP_POST_VARS['Comments']."' WHERE name=".$product_name; echo $sql_query; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); echo $CR['Name']; @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); ?> <H1>Record update form</H1> <form name="form1" method="get" action="mysql_lec_4a.php"> Name <input name="Name" type="text" value="<?php echo $CR['Name'] ?>"> <br> Address Line 1 <input type="text" name="Address_1" value="<?php echo $CR['Address_1'] ?> "> <br> Address Line 2 <input type="text" name="Address_2" value="<?php echo $CR['Address_2'] ?> "> <br> City <input type="text" name="City" value="<?php echo $CR['City'] ?> "> <br> Postcode <input type="text" name="Postcode" value="<?php echo $CR['Postcode'] ?> "> <br> Quantity <input type="text" name="Quantity" value="<?php echo $CR['Quantity'] ?> "> <br> Comments <input type="text" name="Comments" value="<?php echo $CR['Comments'] ?>"> <input name="MID" type="hidden" value="<?php echo $MID ?>"> <input name="show" type="hidden" value="1"> <input name="submit" type="submit" value = "Update"> <hr> <h2><a href="mysql_lec_3.php?Sort=Name&submit=Submit+Query">LINK USED FOR LATER...</a> </h2> </form> Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541109 Share on other sites More sharing options...
moselkady Posted May 14, 2008 Share Posted May 14, 2008 I see. UPDATE query is done when the record for product_name is already in your customer_info table and you are updating it. Otherwise, you should go with INSERT. Something like this: $sql_query = "INSERT INTO customer_info (name, address_1, address_2, city, postcode, quantity, comments) VALUES('{$_POST['Name']}', '{$_POST['Address_1']}', '{$_POST['Address_2']}', '{$_POST['City']}', '{$_POST['Postcode']}', '{$_POST['Quantity']}', '{$_POST['Comments']}')"; Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541142 Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 ok but just to say i have 2 tables, product_info and customer_info. so product_name isn't needed to be submitted to a column in customer_info only product_id is sent into the table... erm i hope you understand what i am trying to say. so what your saying is that like that snippet of code you have above needs to be put say here: <?php require "mysql_connect_lec.php"; $product_name = $_GET['product_name']; echo "The product you have ordered is ". $product_name; if($_POST['submit'] == "Update") { $product_name = $CR['product_name']; echo "The product you have ordered is " . $product_name; $sql_query = "UPDATE customer_info SET "; $sql_query .= "Name = '".$HTTP_POST_VARS['Name']; $sql_query .= "', Address_1 = '".$HTTP_POST_VARS['Address_1']; $sql_query .= "', Address_2 = '".$HTTP_POST_VARS['Address_2']; $sql_query .= "', City = '".$HTTP_POST_VARS['City']; $sql_query .= "', Postcode = '".$HTTP_POST_VARS['Postcode']; $sql_query .= "', Quantity = '".$HTTP_POST_VARS['Quantity']; $sql_query .= "', Comments = '".$HTTP_POST_VARS['Comments']."' WHERE name=".$product_name; echo $sql_query; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; <<< $sql_query = "INSERT INTO customer_info (name, address_1, address_2, city, postcode, quantity, comments) VALUES('{$_POST['Name']}', '{$_POST['Address_1']}', '{$_POST['Address_2']}', '{$_POST['City']}', '{$_POST['Postcode']}', '{$_POST['Quantity']}', '{$_POST['Comments']}')"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); echo $CR['Name']; @mysql_close($mysql_conn) or die("Error whilst closing connection: " . mysql_error()); ?> <H1>Record update form</H1> <form name="form1" method="get" action="mysql_lec_4a.php"> Name <input name="Name" type="text" value="<?php echo $CR['Name'] ?>"> <br> Address Line 1 <input type="text" name="Address_1" value="<?php echo $CR['Address_1'] ?> "> <br> Address Line 2 <input type="text" name="Address_2" value="<?php echo $CR['Address_2'] ?> "> <br> City <input type="text" name="City" value="<?php echo $CR['City'] ?> "> <br> Postcode <input type="text" name="Postcode" value="<?php echo $CR['Postcode'] ?> "> <br> Quantity <input type="text" name="Quantity" value="<?php echo $CR['Quantity'] ?> "> <br> Comments <input type="text" name="Comments" value="<?php echo $CR['Comments'] ?>"> <input name="MID" type="hidden" value="<?php echo $MID ?>"> <input name="show" type="hidden" value="1"> <input name="submit" type="submit" value = "Update"> <hr> <h2><a href="mysql_lec_3.php?Sort=Name&submit=Submit+Query">LINK USED FOR LATER...</a> </h2> </form> Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541240 Share on other sites More sharing options...
moselkady Posted May 14, 2008 Share Posted May 14, 2008 Ok. When user hits Update button, we have product_name and we want to get product_id from product_info. Then insert this product_id along with customer information into customer_info, right? If so you can do this: if($_POST['submit'] == "Update") { $sql_query = "SELECT * FROM product_info WHERE product_name=$product_name"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); $CR = mysql_fetch_assoc($result); product_id = $CR['product_id']; $sql_query = "INSERT INTO customer_info (product_id , name, address_1, address_2, city, postcode, quantity, comments) VALUES('{$_POST['Name']}', '{$product_id , $_POST['Address_1']}', '{$_POST['Address_2']}', '{$_POST['City']}', '{$_POST['Postcode']}', '{$_POST['Quantity']}', '{$_POST['Comments']}')"; $result = @mysql_query($sql_query) or die("Invalid query: " . mysql_error()); } I hope I got right this time. Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541258 Share on other sites More sharing options...
M3NT4L Posted May 14, 2008 Author Share Posted May 14, 2008 afraid not. what is needed is. forget about product_name and info etc that is not need anymore. when the user selects a product, the only thing that is sent to the customer_info table is the product_id. the titles under the customer_info table are name address_1 address2 etc etc.... so the information that the user enters into the textbox goes into the columns in the customer_info table... you understand what i am saying??? i dont know how else to put it...? just forget the product info i have done that.... just now onto that form and the information put it needs to be sent to database... yes? EDIT: for that code you said... nothing works its a blank screen but from what you think i say its wrong either way... read up.. ^ Quote Link to comment https://forums.phpfreaks.com/topic/105610-entering-information-into-mysql-database-from-php-see-inside/#findComment-541287 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.