Hallo allemaal,

k heb een vrij ingewikkeld probleem.
Ik maak een website; http://www.tuningstylingpoint.com
Daar komt een webshop op over velgen. De webshop is te bekijken op
http://test.tuningstylingpoint.com
Daar zie je een product velg D06 staan. En ook de prijs €330. Maar de velg kan in verschillende groote worden geleverd. Maar afhankelijk daarvan verschilt de prijs dus ook. Ik wil graag dat er bij het product een dropdown menu komt, en waneer je de juiste groote aanklikt dat je dan ook de prijs meeveranderd.

De webshop wordt online via een php script gemaakt, het online creeëren van producten is te zien op
http://test.tuningstylingpoint.com/admin.php
in te vullen gegevens
gebruikersnaam: user
wachtwoord: test

Dus ik denk dat ik in deze code iets moet veranderen voor het maken van een dropdown menu online. ( dus het admin gedeelte )

<?
if ($_GET['page'] == "nprodf"){
echo "<a href=admin.php?PHPSESSID=" . session_id() . "&page=home>Naar de adminpagina</a><br><br>";
echo "<p><b>Nieuw product</b>";
echo "<form method=GET action=admin.php>";
echo "<input type=hidden name=PHPSESSID value=" .session_id() . ">";
echo "<input type=hidden name=page value=nprodm>";
echo "Product naam:<br>";
echo "<input type=text name=n><br>";
echo "Categorie:<br>";
echo '<select name="c">';
$file = fopen("WSFILES/cats", "r");
$x = "";
while (!feof($file)){
$x .= fgets($file, 1024);
}
$x = explode(",", $x);
foreach($x as $nr => $c){
if (!$c == ""){
echo '<option value="' . $c . '">' . $c . '</option>';
}
}
echo "</select><br>";
echo "Prijs:<br>";
echo "<input type=text name=p>&nbsp;(euro.centen)<br>";
echo "Korte beschrijving:<br>";
echo "<textarea name=k rows=5 cols=25></textarea><br>";
echo "Grondige omschrijving:<br>";
echo "<textarea name=g rows=5 cols=25></textarea><br>";
echo "<input type=submit value='Maak product'></form>";
}

