srhino Posted January 11, 2008 Share Posted January 11, 2008 Ok I am having trouble figuring this out...For some reason this is not updating my changes I have two sheets...the first is <?php $tournid = $_GET['id']; $con = mysql_connect("xxxxxxxx","xxxx", "xxxxx") or die('Sorry could not connect to database at this time'); mysql_select_db("srhino", $con)or die('Sorry, could not connect to database'); $query = "SELECT * from Contacts where tournid =$tournid"; $result = mysql_query($query) or die('Sorry, could not get tournaments at this time'); if (mysql_num_rows($result) ==0){ echo "<h3> Sorry, There are no tournaments at this time, please try back later.</h3>";} else { while($row=mysql_fetch_array($result, MYSQL_ASSOC)) { $tournid = $row['tournid']; $tourname = $row['tourname']; $location = $row['location']; $month = $row['month']; $day = $row['day']; $year = $row['year']; $days = $row['days']; $contact = $row['contact']; $phone = $row['phone']; $fax = $row['fax']; $cell = $row['cell']; $email = $row['email']; $address = $row['address']; $website = $row['website']; $notes = $row['notes']; $poster = $row['poster']; echo "<form action=\"dowork.php\" method=\"post\"> <table> <tr><td>Tournament Name:</td><td><input type=\"text\" size=\"40\" name=\"tourname\" value=\"$tourname\"></td></tr><br> <tr><td>Location:</td><td><input type=\"text\" size=\"40\" name=\"location\" value=\"$location\"></td></tr><br> <tr><td colspan=\"2\" align=\"center\">Month:<input type=\"text\" size=\"2\" name=\"month\" value=\"$month\"> Day:<input type=\"text\" size=\"2\" name=\"day\" value=\"$day\"> Year:<input type=\"text\" size\"4\" name=\"year\" value=\"$year\"> # of Days:<input type=\"text\" size=\"2\" name=\"days\" value=\"$days\"></td></tr><br> <tr><td>Contact:</td><td><input type=\"text\" size=\"40\" name=\"contact\" value=\"$contact\"></td></tr><br> <tr><td>Phone:</td><td><input type=\"text\" size=\"40\" name=\"phone\" value=\"$phone\"></td></tr><br> <tr><td>Fax:</td><td><input type=\"text\" size=\"40\" name=\"fax\" value=\"$fax\"></td></tr><br> <tr><td>Mobile:</td><td><input type=\"text\" size=\"40\" name=\"cell\" value=\"$cell\"></td></tr><br> <tr><td>E-mail:</td><td><input type=\"text\" size=\"40\" name=\"email\" value=\"$email\"></td></tr><br> <tr><td>Address:</td><td><input type=\"text\" size=\"40\" name=\"address\" value=\"$address\"></td></tr><br> <tr><td>Website:</td><td><input type=\"text\" size=\"40\" name=\"website\" value=\"$website\"></td></tr><br> <tr><td>Notes:</td><td><textarea rows=\"10\" cols=\"50\" name=\"notes\" value=\"$notes\"></textarea></td></tr><br> <tr><td>Posted By:</td><td><input type=\"text\" size=\"40\" name=\"poster\" value=\"$poster\"></td></tr><br> <TR><TD colspan=\"8\" align=\"center\"><input type=\"submit\" value=\"Submit\"> <input type=\"hidden\" name=\"content\" value=\"update\"></TD></TR> </table></form>"; }}?> This is really where I think the problem is...when I change the query and take out the "where tournid='$tournid'"; part the page updates all records...when I put it in it won't update anything... <?php $tournid = $_POST['tournid']; $tourname = $_POST['tourname']; $location = $_POST['location']; $month = $_POST['month']; $day = $_POST['day']; $year = $_POST['year']; $days = $_POST['days']; $contact = $_POST['contact']; $phone = $_POST['phone']; $fax = $_POST['fax']; $cell = $_POST['cell']; $email = $_POST['email']; $address = $_POST['address']; $website = $_POST['website']; $notes = $_POST['notes']; $poster = $_POST['poster']; if (trim($month == '')) { echo "<h2>Sorry, each tournament must have a month</h2>\n"; }else { $con = mysql_connect("xxxxxxx","xxxxx", "xxxx") or die('Could not connect to server'); mysql_select_db("srhino", $con) or die('Could not connect to database'); $query = "update Contacts set tourname ='$tourname', location='$location', month='$month', day='$day', year='$year', days='$days', contact='$contact', phone ='$phone', fax='$fax', cell='$cell', email='$email', address='$address', website='$website', notes='$notes', poster='$poster' where tournid = '$tournid'"; $result = mysql_query($query) or die('Sorry, we could not post your scoring to the database at this time'); if ($result) echo "<a href\"dowork.php\"><h2>Scoring posted</h2></a>\n"; else echo "<h2>Sorry, there was a problem posting your tournament</h2>\n"; } ?> Please help thanks Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/ Share on other sites More sharing options...
Ken2k7 Posted January 11, 2008 Share Posted January 11, 2008 In your second "sheet" as you call it, $_POST['tournid'] doesn't exist because it doesn't exist in your form. I'm not sure if it'll work, but you can try changing it to $_GET['tournid'] and then on your first "sheet," Find: "<form action=\"dowork.php\" method=\"post\"> Change to: "<form action=\"dowork.php?id=$tournid\" method=\"post\"> Hope that helps. PS: Next time, don't give out personal sensitive data such as your database connection values in your second "sheet" Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436198 Share on other sites More sharing options...
revraz Posted January 11, 2008 Share Posted January 11, 2008 Either make $tournid a hidden input field in your FORM or use a SESSION to carry it. Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436200 Share on other sites More sharing options...
srhino Posted January 11, 2008 Author Share Posted January 11, 2008 How do I make tournid a hidden input field in my form? Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436211 Share on other sites More sharing options...
Ken2k7 Posted January 11, 2008 Share Posted January 11, 2008 <input type='hidden' name='tournid' value='$tournid' /> Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436233 Share on other sites More sharing options...
srhino Posted January 11, 2008 Author Share Posted January 11, 2008 I'm sorry I am really new at this and I still cant figure it out...I have triued all the things you suggest and it's not working. I have figured out that it has something to do with my query. When I take out the WHERE clause in my query on the update page it will update...but it changes every record...when I put in a WHERE CLAUSE that says WHERE tournid = 'tournid' the form stops working but pretends like it works...in other words it gives me the scoring posted comment although it doesn't actually update. Thanks Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436377 Share on other sites More sharing options...
Ken2k7 Posted January 11, 2008 Share Posted January 11, 2008 Just noticed a minor thing in your code. On your second "sheet" Find: if (trim($month == '')) Replace with: if (trim($month)=='') First of all, if you changed the variable $tournid to tournid, it wouldn't work. And can you post your updated code? Just the second "sheet" Link to comment https://forums.phpfreaks.com/topic/85477-solved-please-help-find-update-error/#findComment-436587 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.