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
Naja, misschien kunnen we ook verder overlggen in dit onderwerp?
bij ID moet je een waarde toevoegen. Als je de tabel goed hebt gemaakt moet ID auto increment hebben.
Hier voer je dus de 'id' in. Dit is dus bij het eerste product 1 en bij het laatste product (zo ver komt het nooit) 99999 (integer 5 tekens). Ook heeft ID een primaire sleutel op zich. Dat betekend dat er geen 2 rijen met de zelfde 'id' mag zijn.

Name: hier zet je de naam van het product. (zodat die op de pagina word weergegeven).

Bij description zet je gewoon de info over het product. (hoef je niet in te vullen, tenzij we de tabel niet op NULL hebben gezet maar op NOT NULL.

Bij path moet je de naam van de foto geven, bijv: 00001.jpg.

De tabel kan je zo uitgebreid maken als jij wil.

Dan is er nog een verschil tussen char en varchar, ik weet niet wat :$ maar volgens mij heeft het te maken met wat er word opgeslagen in de database, (aan ruimte die niet is gebruikt)

De cijfers tussen de haakjes zoals (5), geven aan hoeveel tekens er worden geaccepteerd.

Dit is hoe de database er dan uitziet tot nu toe. Het is nog lang niet af!
Klopt, nu maken we een nieuwe tabel, waar wel de maat in komt.

Zoals hier:

http://www.tuningstylingpoint.com/phpmyadmin5.JPG

Zo kan je ook een nieuwe tabel maken.

In een eerdere post had ik je al verteld dat je nu een extra tabel moest maken.

Steven Weijdt schreef op 15.11.2005 22:33
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.


Ik help je verder zodra je de tabel 'maat' hebt gemaakt, als er vragen zijn hoor ik het wel. :P
Okej, 1 ding heb je fout gedaan. De twee tabellen moeten in 1 database.

Anders is het zonde van de ruimte

edit: 2 dingen zelfs:

bij deze tabel moet path veranderd worden in prijs (voor verschillende maten verschillende prijzen).

http://www.tuningstylingpoint.com/tabelmaat.JPG

Nu kunnen we straks bij de id's uit de tabel product de id's uit tabel maat erbij zoeken. In de tabel maat kan meerdere keren hetzelfde id voorkomen, ook meerdere keren dezelfde maat. Maar niet een combinatie ervan. Dit is anders bij de tabel product, daar kan de id maar 1x voorkomen.

Bijv:

id - maat

1-128
1-128

Dit kan niet!

Dit kan wel:

id - maat

1-128
1-130
2-130

Reageren