Jump to content

Showing Image from directory using mysql field?


amg182

Recommended Posts

Hi guys.

 

Could someone please help a rookie... I have only managed to generate very basic PHP so far. I have been relying on a php generator.

Mysql database has a field called "photourl1" which has the directory path of my images- for example  pictures/image1.jpg etc...

I would like my script to display these images from my directory(without using blob).  Here is the script in full. I have had some people reply to similar requests, but i have been unable to do what people suggested because i know so little about PHP. I would be extremely grateful if someone could help me in very basic terms and language.... If poss amend the script to desired output(without sounding to cheeky or demanding) :shy:

 

I have tried 

<td width=21%><img src=\"" . $row["Photourl1"] . "\"></a></td>
but no luck....

 

Any help would be greatly received!

 

<?php session_start();
  if (isset($_GET["order"])) $order = @$_GET["order"];
  if (isset($_GET["type"])) $ordtype = @$_GET["type"];

  if (isset($_POST["filter"])) $filter = @$_POST["filter"];
  if (isset($_POST["filter_field"])) $filterfield = @$_POST["filter_field"];
  $wholeonly = false;
  if (isset($_POST["wholeonly"])) $wholeonly = @$_POST["wholeonly"];

  if (!isset($order) && isset($_SESSION["order"])) $order = $_SESSION["order"];
  if (!isset($ordtype) && isset($_SESSION["type"])) $ordtype = $_SESSION["type"];
  if (!isset($filter) && isset($_SESSION["filter"])) $filter = $_SESSION["filter"];
  if (!isset($filterfield) && isset($_SESSION["filter_field"])) $filterfield = $_SESSION["filter_field"];

  if (isset($_GET["getimage"]))
  {
    $conn = connect();
    getimage(@$_GET["getimage"], @$_GET["field"]);
    exit;
  }
?>
<html>
<head>
<title>cars -- cars</title>
<meta name="generator" http-equiv="content-type" content="text/html">
<style type="text/css">
  body {
    background-color: #FFFFFF;
    color: #4169E1;
    font-family: Arial;
    font-size: 20px;
    font-weight: bold;
  }
  .bd {
    background-color: #FFFFFF;
    color: #4169E1;
    font-family: Arial;
    font-size: 20px;
    font-weight: bold;
  }
  .tbl {
    background-color: #FFFFFF;
  }
  a:link { 
    background-color: #FFFFFF01;
    color: #FF00FF;
    font-family: Arial;
    font-size: 14px;
  }
  a:active { 
    background-color: #FFFFFF01;
    color: #0000FF;
    font-family: Arial;
    font-size: 14px;
  }
  a:visited { 
    background-color: #FFFFFF01;
    color: #800080;
    font-family: Arial;
    font-size: 14px;
  }
  .hr {
    background-color: #FFFFFF;
    color: #1E90FF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:link {
    color: #1E90FF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:active {
    color: #1E90FF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:visited {
    color: #1E90FF;
    font-family: Arial;
    font-size: 12px;
  }
  .dr {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Arial;
    font-size: 14px;
  }
</style>
</head>


<body>
<table class="bd" width="100%"><tr><td class="hr"><h2>Car Database</h2></td></tr></table>
<?php



  $conn = connect();
  $showrecs = 10;
  $pagerange = 10;

  $a = @$_GET["a"];
  $recid = @$_GET["recid"];
  $page = @$_GET["page"];
  if (!isset($page)) $page = 1;

  switch ($a) {
    case "view":
      viewrec($recid);
      break;
    default:
      select();
      break;
  }

  if (isset($order)) $_SESSION["order"] = $order;
  if (isset($ordtype)) $_SESSION["type"] = $ordtype;
  if (isset($filter)) $_SESSION["filter"] = $filter;
  if (isset($filterfield)) $_SESSION["filter_field"] = $filterfield;
  if (isset($wholeonly)) $_SESSION["wholeonly"] = $wholeonly;

  mysql_close($conn);
?>
<table class="bd" width="100%"><tr><td class="hr"></td></tr></table>
</body>
</html>

