Hey,

Ik wil graag TV's uitlezen op een pagina waar aan de zijkant links staan (samsung, toshiba etc) en wanneer daarop word geklikt dat hij dan de TV's van dat merk laat zien.

De code die er nu is:

<!--Content Block-->
<section class="content-wrapper">
	<div class="content-container container">
		<div class="breadcrum-container">
			<ul>
				<li><a href="#" title="Home">Home</a></li>
				<li>Merken</li>
			</ul>
		</div>
		<div class="col-left">
			<div class="block man-block">
				<div class="block-title">Merken</div>
				<ul>
					<li><a href="?p=category&m=Samsung" title="Samsung">Samsung</a></li>
					<li><a href="?p=category&m=LG" title="LG">LG</a></li>
					<li><a href="?p=category&m=Philips" title="Philips">Philips</a></li>
					<li><a href="?p=category&m=Sony" title="Sony">Sony</a></li>
					<li><a href="?p=category&m=Toshiba" title="Toshiba">Toshiba</a></li>
					<li><a href="?p=category&m=Samsung" title="Panasonic">Panasonic</a></li>
				</ul>
			</div>
		</div>
		<div class="col-main">
			<div class="category-banner"><img src="images/merken.png" title="Merken" alt="Merken" /></div>
			<div class="pager-container">
				<div class="pager">
					<div class="show-items"></div>
					<div class="show-per-page"></div>
				</div>
				<div class="view-by-block">
				
					<div class="short-by">
						
					</div>
				</div>
			</div>
<div class="new-product-block">
<?php
session_start();
$_POST['Naam'];
$_POST['Prijs'];
$rowsover = $rows - ($pagina * $rowsperpagina);
$rowsperpagina = 6;

if(isset($_GET['page']) )
{
   $pagina = $_GET['page'] + 1;
   $offset = $rowsperpagina * $pagina;
}
else
{
   $pagina = 0;
   $offset = 0;
}

$max = 'limit ' .$offset.',' .$rowsperpagina;

echo "<center>";
if($pagina > 0 )
{
	   $last = $pagina - 2;
	   echo "<a href=\"?p=category&page=$last\">Vorige pagina</a> |";
	   echo " <a href=\"?p=category&page=$pagina\">Volgende pagina</a>";
}
	else if( $pagina == 0 )
	{
  		 echo "<a href=\"?p=category&page=$pagina\">Volgende pagina</a>";
	}
		else if( $rowsover < $rowsperpagina )
		{
		   $last = $pagina - 2;
		   echo "<a href=\"?p=category&page=$last\">Vorige pagina</a>";
		}
echo "</center>";
?>
<ul class="product-grid">
<?php
include('connection.php');
$sql = mysql_query("SELECT * FROM `producten` ".$max);
$pad = "database/";
$count = 0;
$count2 = 0;
while($rij = mysql_fetch_array($sql))
{
$afb = $pad.$rij['Afbeelding'];
$count++;
$count2++;
if($count > 3){
echo '<ul class="product-grid">';
$count = 0;
}
?>

				<li>
						<div class="pro-img"><?php echo '<a href=?p=productpage&id='.$rij['prodid'].'><img title="Product" alt="Product" src="'.$afb.'" /></a>'; ?></div>
						<div class="pro-content"><p><?php echo $rij['Naam']; ?></p></div>
						<div class="pro-price">€ <?php echo $rij['Prijs']; ?> </div>
						<div class="pro-btn-block">
							<?php
							if(isset($_GET['page'])){$_SESSION['link']=$_GET['page'];}
							 echo '<a class="add-cart left" href="?p=category&page='.$pagina.'&action=add&id='.$rij['prodid'].'" title="Add to Cart">Add to Cart</a>';
							?>
							<?php echo '<a class="add-cart right" href=?p=productpage&id='.$rij['prodid'].' title="Quick View">Meer informatie</a>' ?></div>
						<div class="pro-link-block">
							<div class="clearfix"></div>
						</div>
					</li>
              <?php	
if($count2 == 3){
	echo '</ul>';
$count2 = 0;
}
}


?>
</ul>

			</div>


En de SQL nog:


-- phpMyAdmin SQL Dump
-- version 4.0.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 27, 2013 at 01:59 PM
-- Server version: 5.5.24-log
-- PHP Version: 5.3.13

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `dbtmtk10`
--

-- --------------------------------------------------------

--
-- Table structure for table `producten`
--

