---
title: "Loop med kategorier"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/150356-loop-med-kategorier"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mhedda"
published: "2006-08-20T21:50:06.000Z"
updated: "2006-08-21T18:39:41.000Z"
replies: 6
views: 457
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/150356-loop-med-kategorier"
---

# Loop med kategorier

## #1 — mhedda, 2006-08-20T21:50Z

Hejsan!
Jag har blivit alldeles snurrig på denna kod.
Jag vill att det skall visas 3 st produkter i rad \<td\> och det FUNKAR
 men sen till varje rad så skall det finnas en tabell omkring som det visas en överskrift med kategorinamn samt längst ned i tabellen skall det finnas en länk till fler av produkter som hör till denna kategori.
Hur göra?
Första loopen så blir det varken överskrift eller länk längst ned på.
den andra loopen blir det överskrift men ingen länk längst ned på.
den tredje loopen blir det överskrift och länk längst ned på

```php
//Show products mainPage
function showProdStart($doId){
		// This function will list all of the tbl_items
		// from the tbl_items table. Each item will have
		// a link to add it to the cart
		global $begin,$end;
		$begin=0;
		$end=3;
		openConn();
		$resultTop = mysql_query("select * from tbl_items inner join tbl_category on tbl_items.itemCatId = tbl_category.catId where tbl_items.itemStat='2' order by tbl_items.itemName AND tbl_items.itemCatId DESC");
		$result = mysql_query("select * from tbl_items inner join tbl_category on tbl_items.itemCatId = tbl_category.catId where tbl_items.itemStat='2' order by tbl_items.itemName AND tbl_items.itemCatId DESC");
		$rowTop = mysql_fetch_row($resultTop);
		$catIdTop=$rowTop[0];
		$itemCatNameTop=$rowTop[10];
		$catIdTest="";

  echo
  "	<table width='385' cellspacing='0' cellpadding='0' border='0'>
		<tr>
			<td valign='top'></td>
		</tr>
		<tr>
			<td>

		";
			while($row = mysql_fetch_array($result))
			{
				
				$itemCatName=$row['categoryName'];
				$catId=$row['catId'];
				
				if(($begin == $end)&&($catIdTest != $row["catId"])) { 
					echo" 
					</tr>
					</table>
					
					<table border='0' cellpadding='0' cellspacing='0' width='385'>
					<tr bgcolor='#A70E0E' height='30'>
						<td background='img/gifs/box_topleft.gif' width='10'></td>
						<td background='img/gifs/box_topmiddle.gif'><span class='headerOrder'>&nbsp; ".$itemCatName."  &nbsp; </span></td>
						<td background='img/gifs/box_topright.gif' width='10'></td>
					</tr>
				</table>
			<table class='orderTableBottom' width='385' cellspacing='0' cellpadding='2' border='0'>
				<tr> 
					"; 
					$begin = 0; 
					}
						echo "
							<form name='adItem' method='post' action='".$_SERVER["PHP_SELF"]."'>
								<td class='bluttBlack' align='center' bgcolor='' colspan='4'  height='10' valign='top'>
								<a class='menu' href='".$_SERVER["PHP_SELF"]."?action=show_prodDesc&id=".$doId."&itemIdShow=".$row['itemId']."'><img src='img/itemImgThumb/".$row['itemImg']."' alt='Mer information' border='0'></a>
								<br>".$row['itemPrice']." kr
								<div valign='bottom'><input class='inputQtyChoise' maxlength='4' type='hidden' name=itemProduct[".$row['itemId']."] value=1></div><br>
								<div valign='bottom'><input type ='image' src='img/gifs/buy.gif' class='butClass' onMouseOver='selOn(this)' onMouseOut='selOff(this)' onMouseDown='selDown(this)' onMouseUp='selUp(this)' border'0'></div><br>
								<input type='hidden' name='action' value='add_item'>
								<input type='hidden' name='id' value='".$doId."'>
								<a class='menu' href='".$_SERVER["PHP_SELF"]."?action=show_prodDesc&id=".$doId."&itemIdShow=".$row['itemId']."'>".$row['itemName']."\n</a><br>
								</td>
							</form>
							";
					if(($begin == $end)&&($catIdTest != $row["catId"])) { 
						echo " 
						</tr>
						</table> 
						<table border='0' cellpadding='0' cellspacing='0' width='385'>
						<tr bgcolor='#A70E0E' height='30'>
						<td background='img/gifs/box_downLeft.gif' width='10'></td>
						<td background='img/gifs/box_downMiddle.gif' width='' align='right'><span class='footerOrderSmall'>&nbsp; <a class='footerMenu' href='".$_SERVER["PHP_SELF"]."?action=showPageById&id=2&catId=".$catId."'>Visa fler ".$itemCatName." &raquo;&nbsp;</a>gffgffgfgf</span></td>
						<td background='img/gifs/box_downRight.gif' width='10'></td>
						</tr>
						</table> 
						"; 
						$begin = 0; 
					} 

   						$begin++; 
						$catIdTest=$row['catId'];
				}		
			 echo "
			 </table>
			 			<table border='0' cellpadding='0' cellspacing='0' width='385'>
						<tr bgcolor='#A70E0E' height='30'>
						<td background='img/gifs/box_downLeft.gif' width='10'></td>
						<td background='img/gifs/box_downMiddle.gif' width='' align='right'><span class='footerOrderSmall'>&nbsp; <a class='footerMenu' href='".$_SERVER["PHP_SELF"]."?action=showPageById&id=2&catId=".$catId."'>Visa fler ".$itemCatName." &raquo;&nbsp;</a></span></td>
						<td background='img/gifs/box_downRight.gif' width='10'></td>
						</tr>
						</table> 
			 
			<table width='385' cellspacing='0' cellpadding='0' border='0'>
			 <tr>
				<td align='left' valign='bottom' width='100%' height='25' colspan='3'>
					<div align='right'><a class='menuConsol' href='".$_SERVER["PHP_SELF"]."?action=show_cart'>Din varukorg <span class=\"blutt\">&raquo;</span>\n</a></div>
				</td>
			</tr>
		</table>
				
				</td>
			</tr>
			</table>";
}
```