<?php function select()
  {
  global $a;
  global $showrecs;
  global $page;
  global $filter;
  global $filterfield;
  global $wholeonly;
  global $order;
  global $ordtype;


  if ($a == "reset") {
    $filter = "";
    $filterfield = "";
    $wholeonly = "";
    $order = "";
    $ordtype = "";
  }

  $checkstr = "";
  if ($wholeonly) $checkstr = " checked";
  if ($ordtype == "asc") { $ordtypestr = "desc"; } else { $ordtypestr = "asc"; }
  $res = sql_select();
  $count = sql_getrecordcount();
  if ($count % $showrecs != 0) {
    $pagecount = intval($count / $showrecs) + 1;
  }
  else {
    $pagecount = intval($count / $showrecs);
  }
  $startrec = $showrecs * ($page - 1);
  if ($startrec < $count) {mysql_data_seek($res, $startrec);}
  $reccount = min($showrecs * $page, $count);


?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr><td>Car database: cars</td></tr>
<tr><td>Records shown <?php echo $startrec + 1 ?> - <?php echo $reccount ?> of <?php echo $count ?></td></tr>
</table>
<hr size="1" noshade>
<form action="index.php" method="post">
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><b>Search</b> </td>
<td><input type="text" name="filter" value="<?php echo $filter ?>"></td>
<td><select name="filter_field">
<option value="">All Fields</option>
<option value="<?php echo "Make" ?>"<?php if ($filterfield == "Make") { echo "selected"; } ?>><?php echo htmlspecialchars("Make") ?></option>
<option value="<?php echo "Model" ?>"<?php if ($filterfield == "Model") { echo "selected"; } ?>><?php echo htmlspecialchars("Model") ?></option>
<option value="<?php echo "Location" ?>"<?php if ($filterfield == "Location") { echo "selected"; } ?>><?php echo htmlspecialchars("Location") ?></option>
</select></td>
<td><input type="checkbox" name="wholeonly"<?php echo $checkstr ?>>Whole words only</td>
</td></tr>
<tr>
<td> </td>
<td><input type="submit" name="action" value="Apply Filter"></td>
<td><a href="index.php?a=reset">Reset Filter</a></td>
</tr>
</table>
</form>
<hr size="1" noshade>
<?php showpagenav($page, $pagecount); ?>
<br>
<table class="tbl" border="0" cellspacing="4" cellpadding="0"width="100%">
<tr>
<td class="hr"> </td>
<td class="hr"><a class="hr" href="index.php?order=<?php echo "Make" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("Make") ?></a></td>
<<td class="hr"><a class="hr" href="index.php?order=<?php echo "Fuel" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("Fuel") ?></a></td>
<td class="hr"><a class="hr" href="index.php?order=<?php echo "Location" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("Location") ?></a></td>
</tr>
<?php
  for ($i = $startrec; $i < $reccount; $i++)
  {
    $row = mysql_fetch_assoc($res);
?>
<tr>
<td class="dr"><a href="index.php?a=view&recid=<?php echo $i ?>">View</a></td>
<td class="dr"><?php echo htmlspecialchars($row["Make"]) ?></td>

</tr>
<?php
  }
  mysql_free_result($res);
?>
</table>
<br>
<?php showpagenav($page, $pagecount); ?>
<?php } ?>

<?php function showrow($row, $recid)
  {

?>

//images to be placed in table below:

<table class="tbl" border="1" cellspacing="4" cellpadding="0"width="40%">
<tr>

<td width=21%><img src=\"" . $row["Photourl1"] . "\"></a></td>

</tr>
</table>
<?php } ?>

<?php function showpagenav($page, $pagecount)
{
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<?php if ($page > 1) { ?>
<td><a href="index.php?page=<?php echo $page - 1 ?>"><< Prev</a> </td>
<?php } ?>
<?php
  global $pagerange;

  if ($pagecount > 1) {

  if ($pagecount % $pagerange != 0) {
    $rangecount = intval($pagecount / $pagerange) + 1;
  }
  else {
    $rangecount = intval($pagecount / $pagerange);
  }
  for ($i = 1; $i < $rangecount + 1; $i++) {
    $startpage = (($i - 1) * $pagerange) + 1;
    $count = min($i * $pagerange, $pagecount);

    if ((($page >= $startpage) && ($page <= ($i * $pagerange)))) {
      for ($j = $startpage; $j < $count + 1; $j++) {
        if ($j == $page) {
?>
<td><b><?php echo $j ?></b></td>
<?php } else { ?>
<td><a href="index.php?page=<?php echo $j ?>"><?php echo $j ?></a></td>
<?php } } } else { ?>
<td><a href="index.php?page=<?php echo $startpage ?>"><?php echo $startpage ."..." .$count ?></a></td>
<?php } } } ?>
<?php if ($page < $pagecount) { ?>
<td> <a href="index.php?page=<?php echo $page + 1 ?>">Next >></a> </td>
<?php } ?>
</tr>
</table>
<?php } ?>

<?php function showrecnav($a, $recid, $count)
{
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><a href="index.php">Index Page</a></td>
<?php if ($recid > 0) { ?>
<td><a href="index.php?a=<?php echo $a ?>&recid=<?php echo $recid - 1 ?>">Prior Record</a></td>
<?php } if ($recid < $count - 1) { ?>
<td><a href="index.php?a=<?php echo $a ?>&recid=<?php echo $recid + 1 ?>">Next Record</a></td>
<?php } ?>
</tr>
</table>
<hr size="1" noshade>
<?php } ?>


<?php function viewrec($recid)
{
  $res = sql_select();
  $count = sql_getrecordcount();
  mysql_data_seek($res, $recid);
  $row = mysql_fetch_assoc($res);
  showrecnav("view", $recid, $count);
?>
<br>
<?php showrow($row, $recid) ?>
<?php
  mysql_free_result($res);
} ?>

<?php function connect()
{
  $conn = mysql_connect("localhost", "root", "**");
  mysql_select_db("cars");
  return $conn;
}

