amg182 Posted June 18, 2011 Share Posted June 18, 2011 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) 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]; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/ Share on other sites More sharing options...
fugix Posted June 18, 2011 Share Posted June 18, 2011 You are trying to call a php variable without wrapping it in php tags. Try <td width=21%><img src='<?php echo {$row["Photourl1"]}; ?>'></a></td> Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231601 Share on other sites More sharing options...
amg182 Posted June 19, 2011 Author Share Posted June 19, 2011 FUGIX! Thank you!! It didn't work at the start, but when I removed the curly brackets, it worked a treat! Thank you! Reallly appreciate your time and help! Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231711 Share on other sites More sharing options...
fugix Posted June 19, 2011 Share Posted June 19, 2011 Hmmm. Yeah I guess you wouldn't need the complex syntax in this case since it's the only thing wrapped in the php tags. Glad it worked for you. Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231761 Share on other sites More sharing options...
amg182 Posted June 19, 2011 Author Share Posted June 19, 2011 Cheers! Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231784 Share on other sites More sharing options...
mikesta707 Posted June 19, 2011 Share Posted June 19, 2011 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" Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231788 Share on other sites More sharing options...
fugix Posted June 19, 2011 Share Posted June 19, 2011 Right, shouldn't have used the compex syntax here. Silly mistake. Quote Link to comment https://forums.phpfreaks.com/topic/239748-showing-image-from-directory-using-mysql-field/#findComment-1231794 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.