0

Hi I am getting very frustrated with my php code I am relitivaly new to php and need a little help displaying multiple results from mysql within the one page and it wont do it!! what am I missing??

I am displaying the results with this code but feel I must missing something from one or another part of my code??

Please help me out

<?php echo $image; ?>
<?php

$productid = $_GET['id'];

$query = "SELECT * FROM shop_products WHERE productid = '" . $productid . "'";
$result = mysql_query($query) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
if (mysql_num_rows($result) > 0)
{
	while ($row = mysql_fetch_array($result))
	{
		// Get an image 
		$queryi = "SELECT filename FROM images WHERE productid = '" . $row['productid'] . "' LIMIT 0,4";
		$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
		$tweener = mysql_fetch_row($resulti);
		$filename = $tweener[0];
		
		
		if ($filename != "") 
		{
			// Resize thumbs ready for display
			$imagesizer = getimagesize($root . 'admin/uploads/' . $filename); 
			$imgrs = imageResize($imagesizer[0], $imagesizer[1], 300);
			$image = '<img src="' . $root . 'admin/uploads/' . $filename . '" alt="' . $row['productid'] . '" ' . $imgrs . ' />';
			
		}
		else
		{
			$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';
		}
		
		
		?>
3
Contributors
12
Replies
13
Views
5 Years
Discussion Span
Last Post by Biiim
0

Try this

// Get an image 
		$queryi = "SELECT filename FROM images WHERE productid = '" . $row['productid'] . "' LIMIT 0,4";
		$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
		
		while ($tweener=mysql_fetch_array($result)) 
{
		if ($tweener['filename'] != "") 
		{
			// Resize thumbs ready for display
			$imagesizer = getimagesize($root . 'admin/uploads/' . $tweener['filename']); 
			$imgrs = imageResize($imagesizer[0], $imagesizer[1], 300);
			$image = '<img src="' . $root . 'admin/uploads/' . $tweener['filename'] . '" alt="' . $row['productid'] . '" ' . $imgrs . ' />';
			
		}
		else
		{
			$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';
		}
}

Edited by simplypixie: n/a

0

well the code I assume is working no parse errors as such however it will not display any of the 4 images in the database?? I assume I wouls still use the $image mark to define where I want them to be displayed??

Or am I still missing something?

0

Is the link to where the images are stored definitely correct, including your $root variable?

Yes my $root is correct and so is the image url??

0

well the code I assume is working no parse errors as such however it will not display any of the 4 images in the database?? I assume I wouls still use the $image mark to define where I want them to be displayed??

Yes you need to echo the $image where you want it in the page. Another thought - have you checked your source code to make sure your page is even getting to where it should display the images without any errors?

0

Yes you need to echo the $image where you want it in the page. Another thought - have you checked your source code to make sure your page is even getting to where it should display the images without any errors?

well the source is onlt a div with some style attributes and the $image to echo the images which is another thing should the $image variable display all the images on the page instead of just one of them??

0

Right PROGRESS!! have got one images to display now bearing in mind it is the last image to be uploaded I am guessing that it is looping otherwise it would stop at the first to be uploaded?? however it is still only displaying one image... any ideas?

0

OK, I am literally just looking at things by a process of elimination at the moment - are all your filenames different? I am wondering if you are using your productid as your image filename which would then only return the last record / image??

0

Yes all the file names are different just checked in the DB the query calls by product ID but the file names are different

0

SOLUTION!!

this works great for what I need.

<?php

$productid = $_GET['id'];

$query = "SELECT * FROM shop_products WHERE productid = '" . $productid . "'";
$result = mysql_query($query) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
if (mysql_num_rows($result) > 0)
{
	while ($row = mysql_fetch_array($result))
	{
		$queryi = "SELECT filename FROM images WHERE productid = '" . $row['productid'] . "' LIMIT 0,4";
$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
 
while ($tweener=mysql_fetch_array($resulti))
{
if ($tweener['filename'] != "")
{
// Resize thumbs ready for display
$imagesizer = getimagesize($root . 'admin/uploads/' . $tweener['filename']);
$imgrs = imageResize($imagesizer[0], $imagesizer[1], 200);

echo <div>'<img src="' . $root . 'admin/uploads/' . $tweener['filename'] . '" alt="' . $tweener['productname'] . '" ' . $imgrs . ' />';
 
}
else
{
$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';

}
}
		
		
		?>

THANKYOU SIMPLEPIXIE FOR YOUR HELP WITH MUCH GRATITUDE!!:)

0

I presume you have run your query in the database to make sure you have no errors?

Also check in the PHP that you are getting 4 rows returned and echo out the actual filenames

$total_rows=0;
$queryi = "SELECT filename FROM images WHERE productid = '" . $row['productid'] . "' LIMIT 0,4";
		$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
$total_rows=mysql_num_rows($resulti);
echo $total_rows;
while ($tweener=mysql_fetch_array($result)) 
{
echo $tweener['filename'].'<br`>';		
if ($tweener['filename'] != "") 
		{
			// Resize thumbs ready for display
			$imagesizer = getimagesize($root . 'admin/uploads/' . $tweener['filename']); 
			$imgrs = imageResize($imagesizer[0], $imagesizer[1], 300);
			$image = '<img src="' . $root . 'admin/uploads/' . $tweener['filename'] . '" alt="' . $row['productid'] . '" ' . $imgrs . ' />';
 
		}
		else
		{
			$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';
		}
}

Sorry, I missed that you had solved before writing this :-)

Edited by simplypixie: n/a

0

Hi I am getting very frustrated with my php code I am relitivaly new to php and need a little help displaying multiple results from mysql within the one page and it wont do it!! what am I missing??

I am displaying the results with this code but feel I must missing something from one or another part of my code??

Please help me out

<?php echo $image; ?>
<?php

$productid = $_GET['id'];

$query = "SELECT * FROM shop_products WHERE productid = '" . $productid . "'";
$result = mysql_query($query) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
if (mysql_num_rows($result) > 0)
{
	while ($row = mysql_fetch_array($result))
	{
		// Get an image 
		$queryi = "SELECT filename FROM images WHERE productid = '" . $row['productid'] . "' LIMIT 0,4";
		$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
		$tweener = mysql_fetch_row($resulti);
		$filename = $tweener[0];
		
		
		if ($filename != "") 
		{
			// Resize thumbs ready for display
			$imagesizer = getimagesize($root . 'admin/uploads/' . $filename); 
			$imgrs = imageResize($imagesizer[0], $imagesizer[1], 300);
			$image = '<img src="' . $root . 'admin/uploads/' . $filename . '" alt="' . $row['productid'] . '" ' . $imgrs . ' />';
			
		}
		else
		{
			$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';
		}
		
		
		?>
<?php

$productid = $_GET['id'];
if(!ctype_digit($productid)){$productid = 1;}

$query = "SELECT * FROM shop_products WHERE productid = {$productid}";
$result = mysql_query($query) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
if(mysql_num_rows($result) > 0){
	while ($row = mysql_fetch_array($result)){
		// Get an image 
		$queryi = "SELECT `filename` FROM images WHERE productid = {$row['productid']} LIMIT 0,4";
		$resulti = mysql_query($queryi) or die( "An error has occured: " .mysql_error (). ":" .mysql_errno ());
		//you want to loop through the 4 images not pull 1
		while($tweener = mysql_fetch_row($resulti)){
			$filename = $tweener[0];
			if ($filename != ""){
				// Resize thumbs ready for display
				$imagesizer = getimagesize($root . 'admin/uploads/' . $filename); 
				$imgrs = imageResize($imagesizer[0], $imagesizer[1], 300);
				$image = '<img src="' . $root . 'admin/uploads/' . $filename . '" alt="' . $row['productid'] . '" ' . $imgrs . ' />';
			}else{
				$image = '<img src="' . $root . 'assets/no-image-large.jpg" alt="No Image Available" />';
			}
		}
	}
}else{
	//no rows
}
?>
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.