if ($_GET['page'] == "nprodm"){
$prodID = make_prodID();
$y = "";
$file = fopen("WSFILES/producten", "r");
while (!feof($file)){
$y .= fgets($file, 1024);
}
fclose($file);
$y = "," . $prodID . $y;
$file = fopen("WSFILES/producten", "w");
fputs($file, $y);
fclose($file);
$y = "";
$file = fopen("WSFILES/" . $_GET['c'], "r");
while (!feof($file)){
$y .= fgets($file, 1024);
}
fclose($file);
$y = "," . $prodID . $y;
$file = fopen("WSFILES/" . $_GET['c'], "w");
fputs($file, $y);
fclose($file);
$file = fopen("WSFILES/" . $prodID . "_n", "a");
fputs($file, $_GET['n']);
fclose($file);
$file = fopen("WSFILES/" . $prodID . "_p", "a");
fputs($file, $_GET['p']);
fclose($file);
$file = fopen("WSFILES/" . $prodID . "_k", "a");
fputs($file, $_GET['k']);
fclose($file);
$file = fopen("WSFILES/" . $prodID . "_g", "a");
fputs($file, $_GET['g']);
fclose($file);
echo "<a href=admin.php?PHPSESSID=" . session_id() . "&page=home>Naar de adminpagina</a><br><br>";
echo "Product " . $prodID . " is met succes aangemaakt.<br><br>";
echo "<b>LET OP!:</b> Er is geen afbeelding voor product '" . $prodID . "', wilt u een afbeelding voor dit product gebruik dan een bitmap.";
echo " Noem deze dan <b>" . $prodID . ".bmp</b> en upload deze dan naar de map WSFILES...";
?>



En dan op de pagina waar voor de bezoekers het dropdown menu zichtbaar moet worden




<?
include("header.inc");
if (!isset($_GET['prod']) || (!file_exists("WSFILES/" . $_GET['prod'] . "_n"))){
//Product bestaat niet...
?>
<h1>Catalogus</h1>
<font class="w">Er is een fout opgetreden, het product dat u mogelijk geselecteerd heeft is niet aanwezig!</font>
<br>
<p>
<a href="javascript:history.go(-1)"><img src="pr.bmp" border="0" alt="Terug..."></a></p>
<?
}
else{
//Product bestaat wel...

$file = fopen("WSFILES/" . $_GET['prod'] . "_n", "r");
$q = "";
while (!feof($file)){
$q .= fgets($file, 1024);
}
fclose($file);
?>
<h1><? echo $q; ?></h1>
<a href="javascript:history.go(-1)"><img src="pr.bmp" border="0" alt="Terug..."></a>
<br><br>
<table border="0"><tr><td valign="top">
<?
$file = fopen("WSFILES/" . $_GET['prod'] . "_p", "r");
$q = "";
while (!feof($file)){
$q .= fgets($file, 1024);
}
fclose($file);
if (!file_exists("WSFILES/" . $_GET['prod'] . ".bmp")){
echo '<img border="0" src="geenafb.bmp" alt="' . $x . '">&nbsp;&nbsp;<br>';
echo "<br><font size=2><b>&euro; " . number_format($q, 2, ",", ".") . "</b></font><br><br>";
?>
<form name="bestelform" action="cart.php" method="GET">
<input type="hidden" name="q" value="add">
<input type="hidden" name="PHPSESSID" value="<? echo session_id(); ?>">
<input type="hidden" name="prodID" value="<? echo $_GET['prod']; ?>">
<img src="wagentje.bmp" border="0">&nbsp;&nbsp;<b>Bestellen</b><br>
Aantal:<br>
<input type="text" size="3" maxlength="2" name="aantal"><br>
<input type="submit" value="Bestellen">
</form>
<script>
document.bestelform.aantal.focus();
</script>
<?
}
else
{
echo '<img border="0" src="WSFILES/' . $_GET['prod'] . '.bmp" alt="' . $x . '">&nbsp;&nbsp;<br>';
echo "<br><b>&euro; " . number_format($q, 2, ",", ".") . "</b><br><br>";
?>
<form name="bestelform" action="cart.php" method="GET">
<input type="hidden" name="q" value="add">
<input type="hidden" name="PHPSESSID" value="<? echo session_id(); ?>">
<input type="hidden" name="prodID" value="<? echo $_GET['prod']; ?>">
<img src="wagentje.bmp" border="0">&nbsp;&nbsp;<b>Bestellen</b><br>
Aantal:<br>
<input type="text" size="3" maxlength="2" name="aantal"><br>
<input type="submit" value="Bestellen">
</form>
<script>
document.bestelform.aantal.focus();
</script>
<?
}
$file = fopen("WSFILES/" . $_GET['prod'] . "_k", "r");
$q = "";
while (!feof($file)){
$q .= fgets($file, 1024);
}
fclose($file);
echo "<td valign=top><font size=2><b>" . $q . "</b><br><br>";
$file = fopen("WSFILES/" . $_GET['prod'] . "_g", "r");
$q = "";
while (!feof($file)){
$q .= fgets($file, 1024);
}
fclose($file);
echo $q . "</font></td></tr></table>";
}
include("footer.inc");
?>

Hopelijk is dit voor jullie niet te moeilijk, maar ik zal jullie zo ontzettend dankbaar zijn als het jullie wel lukt!

Groetjes,
Mark
Okej dan zijn ze dus al gemaakt voor jou.
Nu moeten we een tabel ontwerpen. Dat doen we met SQL.

Wat wil je in je tabel?

Ik heb het volgende gedaan:

CREATE TABLE `product` (
`ID` int(5) NOT NULL auto_increment,
`Name` varchar(15) NOT NULL default '',
`gewicht` decimal(5,3) NOT NULL default '0.000',
`type` varchar(10) NOT NULL default '',
`BGM` varchar(10) NOT NULL default '',
`Description` varchar(255) default NULL,
`path` varchar(255) NOT NULL default 'image\\\\default.gif',
`Merk` varchar(10) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=117 ;

Als je een beetje doorhebt wat er staat snap je het:

Jij hebt op dit moment alleen dit nodig:

CREATE TABLE `product` (
`ID` int(5) NOT NULL auto_increment,
`Name` varchar(15) NOT NULL default '',
`Description` varchar(255) default NULL,
`path` varchar(255) NOT NULL default 'image\\\\default.gif',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=117 ;

Voer dat daar in en druk op start
Ik zie nu pas dat je dat ook daar onder had kunnen doen (dat is een overzichtelijke manier, want ik nu hebt gekopieerd is de code voor het maken van een tabel).
Hier heb je een tutorial voor SQL.

http://www.phphulp.nl/php/tutorials/3/219/393/

eigenlijk is deze hele pagina handig:

http://www.phphulp.nl/php/tutorials/3/

Je hebt nu een database, en tabel (nu moeten er nog gegeven in)

Zo kan je een webwinkel maken zonder 100 pagina's. Voor het weergeven van producten heb je maar 1 pagina nodig die zich aanpast. De product catalogus haalt alle info uit de database-tabel: Product.
En maakt daar een link van naar de pagina van de producten. Als je nog een tabel maakt kan je daar de verschillende maten selecteren en in een dropdown stoppen.

Heb ik zelf ook gedaan, (in die 2e tabel zijn prijs, id en maat aan elkaar gekoppeld).

Ik help je binnenkort met het opzetten van je webwinkel.

Ik moet nu gaan maar je kunt me interne berichten sturen voor vragen.

Ga het niet opgeven als het even neit lukt of als het te moeilijk word. Ik kauw het nu allemaal voor :P tis veel moeilijker om zelf de info die je nodig hebt op te zoeken.
Hij geeft een melding, waardoor ik het nog niet kan doorvoeren.
Ik heb er even een printscreen van gemaakt.
http://www.tuningstylingpoint.com/phpmyadmin3.JPG

Ik denk dat het een foutmelding betreft, omdat ik geen naam heb ingevuld. Toen ik hier webshop invulde, kwam er weer een foutmelding, deze waarde is geen cijfer.

Weet jij misschien wat ik fout doe?
Probeer nu nog een tabel te maken met de naam 'maat'. En voer alvast gegevens in, volgens mij bij invoeren kan dat.

(prijs, id en maat)
dit is even een uitdaging voor je:

id en maat moeten samen een primaire sleutel hebben (zoek even uit)

prijs moet een decimal zijn.
id een integer
maat een char

(id moet niet auto increment zijn)


ga maar alsvast stoeien met deze 2 tabellen, (niet die van het forum)

en misschien kan je al een php scriptje maken waarmee je de gegevens uit de database haalt:

hier staat hoe:

http://www.phphulp.nl/php/tutorials/3/205/375/

Vraag op het forum even hoe je verbinding moet maken met je script naar je database.

Ik leg morgen wel uit hoe je de dropdown en de rest van de webshop moet maken.

prijs moet een decimal zijn.
id een integer
maat een char
(kijk bij de vorige code voor meer info)


gaat allemaal lukken. Het is veel werk om een webshop in elkaar te zeggen, maar het resultaat is meer werk als je het in html deed.
(ik ben nu weg, stuur morgen maar een intern bericht, of een email naar [email protected]) niet stalken graag (A)

Reageren