CREATE TABLE IF NOT EXISTS `producten` (
  `prodid` int(11) NOT NULL AUTO_INCREMENT,
  `Merk` varchar(256) NOT NULL,
  `Type` varchar(256) NOT NULL,
  `Naam` varchar(256) NOT NULL,
  `Grootte` varchar(256) NOT NULL,
  `Prijs` float(10,2) NOT NULL,
  `Beschrijving` text NOT NULL,
  `Afbeelding` varchar(256) NOT NULL,
  PRIMARY KEY (`prodid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;

--
-- Dumping data for table `producten`
--

INSERT INTO `producten` (`prodid`, `Merk`, `Type`, `Naam`, `Grootte`, `Prijs`, `Beschrijving`, `Afbeelding`) VALUES
(1, 'Samsung', 'LED', 'UE40EH6030 LED tv ', '40', 419.99, 'Met de Samsung UE40EH6030 LED tv geniet je van scherpe beeldkwaliteit voor een goede en betaalbare prijs. Dit schitterende Full HD toestel met comfortabel scherm geeft beelden zeer vloeiend weer mede dankzij een beeldverversing van 200 Hz CMR; wel zo fijn bij het kijken van een voetbalwedstrijd bijvoorbeeld.', 'samsungtv.jpg'),
(7, 'Sony', 'e4ter', 'reyer', '234', 432.00, '235', 'IMG_2040.JPG'),
(16, 'Toshiba', '234', '2353', '2235', 235235.00, '23523', 'id.jpg');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Kan iemand me op weg helpen?

En wat is nu je vraag? graag met een relevante vraag komen en relevante code plaatsen. mocht je willen dat iemand code voor je schrijft kan je hiervoor een vacature maken.
Hendrik Wit op 27/10/2013 14:58:49

Kan iemand me op weg helpen?


Volgens mij vraag ik niet dat iemand dit helemaal voor me maakt? Maar of iemand me op weg kan helpen met bijvoorbeeld de SQL query.

De code is gewoon relevant, database structuur staat erbij, en de php code op de pagina waar de producten worden uitgelezen.
Nou gewoon dit

<?php
$query =
"SELECT
Merk, Type, Naam, Grootte, Prijs, Beschrijving, Afbeelding
FROM
producten
WHERE
Merk = '" . mysqli_real_escape_string($_POST['merk']) ."'
AND
..
..
..
ORDER BY Prijs
"

?>

Verder kan je beter mysql(i)_fetch_assoc gebruiken ipv mysql_fetch_array

Die verschillende counts snap ik niet helemaal waar is dat voor nodig?

Thanks, die counts zijn voor de grid.

Enig idee hoe je dit dan in de a href, zet van de merken?
Ik heb bijvoorbeeld bij het klikken op een productfoto:
'<a href=?p=productpage&id='


Oftewel hij gaat naar de pagina productpage met het bijbehorende id, het lijkt me overbodig om voor elk merk een aparte pagina te maken, zou ik merk ook in de link mee kunnen sturen?

Het gaat om deze links:


					<li><a href="?p=category&m=Samsung" title="Samsung">Samsung</a></li>
					<li><a href="?p=category&m=LG" title="LG">LG</a></li>
					<li><a href="?p=category&m=Philips" title="Philips">Philips</a></li>
					<li><a href="?p=category&m=Sony" title="Sony">Sony</a></li>
					<li><a href="?p=category&m=Toshiba" title="Toshiba">Toshiba</a></li>
					<li><a href="?p=category&m=Panasonic" title="Panasonic">Panasonic</a></li>


Alvast bedankt.
Ja, dat kan je ook meegeven.
Je hoeft niet voor elke product een aparte pagina te maken dat is overkill en alles behalve dynamisch ( wat je dus wilt bereiken d.m.v. PHP ) je kan het url gewoon meegeven in de link alsof je een echo plaatst

dus



<li><a href="?p=category&m=<?php echo row['merk']; ?>" title="<?php echo row['merk']; ?>"><?php echo row['merk']; ?></a></li>
Oke dan heb ik van de bovenste link 'Samsung' het volgende gemaakt:

<?php echo '<a href=?p=overzichtmerk&merk='.$rij['merk'].'>Samsung</a>'; ?>

En op de pagina merkoverzicht de query:

include('/connection.php');
$merk = $_GET['merk'];
$sql = mysql_query("SELECT * FROM producten WHERE merk = '$merk'")
or die(mysql_error());  


Klopt dat?
Ja, maar je query is niet beveiligd, dus lek.
- SanThe - op 28/10/2013 20:45:22

Ja, maar je query is niet beveiligd, dus lek.


Oke dat kan ik later altijd nog aanpassen, eerst even werkend zien te krijgen :).
Ik heb nu die code aangepast, dit is wat ik nu heb:

overzichtmerk.php (waar alleen het desbetreffende merk uitgelezen moet worden):


<!--Content Block-->
<section class="content-wrapper">
	<div class="content-container container">
		<div class="breadcrum-container">
			<ul>
				<li><a href="#" title="Home">Home</a></li>
				<li>Merken</li>
			</ul>
		</div>
		<div class="col-left">
			<div class="block man-block">
				<div class="block-title">Merken</div>
				<ul>
					<?php echo '<a href=?p=overzichtmerk&merk='.$rij['merk'].'>Samsung</a>'; ?>
					<li><a href="?p=category&m=LG" title="LG">LG</a></li>
					<li><a href="?p=category&m=Philips" title="Philips">Philips</a></li>
					<li><a href="?p=category&m=Sony" title="Sony">Sony</a></li>
					<li><a href="?p=category&m=Toshiba" title="Toshiba">Toshiba</a></li>
					<li><a href="?p=category&m=Panasonic" title="Panasonic">Panasonic</a></li>
				</ul>
			</div>
		</div>
		<div class="col-main">
			<div class="category-banner"><img src="images/merken.png" title="Merken" alt="Merken" /></div>
			<div class="pager-container">
				<div class="pager">
					<div class="show-items"></div>
					<div class="show-per-page"></div>
				</div>
				<div class="view-by-block">
				
					<div class="short-by">
						
					</div>
				</div>
			</div>
<div class="new-product-block">
<?php
session_start();
$rowsover = $rows - ($pagina * $rowsperpagina);
$rowsperpagina = 6;

if(isset($_GET['page']) )
{
   $pagina = $_GET['page'] + 1;
   $offset = $rowsperpagina * $pagina;
}
else
{
   $pagina = 0;
   $offset = 0;
}

$max = 'limit ' .$offset.',' .$rowsperpagina;

echo "<center>";
if($pagina > 0 )
{
	   $last = $pagina - 2;
	   echo "<a href=\"?p=category&page=$last\">Vorige pagina</a> |";
	   echo " <a href=\"?p=category&page=$pagina\">Volgende pagina</a>";
}
	else if( $pagina == 0 )
	{
  		 echo "<a href=\"?p=category&page=$pagina\">Volgende pagina</a>";
	}
		else if( $rowsover < $rowsperpagina )
		{
		   $last = $pagina - 2;
		   echo "<a href=\"?p=category&page=$last\">Vorige pagina</a>";
		}
echo "</center>";
?>
<ul class="product-grid">
<?php
include('connection.php');
$merk = $_GET['merk'];
$sql = mysql_query("SELECT * FROM `producten` WHERE merk = '$merk'".$max);
$pad = "../database/";
$count = 0;
$count2 = 0;
while($rij = mysql_fetch_array($sql))
{
$afb = $pad.$rij['Afbeelding'];
$count++;
$count2++;
if($count > 3){
echo '<ul class="product-grid">';
$count = 0;
}
?>

				<li>
						<div class="pro-img"><?php echo '<a href=?p=productpage&id='.$rij['prodid'].'><img title="Product" alt="Product" src="'.$afb.'" /></a>'; ?></div>
						<div class="pro-content"><p><?php echo $rij['Naam']; ?></p></div>
						<div class="pro-price">€ <?php echo $rij['Prijs']; ?> </div>
						<div class="pro-btn-block">
							<?php
							if(isset($_GET['page'])){$_SESSION['link']=$_GET['page'];}
							 echo '<a class="add-cart left" href="?p=category&action=add&id='.$rij['prodid'].'" title="Add to Cart">Add to Cart</a>';
							?>
							<?php echo '<a class="add-cart right" href=?p=productpage&id='.$rij['prodid'].' title="Quick View">Meer informatie</a>' ?></div>
						<div class="pro-link-block">
							<div class="clearfix"></div>
						</div>
					</li>
              <?php	
if($count2 == 3){
	echo '</ul>';
$count2 = 0;
}
}


?>
</ul>

			</div>


Als ik hem test klopt de link enzo wel, alleen de producten laat ie niet zien, komt dat omdat die link helemaal bovenaan staan en die GET beneden?
Oke twee dingen die ECHT anders moeten voor je verder gaat. SCHEIDEN en hiermee bedoel ik natuurlijk je PHP en HTML uit elkaar halen ( behalve een enkele ECHO en een loopje ) dus alle logica etc weg ermee.


vervolgens doe je als eerst PHP gedeelte... daarna komt html.

session_start(); ALTIJD! bovenin op regel 0 er mag NIKS voor en jij hebt in dit geval op regel 39 dat zijn 39 regels teveel.

Reageren