Hallo php liefhebbers, Ik heb een vraag, ik zoek een simpel script waarmee ik een eenvoudige prijslijst op mijn site kan plaatsten en ook aan kan passen.
Ik weet het, zoiets zou ik zelf moeten kunnen maar helaas kan ik dit stomweg gewoon nog niet en aangezien ik met mijn site aan het bouwen ben zou ik graag een prijslijst er op willen, zoiets van een onderwerp met daar achter de prijs, alles in een tabbel ofzo. en dat alles in de databsae komt te staan. Ik wil best zelf een poging wagen maar weet eigenlijk niet hoe ik moet beginnen. Weet iemand een bestaand scriptje te vinden? of anders wie kan me opweg helpen hoe ik moet beginnen? moet ik dan bv beginnen met het opzetten van de database?
BVD Remon
je moet altijd beginnen met het opzetten van de database, dat lijkt mij logisch.

bijv. zoiets als:
id (int) (auto_increment)
bestelnummer (int)
naam (varchar(50))
prijs (decimal(10,2))


en dan kun je er allerlei dingen op loslaten als:
<?php
$query = "SELECT * FROM producten";
$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result))
{
   echo('<table>');
   while ($row = mysql_fetch_array($result))
   {
      echo('<tr><td>'.$row['bestelnummer'].'</td><td>'.$row['naam'].'</td><td>'.$row['prijs'].'</td></tr>');
   }
   echo('</table>');
}
?>
in de database maak je een tabel:

Producten

ID           int(11)
Naam          varchar(100)
Prijs        float(5)


op de pagina prijslijst.php maak je eerst een stukje html:


<table border="1" style="border-collapse:collapse" cellpadding="3" cellspacing="0">
<tr><td>Product:</td><td>Prijs</td></tr>

<?php
//dan lezen we de tabel uit (let erop dat je verbinding hebt met de db)

$result = mysql_query(...);

while($data = mysql_fetch_array($result))
{
echo '<tr><td>'.$data['naam'].'</td><td>'.$data['prijs'].'</td></tr>';
}
//rest lukt wel?


[edit]te laat -_-[/edit]
@ Stefan,

Waarom gebruik je "(" en ")" bij je echo's?

[edit]Tip: gebruik [php]mysql_fetch_assoc[/php] ipv mysql_fetch_array, dit is sneller.[/edit]
Als je begint met bijvoorbeeld deze velden in je DB te zetten:

P_id
p_titel
p_prijs


Dan selecteer je dit uit de database en verwerk je dat in een tabbel.

<?php
$sql = "SELECT * FROM prijzenlijst ORDER BY p_id";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
echo'<table>';
while ($rij = mysql_fetch_array($res))
{

echo'<tr>
<td>'.$rij['p_titel'].'</td>
<td>'.$rij['p_prijs'].'</td>
</tr>';

}
echo'</table>';
}
else
{
echo'Er staan nog geen artikelen in de DataBase';
}
?>


[edit]
a ik zie dat ik de zoveelste ben :P,, was albezig met het maken hiervan. en heb de pagina niet ververst ;).[/edit]
@thijs, dat is iets wat ik mezelf (helaas) in het begin heb aangeleerd, ik weet dat het niet hoeft, maar eenmaal eraan gewend raak je het ook niet zo makkelijk meer kwijt.
Stefan van Iwaarden schreef op 10.05.2007 15:21
@thijs, dat is iets wat ik mezelf (helaas) in het begin heb aangeleerd, ik weet dat het niet hoeft, maar eenmaal eraan gewend raak je het ook niet zo makkelijk meer kwijt.


Daar heb je gelijk in, had hetzelfde met backticks" ` " gebruiken in MySQL Query's.
Forceer het jezelf om het niet meer te doen :P Hielp bij mij ;)
Offtopic: Gebruik geen FLOAT() om een prijs op te slaan, die levert problemen op zodra je er mee gaat rekenen. Verder is het bij prijzen (dus geld) aan te raden om ook de valuta-code (EUR) op te slaan. Dan kan er onmogelijk onduidelijkheid ontstaan over de valuta.

Vergeet niet om ook de datum op te slaan, prijzen zijn geldig vanaf een bepaalde datum tot een bepaalde datum.
Hallo ten eerste dank voor jullie snelle reactie.

Dit is wat ik nu heb:
de database:
create table prijslijst (
id INT not null auto_increment,
product varchar(120) not null,
prijs decimal (10,2) not null,
primary key(id),
index(id));

vervolgens de code om de prijslijst te laten zien:
<?php
include("database.php");
$query = "SELECT * FROM prijslijst";
$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result))
{
echo'<table>';
while ($rij = mysql_fetch_array($res))
{

echo'<tr>
<td>'.$rij['product'].'</td>
<td>'.$rij['prijs'].'</td>
</tr>';

}
echo'</table>';
}
else
{
echo'Er staan nog geen artikelen in de DataBase';
}
?>

uiteraard krijg ik nu de melding dat er geen artikelen staan in de database.

dus het volgende wat ik zou willen is artikelen toevoegen, heb het al geprobeerd in de database te doen maar dat lukt niet.
er zal hier vast nog wel wat aan verbeterd kunnen worden, graag jullie commentaar.
Ok ben weer wat verder, heb samen met het invoeren van de database gelijk een stukje tekst mee geinporteerd zodat ik ook gelijk wat kan zien als ik de prijslijst opvraag. Dit is wat ik nu heb:
database:
CREATE TABLE `prijzenlijst` (
`id` int(11) NOT NULL auto_increment,
`product` text(100) NOT NULL default '',
`prijs` decimal(10) NOT NULL default '',
PRIMARY KEY (`id`));

INSERT INTO `prijzenlijst` VALUES (1, 'hier komt de product omschrijving:', 'prijs:');
Dit is nu mijn prijslijst.php
<?php

include("database.php");
$query = "SELECT * FROM prijzenlijst";
$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result))
{
echo('<table>');
while ($row = mysql_fetch_array($result))
{
echo('<tr><td>'.$row['id'].'</td>
<td>'.$row['product'].'</td>
<td>'.$row['prijs'].'</td>
</tr>');
}
echo('</table>');
}
else
{
echo'Er staan nog geen artikelen in de DataBase';
}
?>
Nu wil ik de prijzenlijst moet in een tabel weergeven en ik wil een product kunnen toevoegen. Ik ga dit uiteraard zelf proberen maar suggesties en opmeringen zijn welkom
BVD remon

Reageren