My first SOS

I’m trying to write a php shopping list. It updates from a single line of a mySQL database table. I’ve never used the UPDATE command and I have never tried to embed an HTML table into a php script before. Please help.

[code]<?PHP

session_start();

if (!(isset($_SESSION[‘login’]) && $_SESSION[‘login’] != ‘’)) {
header (“Location: login.php”);
}

?>

<?PHP $user_name = "parin650"; $password = "z169d37b"; $database = "parin650_suter"; $server = "127.0.0.1"; $db_handle = mysql_connect($server, $user_name, $password); $db_found = mysql_select_db($database, $db_handle); if ($db_found) { $SQL = "SELECT * FROM `aldi_list` WHERE `ID`=1"; $result = mysql_query($SQL); echo "; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; while($row = mysql_fetch_array($result)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; // other entries left out for brevity echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
ALDI ITEMQUANTITYADD #CHECK
Weetbix" . $row['Weetbix'] . ""; echo " "; echo ""; echo ""; echo "
Corn Flakes" . $row['CornFlakes'] . ""; echo " "; echo ""; echo ""; echo "
Tea" . $row['Tea'] . ""; echo " "; echo ""; echo ""; echo "
Fruit Bars" . $row['Fruit_Bars'] . ""; echo " "; echo ""; echo ""; echo "
Tinned_Tomato" . $row['Tinned_Tomato'] . ""; echo " "; echo ""; echo ""; echo "
"; echo " "; echo "" . $row['User_Defined_5'] . ""; echo " "; echo ""; echo ""; echo "
"; echo ""; echo "; echo "
"; mysql_close($db_handle); print "Records added to the database"; } else { print "Database NOT Found "; mysql_close($db_handle); } ?>



[/code]

The PHP program is below, I haven’t populated the full 68 attributes into the Query because I can’t get the database talking to the page properly.

[code]<?php

// Shopping List Inputs
$Weetbix = $_POST[‘Weetbix’];
$CornFlakes = $_POST[‘CornFlakes’];
$Tea = $_POST[‘Tea’];
$Fruit_Bars = $_POST[‘Fruit_Bars’];
$Tinned_Tomato = $_POST[‘Tinned_Tomato’];
$Pasta = $_POST[‘Pasta’];
$Honey = $_POST[‘Honey’];
$Baby_Wipes = $_POST[‘Baby_Wipes’];
$Nappy_Bags = $_POST[‘Nappy_Bags’];
$Nappies = $_POST[‘Nappies’];
$Toilet_Paper = $_POST[‘Toilet_Paper’];
$Napkins = $_POST[‘Napkins’];
$Cotton_Tips = $_POST[‘Cotton_Tips’];
$Tissues = $_POST[‘Tissues’];
$Liquid_Soap = $_POST[‘Liquid_Soap’];
$Laundry_Soap = $_POST[‘Laundry_Soap’];
$Dishwashing_Liquid = $_POST[‘Dishwashing_Liquid’];
$Bench_Spray = $_POST[‘Bench_Spray’];
$Garbage_Bags = $_POST[‘Garbage_Bags’];
$Cloth_Wipes = $_POST[‘Cloth_Wipes’];
$Juice = $_POST[‘Juice’];
$Cordial = $_POST[‘Cordial’];
$Apples = $_POST[‘Apples’];
$Carrots = $_POST[‘Carrots’];
$Broccoli = $_POST[‘Broccoli’];
$Potatoes = $_POST[‘Potatoes’];
$Zucchini = $_POST[‘Zucchini’];
$Sweet_Potato = $_POST[‘Sweet_Potato’];
$Pumpkin = $_POST[‘Pumpkin’];
$Flour = $_POST[‘Flour’];
$Self_Raising_Flour = $_POST[‘Self_Raising_Flour’];
$Sugar = $_POST[‘Sugar’];
$Eggs = $_POST[‘Eggs’];
$Chicken_Breast = $_POST[‘Chicken_Breast’];
$Marinated_Chicken = $_POST[‘Marinated_Chicken’];
$Chicken_Mince = $_POST[‘Chicken_Mince’];
$Beef_Mince = $_POST[‘Beef_Mince’];
$Stir_Fry_Beef = $_POST[‘Stir_Fry_Beef’];
$Chops = $_POST[‘Chops’];
$Sausages = $_POST[‘Sausages’];
$Bacon = $_POST[‘Bacon’];
$Ham = $_POST[‘Ham’];
$Cheese_Slices = $_POST[‘Cheese_Slices’];
$Cheese_Block = $_POST[‘Cheese_Block’];
$Milk = $_POST[‘Milk’];
$Cream = $_POST[‘Cream’];
$Sour_Cream = $_POST[‘Sour_Cream’];
$Margarine = $_POST[‘Margarine’];
$Yoghurt = $_POST[‘Yoghurt’];
$Splurtz = $_POST[‘Splurtz’];
$Frozen_Beans = $_POST[‘Frozen_Beans’];
$Basa_Fish = $_POST[‘Basa_Fish’];
$Fish_Fingers = $_POST[‘Fish_Fingers’];
$Kiev = $_POST[‘Kiev’];
$Schnitzel = $_POST[‘Schnitzel’];
$Pastry = $_POST[‘Pastry’];
$Bread = $_POST[‘Bread’];
$User_Defined_1 = $_POST[‘User_Defined_1’];
$User_Defined_2 = $_POST[‘User_Defined_2’];
$User_Defined_3 = $_POST[‘User_Defined_3’];
$User_Defined_4 = $_POST[‘User_Defined_4’];
$User_Defined_5 = $_POST[‘User_Defined_5’];
$User_Defined_6 = $_POST[‘User_Defined_6’];
$User_Defined_7 = $_POST[‘User_Defined_7’];
$User_Defined_8 = $_POST[‘User_Defined_8’];
$User_Defined_9 = $_POST[‘User_Defined_9’];
$User_Defined_10 = $_POST[‘User_Defined_10’];

// User Defined Inputs
$User1 = $_POST[‘User1’];
$User2 = $_POST[‘User2’];
$User3 = $_POST[‘User3’];
$User4 = $_POST[‘User4’];
$User5 = $_POST[‘User5’];
$User6 = $_POST[‘User6’];
$User7 = $_POST[‘User7’];
$User8 = $_POST[‘User8’];
$User9 = $_POST[‘User9’];
$User10 = $_POST[‘User10’];

// Connecting to database
$user_name = “parin650”;
$password = “z169d37b”;
$database = “parin650_suter”;
$server = “127.0.0.1”;

$db_handle = mysql_connect($server, $user_name, $password);

$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {

$SQL = "UPDATE 'aldi_list' SET 'ID'=1,'Weetbix'=$Weetbix,";

$result = mysql_query($SQL);

mysql_close($db_handle);

header(‘Location: shopping.php’);
}
else {
print ‘Database NOT Found’;
mysql_close($db_handle);
}
?>[/code]

MySQL Update Query:

UPDATE `aldi_list` SET `ID`=1, `Weetbix`=$Weetbix;

Use ` instead of ’ for table stuff such as names, fields etc. Use ’ when surrounding strings. If Weetbix is a string, you’ll need ‘$Weetbix’ instead of what is above.

UPDATE Queries must always end in a semi colon(:wink:
If you wish to update a certain row:
UPDATE aldi_list SET Weetbix=$Weetbix WHERE ID=1;

As another note, some servers have problems if you use the server as 127.0.0.1. Try localhost instead.

Thank you RaythXC.

I think there is still an error in the page, there is a problem with line 39. I’m pretty sure it’s a problem opening the form but not embedding it correctly.

//syntax error, unexpected T_STRING, expecting ‘,’ or ‘;’ on line 39

It means your missing something on line 39, or around there. If you use an IDE it should point out when something is missing,

Hi,

Thanks for the help. I finally got the whole thing working like a dream except for a certain little bug that I can’t get my head around (again). I’ve condensed the code to isolate the issue.

The problem is: when I use multiple text boxes as inputs in the same line of a table (a table created by HTML), the information the user inputs don’t seem to POST to the php script.

I have posted the page, followed by the php program beneath it. Is it something stupid like “don’t use numerics in the input name” or something? I’m at my wits end (again!).

Thanks again

[php]<?PHP

session_start();

if (!(isset($_SESSION[‘login’]) && $_SESSION[‘login’] != ‘’)) {
header (“Location: login.php”);
}

?>

<?PHP $user_name = "parin650"; $password = "z169d37b"; $database = "parin650_suter"; $server = "127.0.0.1"; $db_handle = mysql_connect($server, $user_name, $password); $db_found = mysql_select_db($database, $db_handle); if ($db_found) { $SQL = "SELECT * FROM `aldi_list` WHERE `ID`=1"; $result = mysql_query($SQL); echo " "; while($row = mysql_fetch_array($result)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
ALDI ITEM QUANTITY NEW QUANTITY CHECK
" . $row['User_1'] . "" . $row['User_Defined_1'] . ""; echo "" . $row['User_Defined_1'] . ""; echo ""; echo "
" . $row['User_2'] . "" . $row['User_Defined_2'] . ""; echo "" . $row['User_Defined_2'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_3'] . ""; echo "" . $row['User_Defined_3'] . ""; echo "" . $row['User_Defined_3'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_4'] . ""; echo "" . $row['User_Defined_4'] . ""; echo "" . $row['User_Defined_4'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_5'] . ""; echo "" . $row['User_Defined_5'] . ""; echo "" . $row['User_Defined_5'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_6'] . ""; echo "" . $row['User_Defined_6'] . ""; echo "" . $row['User_Defined_6'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_7'] . ""; echo "" . $row['User_Defined_7'] . ""; echo "" . $row['User_Defined_7'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_8'] . ""; echo "" . $row['User_Defined_8'] . ""; echo "" . $row['User_Defined_8'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_9'] . ""; echo "" . $row['User_Defined_9'] . ""; echo "" . $row['User_Defined_9'] . ""; echo ""; echo ""; echo "
"; echo "" . $row['User_10'] . ""; echo "" . $row['User_Defined_10'] . ""; echo "" . $row['User_Defined_10'] . ""; echo ""; echo ""; echo "
"; echo "
"; mysql_close($db_handle); } else { print "Database NOT Found "; mysql_close($db_handle); } ?>



[/php]

… and the php

[php]<?php

$User_1 = $_POST[‘User_1’];
$User_2 = $_POST[‘User_2’];
$User_3 = $_POST[‘User_3’];
$User_4 = $_POST[‘User_4’];
$User_5 = $_POST[‘User_5’];
$User_6 = $_POST[‘User_6’];
$User_7 = $_POST[‘User_7’];
$User_8 = $_POST[‘User_8’];
$User_9 = $_POST[‘User_9’];
$User_10 = $_POST[‘User_10’];

$User_Defined_1 = $_POST[‘User_Defined_1’];
$User_Defined_2 = $_POST[‘User_Defined_2’];
$User_Defined_3 = $_POST[‘User_Defined_3’];
$User_Defined_4 = $_POST[‘User_Defined_4’];
$User_Defined_5 = $_POST[‘User_Defined_5’];
$User_Defined_6 = $_POST[‘User_Defined_6’];
$User_Defined_7 = $_POST[‘User_Defined_7’];
$User_Defined_8 = $_POST[‘User_Defined_8’];
$User_Defined_9 = $_POST[‘User_Defined_9’];
$User_Defined_10 = $_POST[‘User_Defined_10’];

// Connecting to database
$user_name = “parin650”;
$password = “z169d37b”;
$database = “parin650_suter”;
$server = “127.0.0.1”;

$db_handle = mysql_connect($server, $user_name, $password);

$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {

$SQL = "UPDATE `aldi_list` SET User_1 = $User_1, User_Defined_1 = $User_Defined_1, User_2 = $User_2, User_Defined_2 = $User_Defined_2, User_3 = $User_3, User_Defined_3 = $User_Defined_3, User_4 = $User_4, User_Defined_4 = $User_Defined_4, User_5 = $User_5, User_Defined_5 = $User_Defined_5, User_6 = $User_6, User_Defined_6 = $User_Defined_6, User_7 = $User_7, User_Defined_7 = $User_Defined_7, User_8 = $User_8, User_Defined_8 = $User_Defined_8, User_9 = $User_9, User_Defined_9 = $User_Defined_9, User_10 = $User_10, User_Defined_10 = $User_Defined_10";

$result = mysql_query($SQL);

mysql_close($db_handle);

header(‘Location: shopping.php’);
}
else {
print ‘Database NOT Found’;
mysql_close($db_handle);
}
?>[/php]

I’m new, but don’t you have to use single quotes around the variables you’re using to update the table with?

ie - UPDATE…User_Defined_1 = ‘$User_Defined_1’ and so on.

This is true if you are inserting strings into the database yes. UPDATE queries should also always end in a semi-colon.

Thanks Freeb,

I never said I wasn’t prone to missing the stark staring obvious! I guess that’s what happens after hours of staring at code. Thank you very much.

And thanks again RaythXC. The whole program works like a charm now.

This is how we learn. :slight_smile:

Sponsor our Newsletter | Privacy Policy | Terms of Service