byte Posted September 30, 2009 Share Posted September 30, 2009 Hi All! Please excuse my noob question, I searched on here (and google) for a simple search and edit/update mysql record via php yet I can only seem find the php code to search for a record and display results. I'm wondering if anyone has a working example of how I can search for one value say ID and thus brings up the results of say Contact Name, Address, Telephone number where then you can edit and click the update button to update the record. Easy eh I'm very new to php & mysql so please go easy Thank you for any pointers or examples in advance. Quote Link to comment Share on other sites More sharing options...
JonnoTheDev Posted September 30, 2009 Share Posted September 30, 2009 Go through php/mysql tutorials. To select a record you need its id i.e SELECT name, email FROM users WHERE id='123' The id may be passed through the url to display the edit form (i.e ?id=123). Display the data within a form. When you click the submit button, perform an update query using the inputted data. UPDATE users SET name='xyz', email='abc@abc.com' WHERE id='123' Get a PHP beginners book. Quote Link to comment Share on other sites More sharing options...
byte Posted September 30, 2009 Author Share Posted September 30, 2009 Hi Neil, Thanks for your reply, I know the bare basics and heres what I have so far: Search form page: <form name="form" action="search.php" method="get"> <input type="text" name="id" /> <input type="submit" name="Submit" value="Search" /> </form> search.php page: <?php // Get the search variable from URL $var = @$_GET['id'] ; $trimmed = trim($var); //trim whitespace from the stored variable // rows to return $limit=10; // check for an empty string and display a message. if ($trimmed == "") { echo "<p>Please enter a search...</p>"; exit; } // check for a search parameter if (!isset($var)) { echo "<p>We dont seem to have a search parameter!</p>"; exit; } //connect to your database ** EDIT REQUIRED HERE ** mysql_connect("localhost","root",""); //(host, username, password) //specify database ** EDIT REQUIRED HERE ** mysql_select_db("test") or die("Unable to select database"); //select which database we're using // Build SQL Query $query = "select * from contacts where id like \"%$trimmed%\" order by id"; // EDIT HERE and specify your table and field names for the SQL query $numresults=mysql_query($query); $numrows=mysql_num_rows($numresults); // If we have no results, offer a google search as an alternative if ($numrows == 0) { echo "<h4>Results</h4>"; echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>"; // google // echo "<p><a href=\"http://www.google.com/search?q=" // . $trimmed . "\" target=\"_blank\" title=\"Look up // " . $trimmed . " on Google\">Click here</a> to try the // search on google</p>"; } // next determine if s has been passed to script, if not use 0 if (empty($s)) { $s=0; } // get results $query .= " limit $s,$limit"; $result = mysql_query($query) or die("Couldn't execute query"); // display what the person searched for echo "<p>You searched for: "" . $var . ""</p>"; // begin to show results set echo "Results"; $count = 1 + $s ; // now you can display the results returned while ($row= mysql_fetch_array($result)) { $title = $row["id"]; $title = $row["Contact"]; echo "$count.) $title" ; $count++ ; } $currPage = (($s/$limit) + 1); //break before paging echo "<br />"; // next we need to do the links to other results if ($s>=1) { // bypass PREV link if s is 0 $prevs=($s-$limit); print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><< Prev 10</a>  "; } // calculate number of pages needing links $pages=intval($numrows/$limit); // $pages now contains int of pages needed unless there is a remainder from division if ($numrows%$limit) { // has remainder so add one page $pages++; } // check to see if last page if (!((($s+$limit)/$limit)==$pages) && $pages!=1) { // not last page so give NEXT link $news=$s+$limit; echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>"; } $a = $s + ($limit) ; if ($a > $numrows) { $a = $numrows ; } $b = $s + 1 ; echo "<p>Showing results $b to $a of $numrows</p>"; ?> Which displays the results fine, but say I need edit the "Contact" value and hit update which is the bit where I'm currently stuck. Quote Link to comment Share on other sites More sharing options...
JonnoTheDev Posted September 30, 2009 Share Posted September 30, 2009 Next to the record have a link to the edit page while ($row= mysql_fetch_array($result)) { echo $count.") <a href='edit.php?id=".$row['id']."'>".$row["Contact"]."</a><br />"; $count++ ; } Quote Link to comment Share on other sites More sharing options...
byte Posted September 30, 2009 Author Share Posted September 30, 2009 Next to the record have a link to the edit page while ($row= mysql_fetch_array($result)) { echo $count.") <a href='edit.php?id=".$row['id']."'>".$row["Contact"]."</a><br />"; $count++ ; } Ah thanks so much Neil that was the line needed...I'm slowly learning Thanks again! 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.