Jump to content

[SOLVED] Search record and edit/update


byte

Recommended Posts

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  :D Thank you for any pointers or examples in advance.

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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>&nbsp ";
  }

// 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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.