function sqlstr($val)
{
  return str_replace("'", "''", $val);
}

function sql_select()
{
  global $conn;
  global $order;
  global $ordtype;
  global $filter;
  global $filterfield;
  global $wholeonly;

  $filterstr = sqlstr($filter);
  if (!$wholeonly && isset($wholeonly) && $filterstr!='') $filterstr = "%" .$filterstr ."%";
  $sql = "SELECT ID, `Seller`, `Description`, `Gearbox`, `Engine Size`, `Title`, `Mileage`, `Body Type`, `Make`, `Model`, `Year`, `Price`, `Fuel`, `Location`, `Photo`, `Photo2`, `Photo3`, `Photo4`, `Contact No:`, `Email:` FROM `cars`";
  if (isset($filterstr) && $filterstr!='' && isset($filterfield) && $filterfield!='') {
    $sql .= " where " .sqlstr($filterfield) ." like '" .$filterstr ."'";
  } elseif (isset($filterstr) && $filterstr!='') {
    $sql .= " where (`Make` like '" .$filterstr ."') or (`Model` like '" .$filterstr ."') or (`Year` like '" .$filterstr ."') or (`Price` like '" .$filterstr ."') or (`Fuel` like '" .$filterstr ."') or (`Location` like '" .$filterstr ."')";
  }
  if (isset($order) && $order!='') $sql .= " order by `" .sqlstr($order) ."`";
  if (isset($ordtype) && $ordtype!='') $sql .= " " .sqlstr($ordtype);
  $res = mysql_query($sql, $conn) or die(mysql_error());
  return $res;
}

function sql_getrecordcount()
{
  global $conn;
  global $order;
  global $ordtype;
  global $filter;
  global $filterfield;
  global $wholeonly;

  $filterstr = sqlstr($filter);
  if (!$wholeonly && isset($wholeonly) && $filterstr!='') $filterstr = "%" .$filterstr ."%";
  $sql = "SELECT COUNT(*) FROM `cars`";
  if (isset($filterstr) && $filterstr!='' && isset($filterfield) && $filterfield!='') {
    $sql .= " where " .sqlstr($filterfield) ." like '" .$filterstr ."'";
  } elseif (isset($filterstr) && $filterstr!='') {
    $sql .= " where (`Make` like '" .$filterstr ."') or (`Model` like '" .$filterstr ."') or (`Year` like '" .$filterstr ."') or (`Price` like '" .$filterstr ."') or (`Fuel` like '" .$filterstr ."') or (`Location` like '" .$filterstr ."')";
  }
  $res = mysql_query($sql, $conn) or die(mysql_error());
  $row = mysql_fetch_assoc($res);
  reset($row);
  return current($row);
}function get_file_content_as_sql($fieldname)
{
  global $_FILES;
  $sql = "";
  if (!empty($_FILES))
    $sql=mysql_escape_string(file_get_contents(@$_FILES['x_'.$fieldname]['tmp_name']));
  if ($sql == '')
    $sql = 'null';
  else
   $sql = "'".$sql."'";
  return $sql;
}

function get_file_content_as_sql_for_update($fieldname)
{
  global $_POST;
  $sql = "`$fieldname` = `$fieldname`";
  if (isset($_POST["a_".$fieldname]))
  {
    switch ($_POST["a_".$fieldname]) {
    //remove
    case "2":
      $sql = "`$fieldname`= null";
      break;
    //replace
    case "3":
      $sql = "`$fieldname`=" .get_file_content_as_sql($fieldname);
      break;
    }
  }
  return $sql;
}
function outimage($recid, $field, $alt, $width, $height)
{
  $res = "<img src=\"index.php?getimage=$recid&field=$field\" border=0 alt=\"$alt\"";
  if ($width <> '')
    $res = $res." width=\"$width\"";
  if ($height <> '')
    $res = $res." height=\"$height\"";
  $res = $res.">";
  return $res;
}

function getimage($recid, $field)
{
  $res = sql_select();
  mysql_data_seek($res, $recid);;
  $row = mysql_fetch_assoc($res);
  echo $row[$field];
}


?>

Link to comment
Share on other sites

Just so you know, the php bracket syntax is for when trying to interpolate array/object values in a string, IE

$array = array(array with some key value pairs);
echo $array['someKey'];//brackets are not needed here
echo "Some string stuff and the array: $array['someKey']";//this will not work brackets are needed
echo "Some string stuff and the array: {$array['someKey']}";//now this will work. brackets are necessary here

 

If you are wondering why, its because when using an array in a string, without brackets it becomes ambiguous

//php doesn't really know $array is an array until run time
//so this is ambiguous
echo "some stuff plus $array['key']";
//PHP doesnt know if $array is a single variable value. or an array yet
//$array could have a value of say..  "hello"
//php doesnt know if we want the string to say "some stuff plus hello['key']"
//or do we want the value of $array at the key 'key' (say that valye is goodbye
//so the string could say "some stuff plus goodbye"

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.