Member Avatar for Borderline

Hi There

I have a very simple web gallery in php and mysql. I have noticed upon creating it, that I have several fields in my database contacting the same information (to a certain extent) and I wondered whether this would eventually put a strain on my server. Would it be possible to marry two or more of the columns together in the php coding to produce the same result?

It also seems daft spending time putting the same info into the database over and over again.

My database currently looks like this: http://www.equinefocus.co.uk/sampledatabase.jpg - however, this has not yet had the main image url included, which would look like the thumb field, but without the /thumbs/ directory included.

For example:

Each photo has a reference number, which consists of:
COLOR="red"]date and an image number
i.e. 2008-04-13-001

Each thumbnail consists of:
directory path + date + /thumbs/ + image number + file extension
i.e. /photos/eventing/2007-09-01/thumbs/001 .jpg

For the thumbnail, would it be possible to pull the directory path, date, image number from the database, have the file extension and /thumb/ section in the php code, and have all elements join together to form the link to the image? It would mean that some of the content is being used more than once (date appears in the url to the image and the reference number displayed underneath).

My current code to produce the image is:

<?php  
	// Connects to your Database  
	mysql_connect("*****", "*****", "*****") or die(mysql_error());  
	mysql_select_db("*****") 
	or die ("Unable to connect to MySQL");
	 
	$data = mysql_query("SELECT * FROM `others` WHERE date = '2008-04-27' AND ref ='2008-04-27-001'") 
	or die ("No data available, please contact the site admin describing where you found this error message.");  
	?>
	
	<table cellpadding="2" width="65%">
	
	<?php
	while($info = mysql_fetch_array($data)) {  
	?>

	<tr><td>	<img src="<?php echo $info['full'];?>" border="0"</a></td></tr>
	<tr><td>	<span class="refno">Photo Reference: <?php echo $info['ref']; ?></span></td></tr>
	<tr><td>	<?php echo $info['info']; ?></td></tr>

	</table>

Bit complex, sorry! Any assistance would be appreciated.

Recommended Answers

All 3 Replies

Member Avatar for amigura

merge thumb and url into image - colunm just contains name e.g 1.jpg
your ref seems to be primary key and date. if true, get rid of ref.

// images
$big_image='/photos/eventing/'.$info['date'].'/'.$info['image'];
$thumb='/photos/eventing/'.$info['date'].'/thumbs/'.$info['image'];

// ref
$ref = $info['date'].'-'.$info['primary_id'];

// mysql
$data = mysql_query("SELECT * FROM `others` WHERE date = '2008-04-27' AND primaryid ='1'")
commented: Thank you +1
Member Avatar for Borderline

Thanks, glad to know it is possible, can save a lot of time.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<head><link rel="stylesheet" type="text/css" href="http://www.equinefocus.co.uk/style/20080512.css"/></head> 

<html><body>

		<?php	$page_title='Equine Focus';
			include($_SERVER['DOCUMENT_ROOT'].'/style/20080512photography.php');?>

<div id="main">
<center>

<div class="pagination">
	<ul>
	<li><a href="/photos/other/2008-04-27/page01.php">Return to album</a></li>
	</ul>
</div>

	<?php  
	// Connects to your Database  
	mysql_connect("*****", "*****", "*****") or die(mysql_error());  
	mysql_select_db("*****") 
	or die ("Unable to connect to MySQL");

		// images
		$big_image='/photos/eventing/'.$info['date'].'/'.$info['image'];
		$thumb='/photos/eventing/'.$info['date'].'/thumbs/'.$info['image'];
		
		// ref
		$ref = $info['date'].'-'.$info['ref'];
		
		// mysql
		$data = mysql_query("SELECT * FROM `eventing` WHERE date = '2008-04-13' AND ref ='080'") or die 
		("No data available, please contact the site admin describing where you found this error message.");  
		?>
	
	<table cellpadding="2" width="65%">
	
	<?php
	while($info = mysql_fetch_array($data)) {  
	?>

	<tr><td>	<img src="<?php echo $info['$big_image'];?>" border="0"</a></td></tr>
	<tr><td>	<span class="refno">Photo Reference: <?php echo $info['$ref']; ?></span></td></tr>
	<tr><td>	<?php echo $info['info']; ?></td></tr>

	</table>


<?php
}  
?>
</table> 


</div></center>
</html></body>

End result is: http://www.equinefocus.co.uk/test_page.php - what errors have I made calling the info from the database?

Member Avatar for amigura

the $info is not from db it is a set varible so it should be echo $big_image and same with $info - echo $ref;
the image and ref should go below db query to get info also

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<head><link rel="stylesheet" type="text/css" href="http://www.equinefocus.co.uk/style/20080512.css"/></head> 

<html><body>

		<?php	$page_title='Equine Focus';
			include($_SERVER['DOCUMENT_ROOT'].'/style/20080512photography.php');?>

<div id="main">
<center>

<div class="pagination">
	<ul>
	<li><a href="/photos/other/2008-04-27/page01.php">Return to album</a></li>
	</ul>
</div>

	<?php  
	// Connects to your Database  
	mysql_connect("*****", "*****", "*****") or die(mysql_error());  
	mysql_select_db("*****") 
	or die ("Unable to connect to MySQL");

		
		
		// mysql
		$data = mysql_query("SELECT * FROM `eventing` WHERE date = '2008-04-13' AND ref ='080'") or die 
		("No data available, please contact the site admin describing where you found this error message.");  
		?>
	
	<table cellpadding="2" width="65%">
	
	<?php
	while($info = mysql_fetch_array($data)) {  
                        // images
		$big_image='/photos/eventing/'.$info['date'].'/'.$info['image'];
		$thumb='/photos/eventing/'.$info['date'].'/thumbs/'.$info['image'];
		
		// ref
		$ref = $info['date'].'-'.$info['ref'];
	?>

	<tr><td>	<img src="<?php echo $big_image; ?>" border="0"</a></td></tr>
	<tr><td>	<span class="refno">Photo Reference: <?php echo $ref; ?></span></td></tr>
	<tr><td>	<?php echo $info['info']; ?></td></tr>

	</table>


<?php
}  
?>
</table> 


</div></center>
</html></body>
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.