Beste Sitedealers,
Ik heb even een klein vraagje..
Nou heb ik hier dus een database gemaakt en nu wil ik dat de gegevens getoond worden op de pagina producten.php alleen lukt dat me wel maar het probleem is dat ik maar maximaal 5 producten per pagina wil.
Zelf ben ik niet echt zo ervaren met php dus ik hoop dat iemand hier echt veel vanaf weet.
Heel erg bedankt zoiezo al voor het lezen.
Met vriendelijke groet,
Danny
PHP Code:
-- phpMyAdmin SQL Dump
-- version 3.2.5
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Genereertijd: 25 Jan 2010 om 20:43
-- Serverversie: 5.1.41
-- PHP-Versie: 5.2.12
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!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: `pgcdkfwb_qtell`
--
-- --------------------------------------------------------
--
-- Tabelstructuur voor tabel `producten`
--
CREATE TABLE IF NOT EXISTS `producten` (
`ean` text NOT NULL,
`plaatje` text NOT NULL,
`naam` text NOT NULL,
`categorie` text NOT NULL,
`aantal` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Gegevens worden uitgevoerd voor tabel `producten`
--
INSERT INTO `producten` (`ean`, `plaatje`, `naam`, `categorie`, `aantal`) VALUES
('5410013142003', '000298254_004_2783_200.jpg', 'Sinasappelsap', '1', 14),
('8710400097259', '000209702_004_47354_200.jpg', 'Croissantje ', '1', 38),
('8722700463115 ', '000298776_003_60049_200.jpg', 'Boter', '1', 12),
('8710400231219', '000224666_005_33708_200.jpg', 'Verse vla', '1', 24),
('8710496503986', '000195446_004_67592_200.jpg', 'Chocolade vlokken puur', '1', 6),
('8710496010521', '000298064_003_119017_200.jpg', 'Vruchtenhagel', '1', 7);
- Vraagje over weergeven van mysql gegevens.
-
25-01-2010, 20:46 #1
- Berichten
- 393
- Lid sinds
- 17 Jaar
Vraagje over weergeven van mysql gegevens.
-
25-01-2010, 20:52 #2Particulier
- Berichten
- 419
- Lid sinds
- 16 Jaar
Beste Danny,
Je toont nu een database. Hierin hoef je niks te wijzigen.
Post eens wat je hebt staan in het bestand producten.php (de formule)
-
25-01-2010, 20:55 #3
- Berichten
- 157
- Lid sinds
- 16 Jaar
Using MySQL's LIMIT Command to Control Returned Rows
Use the following script to select a particular number of rows after a certain row in MySQL:
SELECT * FROM tblDummy LIMIT 15, 30
This script returns the first 30 rows after row 15 in the tblDummy table.
-
25-01-2010, 20:59 #4
- Berichten
- 393
- Lid sinds
- 17 Jaar
Beste R. Janssen,
Hier heb ik het script wat ik tot nu toe heb.
Het werkt alleen niet optimaal.
Zoals u kunt zien zijn het denk ik heel veel regels die niet nodig zijn.
PHP Code:<?php
mysql_connect("localhost", "pgcdkfwb_qtell", "*********");
mysql_select_db("pgcdkfwb_qtell");
?>
PHP Code:<?php
include('config/config.php');
$cat = $_GET['cat'];
$tableName="producten";
$targetpage = "categorie.php";
$limit = 6;
$query = "SELECT COUNT(*) as num FROM $tableName WHERE status = '0' AND categorie = '" . $cat . "'";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];
$stages = 3;
$page = mysql_escape_string($_GET['page']);
if($page){
$start = ($page - 1) * $limit;
}else{
$start = 0;
}
// Get page data
$query1 = "SELECT * FROM $tableName WHERE status = '0' AND categorie = '" . $cat . "' LIMIT $start, $limit";
$result = mysql_query($query1);
// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$LastPagem1 = $lastpage - 1;
?><ul>
<?php
if (IsSet($_POST['submit'])){
echo "verzonden";
print_r($_POST['naam']);
$LOL = $_POST['naam'][0];
$naam = $row['naam'];
$query = "UPDATE producten SET status=1 AND aantal=aantal+'" . $LOL . "' WHERE naam='" . $naam . "'";
mysql_query($query) or die (mysql_error());
} else {
while($row = mysql_fetch_array($result))
{
?><form Action="categorie.php" method="post">
<?php
$aantal = "aantal[]";
echo "<i>Naam:</i> ".$row['naam']."<br> ";
echo "<i>Barcode:</i> ".$row['ean']."<br> ";
echo "<i>Status:</i> ".$row['status']."<br> ";
echo "<IMG src='".$row['plaatje']."'height='64' width='154'><br> ";
echo "<input type='text' name='naam[]' size='7'>";
echo "<br />";
}
?>
<input type='submit' value='Verzend' name='submit'>
</form>
</ul>
<?php
}
$paginate = '';
if($lastpage > 1)
{
$paginate .= "<div class='paginate'>";
// Previous
if ($page > 1){
$paginate.= "<a href='$targetpage?page=$prev&cat=$cat'>previous</a>";
}else{
$paginate.= "<span class='disabled'>previous</span>"; }
// Pages
if ($lastpage < 7 + ($stages * 2)) // Not enough pages to breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter&cat=$cat'>$counter</a>";}
}
}
elseif($lastpage > 5 + ($stages * 2)) // Enough pages to hide a few?
{
// Beginning only hide later pages
if($page < 1 + ($stages * 2))
{
for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1&cat=$cat'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage&cat=$cat'>$lastpage</a>";
}
// Middle hide some front and some back
elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
{
$paginate.= "<a href='$targetpage?page=1&cat=$cat'>1</a>";
$paginate.= "<a href='$targetpage?page=2&cat=$cat'>2</a>";
$paginate.= "...";
for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter&cat=$cat'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1&cat=$cat'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage&cat=$cat'>$lastpage</a>";
}
// End only hide early pages
else
{
$paginate.= "<a href='$targetpage?page=1&cat=$cat'>1</a>";
$paginate.= "<a href='$targetpage?page=2&cat=$cat'>2</a>";
$paginate.= "...";
for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='$targetpage?page=$counter&cat=$cat'>$counter</a>";}
}
}
}
// Next
if ($page < $counter - 1){
$paginate.= "<a href='$targetpage?page=$next&cat=$cat'>next</a>";
}else{
$paginate.= "<span class='disabled'>next</span>";
}
$paginate.= "</div>";
}
echo $total_pages.' Results';
// pagination
echo $paginate;
?>
Ik heb nog een beetje zitten "klooien" maar het werkt niet echt tot nu toe.Laatst aangepast door Danny K : 25-01-2010 om 21:24 Reden: Automatisch samengevoegd.
-
25-01-2010, 21:24 #5
- Berichten
- 1.499
- Lid sinds
- 16 Jaar
Je gebruikt gewoon LIMIT 0,5 in je query.
Edit: Je moet wel even $start en $limit escapen zoals je bij $cat ook doet.
-
26-01-2010, 14:05 #6
- Berichten
- 256
- Lid sinds
- 14 Jaar
Probeer je probleem in kleine stappen op te lossen:
Eerst, zelf een fictief getal invullen (bijv. 19) en daarmee te 'paginaten'.
Zorg ervoor dat je bij elke 'paginate' de juiste waarde genereert om je sql query op te bouwen met de LIMIT. Dus pagina 1 moet bijvoorbeeld geven $offset=0, $count=6. Pagina 2: $offset=6, $count=6, pagina 3: $offset=12, $count=6 etc.
Als dat werkt, kun je het aantal items opvragen uit de database.
Als dat werkt ga je de query gebruiken met de LIMIT $offset,$count
Verder is het heel belangrijk dat je goed bedacht bent op misbruik van je site. Dus valideer altijd de variabelen die je via $_GET en $_POST etc. binnenkrijgt en gebruikt. Zeker voor database-queries en updates! Vertrouw NOOIT de input die je van de bezoekers krijgt.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic