Producten uitlezen per merk.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hendrik Wit

Hendrik Wit

27/10/2013 14:58:49
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<!--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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
-- 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?

Edit:
Code-tags toegevoegd om de PHP/HTML-code.
Gewijzigd op 27/10/2013 19:24:30 door - Ariën -
 
PHP hulp

PHP hulp

05/11/2024 22:21:13
 
Reshad F

Reshad F

27/10/2013 19:20:56
Quote Anchor link
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

Hendrik Wit

27/10/2013 19:25:45
Quote Anchor link
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.
 
Reshad F

Reshad F

27/10/2013 19:50:24
Quote Anchor link
Nou gewoon dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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?
Gewijzigd op 27/10/2013 19:50:39 door Reshad F
 
Hendrik Wit

Hendrik Wit

28/10/2013 20:13:59
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'<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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
                    <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.
Gewijzigd op 28/10/2013 20:15:21 door Hendrik Wit
 
- SanThe -

- SanThe -

28/10/2013 20:19:39
Quote Anchor link
Ja, dat kan je ook meegeven.
 
Reshad F

Reshad F

28/10/2013 20:40:29
Quote Anchor link
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<li><a href="?p=category&m=<?php echo row['merk']; ?>" title="<?php echo row['merk']; ?>"><?php echo row['merk']; ?></a></li>
Gewijzigd op 28/10/2013 20:40:45 door Reshad F
 
Hendrik Wit

Hendrik Wit

28/10/2013 20:42:28
Quote Anchor link
Oke dan heb ik van de bovenste link 'Samsung' het volgende gemaakt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo '<a href=?p=overzichtmerk&merk='.$rij['merk'].'>Samsung</a>'; ?>


En op de pagina merkoverzicht de query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
include('/connection.php');
$merk = $_GET['merk'];
$sql = mysql_query("SELECT * FROM producten WHERE merk = '$merk'")
or die(mysql_error());  


Klopt dat?
 
- SanThe -

- SanThe -

28/10/2013 20:45:22
Quote Anchor link
Ja, maar je query is niet beveiligd, dus lek.
 
Hendrik Wit

Hendrik Wit

28/10/2013 20:58:40
Quote Anchor link
- 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):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!--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?
 
Reshad F

Reshad F

28/10/2013 23:37:28
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.