Hoppas ni förstår jag är lite trött så förklaringen kanske är lite diffus.     :q 

MVH mhedda

Permalänk: https://www.webforum.nu/p/150356

## #2 — mhedda, 2006-08-21T08:11Z

Är det någon som vet jag har nog rört till loopen lite
är jag på rätt väg eller finns det något enklare/finare sätt?

Det skall alltså loopas ut produkter tre i rad efter kategori sen ny tabell och ny kategori och tre produkter i tabellen har jag gjort en rubrik somdet skall stå kategorinamn i slutet av tabellen en länk till fler produkter i samma kategori.

Är det någon som vet ?
Tack på förhand.

MVH hedda

Permalänk: https://www.webforum.nu/p/1854222

## #3 — Eitraz, 2006-08-21T14:27Z

hehe, du  kan inte göra en bild på hur du vill ha det? ;)

Permalänk: https://www.webforum.nu/p/1854336

## #4 — mhedda, 2006-08-21T14:42Z

He he det kanske är lite lättare att förstå då ja.
Jag bifogar en jpg här.

Bilagor:

- [web.jpg](https://www.webforum.nu/a/11826.jpg)

Permalänk: https://www.webforum.nu/p/1854343

## #5 — Eitraz, 2006-08-21T15:15Z

Jag är inget stort fan av dubbla SQL-satser, men här är väll ett sätt du kan lägga upp det hela på (hugger upp det i lite fler funktioner så man för översikt helt enkelt).

```php
<?php

function window_top($title) {
	$ret  = "<tr>";
	$ret .= "<td id='frame_top_left'></td>";
	$ret .= "<td id='frame_top_body'>{$title}</td>";
	$ret .= "<td id='frame_top_right'></td>";
	$ret .= "</tr>";

	$ret .= "<tr>";
	$ret .= "<td id='frame_left'></td>";
	$ret .= "<td id='frame_body'>";

	$ret .= "<table>";
	$ret .= "<tr>";

	return $ret;
}

function window_product($product) {
	$ret  = "<td valign='top'>";
	
	// SKRIV UT BILDEN, TEXTEN OCH KNAPPEN HÄR

	$ret .= "</td>":

	return $ret;
}

function window_bottom($title) {
	$ret  = "</tr>";
	$ret = "</table>";

	$ret .= "</td>";
	$ret .= "</tr>";

	$ret .= "<tr>";
	$ret .= "<td id='frame_bottom_left'></td>";
	$ret .= "<td id='frame_bottom_body'>Fler {$title}</td>";
	$ret .= "<td id='frame_bottom_right'></td>";
	$ret .= "</tr>";

	return $ret;
}

function showProdStart($doId) {
	$ret = "<table>";

	// ...

	$query_cat = mysql_query("SELECT category, ...");
	while ($row_cat = mysql_fetch_array($query_cat)) {
		$ret .= window_top($row_cat['category']);			
		$query_prod = mysql_query("SELECT prod_id, name, ... WHERE category = '{($row_cat['category']}' LIMIT 0,3");
		while ($row_prod = mysql_fetch_array($query_prod)) {
			$ret .= window_prod($row_prod);
		}
		$ret .= window_top(($row_cat['category']);
	}

	ret .= "</table>"

	return $ret;
}

?>
```

Permalänk: https://www.webforum.nu/p/1854356

## #6 — mhedda, 2006-08-21T15:31Z

Man tackar och bugar jag skall prova detta.

Permalänk: https://www.webforum.nu/p/1854358

## #7 — mhedda, 2006-08-21T18:39Z

Tack så väldigt mycket Eitraz!
Äntligen slipper jag sitta och tragla med denna kod så här vart det när det var klart. 
Det kanske kan hjälpa andra i samma sitts    :P  

```php
//Show products mainPage 3 in row.

function window_top($itemCatName) { 
    $ret  = "<tr bgcolor='#A70E0E' height='30'>"; 
    $ret .= "<td background='img/gifs/box_topleft.gif' width='10'></td>"; 
    $ret .= "<td background='img/gifs/box_topmiddle.gif'><span class='headerOrder'>&nbsp; ".$itemCatName."  &nbsp; </span></td>"; 
    $ret .= "<td background='img/gifs/box_topright.gif' width='10'></td>"; 
    $ret .= "</tr>"; 

    $ret .= "<tr>"; 
    $ret .= "<td id='frame_left'></td>"; 
    $ret .= "<td id='frame_body'>"; 

    $ret .= "<table class='orderTableBottom' width='385' cellspacing='0' cellpadding='2' border='0'>"; 
    $ret .= "<tr>"; 

    return $ret; 
} 

function window_product($row_prod,$doId) { 
    $ret  = "<td valign='top'>
     
    							<form name='adItem' method='post' action='".$_SERVER["PHP_SELF"]."'>
								<td class='bluttBlack' align='center' bgcolor='' colspan='4'  height='10' valign='top'>
								<a class='menu' href='".$_SERVER["PHP_SELF"]."?action=show_prodDesc&id=".$doId."&itemIdShow=".$row_prod['itemId']."'><img src='img/itemImgThumb/".$row_prod['itemImg']."' alt='Mer information' border='0'></a>
								<br>".$row_prod['itemPrice']." kr
								<div valign='bottom'><input class='inputQtyChoise' maxlength='4' type='hidden' name=itemProduct[".$row_prod['itemId']."] value=1></div><br>
								<div valign='bottom'><input type ='image' src='img/gifs/buy.gif' class='butClass' onMouseOver='selOn(this)' onMouseOut='selOff(this)' onMouseDown='selDown(this)' onMouseUp='selUp(this)' border'0'></div><br>
								<input type='hidden' name='action' value='add_item'>
								<input type='hidden' name='id' value='".$doId."'>
								<a class='menu' href='".$_SERVER["PHP_SELF"]."?action=show_prodDesc&id=".$doId."&itemIdShow=".$row_prod['itemId']."'>".$row_prod['itemName']."\n</a><br>
								</td>
							</form>

   </td>"; 

    return $ret; 
} 

function window_bottom($itemCatName,$catId) { 
    $ret  = "</tr>"; 
    $ret = "</table>"; 

    $ret .= "</td>"; 
    $ret .= "</tr>"; 
	$ret .= "<tr bgcolor='#A70E0E' height='30'>";
	$ret .= "<td background='img/gifs/box_downLeft.gif' width='10'></td>";
	$ret .= "<td background='img/gifs/box_downMiddle.gif' width='' align='right'><span class='footerOrderSmall'>&nbsp; <a class='footerMenu' href='".$_SERVER["PHP_SELF"]."?action=showPageById&id=2&catId=".$catId."'>Visa fler ".$itemCatName." &raquo;&nbsp;</a></span></td>";
	$ret .= "<td background='img/gifs/box_downRight.gif' width='10'></td>";
	$ret .= "</tr>";

    return $ret; 
} 
function showProdStart($doId){
		// This function will list all of the tbl_items
		// from the tbl_items table. Each item will have
		// a link to add it to the cart
    $ret = "<table border='0' cellpadding='0' cellspacing='0' width='385'>"; 

    // ... 
	$query_cat = mysql_query("select DISTINCT catId,categoryName from tbl_items inner join tbl_category on tbl_items.itemCatId = tbl_category.catId where tbl_items.itemStat='2' order by tbl_items.itemName AND tbl_items.itemCatId DESC");
    //$query_cat = mysql_query("SELECT category, ..."); 
    while ($row_cat = mysql_fetch_array($query_cat)) { 
        $ret .= window_top($row_cat['categoryName']);
		//$result = mysql_query("select * from tbl_items inner join tbl_category on tbl_items.itemCatId = tbl_category.catId where tbl_category.catId = '{($row_cat['catId']}' LIMIT 0,3");
       	$query_prod = mysql_query("SELECT *from  tbl_items WHERE itemCatId  = '".$row_cat['catId']."' LIMIT 0,3"); 
        while ($row_prod = mysql_fetch_array($query_prod)) { 
            $ret .= window_product($row_prod,$doId); 
        } 
        $ret .= window_bottom($row_cat['categoryName'],$row_cat['catId']); 
    } 

    $ret .= "</table>"; 

    echo $ret; 

}
```

Ha det bra.

Permalänk: https://www.webforum.nu/p/1854398

---

Tråden på webben: https://www.webforum.nu/amne/php/150356-loop-med-kategorier
