PHP hulp

Status
Niet open voor verdere reacties.

gast1235

Gebruiker
Lid geworden
18 mrt 2012
Berichten
35
Hoi mensuu,

Ik ben bezig met een webshop te maken voor een pizzaria nu wil ik de consumenten de mogelijkheid geven om hun eigen pizza’s (met een maximum van tien) samen te stellen en deze op een eigen pagina binnen de webshop van pizzaria (deep link) via Social Media (facebook) te delen met hun vrienden. Een klant kan dus zijn eigen pizza’s samenstellen en zelf marketen. Hoe meer custom pizza’s verkocht worden, hoe meer punten de klant krijgt. Deze punten moeten in een database opgeslagen en bijgehouden worden. Het aantal punten dat een klant verdient, moet omgezet worde in pizza korting. Voor elke verkochte pizza krijgt de klant 5 punten, wat gelijk staat aan 5% extra korting tot een maximum van 20 punten, wat weer gelijk staat aan 20% extra korting per bestelling.

Nu ben ik wel een heel eind met mijn webshop, maar wil dit nog erbij toevoegen, dus de punten telling en de korting die de klant krijgt.

wie o wie kan mij hiermee helpen???
 
Laatst bewerkt:
je wilt dus dat we gewoon een website voor jou bouwen... geen specifieke vraag over php?
ga eerst maar wat beginner guides lezen,

mvg,
 
nee je hoeft van mijn niet de hele website te bouwen dat heb ik al.
het enigste wat ik wil is een punten telling, de klant kan de punten gebruiken om korting te krijgen op zijn bestelde pizzas.
de punten worden opgeslagen in een database, vervolgens kan de klant de punten uit de database halen en het gebruiken voor zijn bestelde pizzas

Je hoeft van mij niet hele php codes te schrijven.
 
De code mag je zelf uit zoeken, maar een een denkwijze kan ik je wel geven:

if(pizza_id == $pizza_id_gebruiker){
kortingpunten doorsturen naar pizzaontwerper.
dus: huidige korting + 5
}

en voor de pizzaontwerper die wat koopt:
if(korting > 0){
geeft korting
if(korting >= 20){
geef 20% korting
}
}else{
normale prijs
}
 
Het wil niet echt werken

Wat ik nu heb:


<?php
session start();

$aantal = 5

$sql_punten = mysql_query("SELECT punten FROM koppel_korting WHERE user_id='".$_SESSION['user_id']."'");
$row_punten = mysql_fetch_assoc($sql_punten);
if(pizza_id == $user_id){
mysql_query("UPDATE korting SET punten = punten + $aantal WHERE user_id='".$_SESSION['user_id']."'");
}
session_destroy();
?>


Pizzaontwerper

<?php
session start();

$aantal = array ("5","10","15","20")

$sql_punten = mysql_query("SELECT punten FROM koppel_korting WHERE user_id='".$_SESSION['user_id']."'");
$row_punten = mysql_fetch_assoc($sql_punten);
if(punten > 0){
$sql_punten = $sql_punten - $aantal;
if(punten >= 20){
$sql_punten = $sql_punten - 20;
}
mysql_query("UPDATE korting SET punten = punten - $aantal WHERE user_id='".$_SESSION['user_id']."'");

session_destroy();

?>

de volgende koppel tabel heb ik erbij gemaakt:

korting tabel
 
Laatst bewerkt:
Als dit uw full code is (wat ik dus vermoed), zie ik nergens een connectie staan ;) een connectie naar uw database.
Code:
$connectie = mysql_connect("host", "DB_USER", "DB_PASS");
mysql_select_db("DB_name", $connectie);

mysql_close($connectie);



in de query zit een klein foutje.

Code:
mysql_query("UPDATE korting SET punten = punten + $aantal WHERE user_id='".$_SESSION['user_id']."'");

word
Code:
mysql_query("UPDATE korting SET punten = 'punten + " . $aantal . " ' WHERE user_id='".$_SESSION['user_id']."'");


en hetzelfde in pizaontwerper ;).
Alleen is $aantal een array .

Code:
$aantal = array (5,10,15,20);
foreach($overloop as $aantal)
      mysql_query("UPDATE korting SET punten = ' punten - " . $verloop . " WHERE user_id='".$_SESSION['user_id']."'");

of

Code:
$aantal = array (5,10,15,20);
for($i = 0; $i < sizeof($aantal); $i++)
      mysql_query("UPDATE korting SET punten = ' punten - " . $aantal[$i] . " WHERE user_id='".$_SESSION['user_id']."'");

+ vanwaar komt $user_id vandaan? ik zie hem nergens gedeclareerd.


Met vriendelijke groetjes, jim
 
Laatst bewerkt:
-Okejj de connectie database en het declareren user_id heb ik nu gedaan.

-Ik werk nu met wordpress en een plugin eshop. Het is de bedoeling zodra de pizza ontwerper zijn pizza verkoopt krijgt hij 5 punten, dus zodra de betaling is voldaan krijgt de pizzaontwerper zijn punten.
De punten worden opgeteld in een database. De punten kunnen door de pizzaontwerper gebruikt worden en als de pizza ontwerper 20 punten heeft kan hij 20% korting krijgen op zijn bestelling.

dit is de database die ik nu heb:

korting tabel

samengestelde_pizzas



PHP:
<?php

include 'database.php';
session start();


$_SESSION['user_id'] = get_current_user_id( );
$aantal = 5 

$sql_punten = mysql_query("SELECT punten FROM koppel_korting WHERE user_id=".$_SESSION['user_id']);
$row_punten = mysql_fetch_assoc($sql_punten);
if(user_id == $user_id){
mysql_query("UPDATE korting SET punten = 'punten + " . $aantal . " ' WHERE user_id='".$_SESSION['user_id']."'");
}

?>



PHP:
<?php

include 'database.php';
session start();

$aantal = 20
$_SESSION['user_id'] = get_current_user_id( );
 
$sql_punten = mysql_query("SELECT punten FROM koppel_korting WHERE user_id=".$_SESSION['user_id'].);
$row_punten = mysql_fetch_assoc($sql_punten);
if(punten > 0){
$sql_punten = $sql_punten - $aantal;
if(punten >= 20){
$sql_punten = $sql_punten - 20;
}
mysql_query("UPDATE korting SET punten = 'punten - " . $aantal . " ' WHERE user_id='".$_SESSION['user_id']."'");

?>

ik kom er gewoon niet meer uit
 
dit is de database die ik nu heb:

korting tabel

samengestelde_pizzas



1) Uw algoritmen is niet hoe het hoort te zijn.
je neemt het huidig userid en dan neem je de punten ervan.
dan sla je de punten op.
als userid gelijk is aan userdid dan krijgt hij 5punten bij.

maar wat als de klant nu ineens 4 pizzas besteld of 6?

in het 2de php code, is ongeveer hetzelfde als de eerste php code.
Alleen als punten groter zijn dan 0 worden de huidige punten eraf getrokken.
(dus: als je 1 piza besteld krijg je 5 punten, en in de 2de code trek je gewoon mijn punten erweer af, dit kan nooit optellen. ;))


2) Als dat je Database is (wat ik vermoed), zou ik toch wel eens jouw ERD willen bekijken.
want er komt veele meer bij kijken dan dit alleen.
Je neemt gewoon userid, zonder dat er een persoonlijke gegevens aan verbonden zijn (of ik heb het verkeert opgevat ;)).


3) je bent je ; vergeten ;) + je conkatineert niets: code: $_SESSION['user_id'].);





Met vriendelijke groetjes, Jim
 
Laatst bewerkt door een moderator:
Het is totaal niet ingewikkeld, wat DorCo zei, beginnen met beinner guides te lezen.

Heb je ervaring met andere talen?


Als je wilt maak ik binnekort wanneer ik tijd heb een klein prototype?
 
Ik ben een beginner programmeur. Heb klein beetje ervaring
met java, sql en php. Maar als het te ingewikkeld wordt kom ik er niet meer uit.

Bedankt voor je hulp, maar morgen moet ik de opdracht inleveren.
 
Aah, dat is een opdracht van school uit.

Doe gewoon verder hoe je mee bezig bent. De opdracht is vrij simpel (ik vermoed dat je hogeschool doet?) , alleen zit je in begin er al ferm naast, met Databank aan te maken.


het onderlijnde is de primary key.

je maakt een tabel genaamt: user
in user steken de volgende rijen: id, voornaam, familienaam, adres, land, ...

dan een tabel genaamt: pizza
met als rij: id, pizza_naam, waarde

dan een tabel genaamt: korting
met als rij: id, userid, punten_korting

dan een tabel genaamt: gekochtepiza
met als rij: id, userid, pizzaid


Dit is niet 100%, het is maar ruwe schets, je zal er wat aanpassingen aan moeten doen zoals mss een extra tabel aanmaken met in schulden of niet, ......

Stel je databank op, en probeert te coderen, als er problemen zijn, moet je maar posten, we helpen je graag verder.



Met vriendelijke groetjes, Jim
 
Laatst bewerkt:
yep is een opdracht van school, maar ik kan nu niet heel de database veranderen, omdat het een groepsopdracht is.
En mijn klasgenoten die hebben ook wat tabellen aangemaakt en ik kan niet die tabellen opnieuw aan maken :)

Eigenlijk heb ik al een keer de database gewijzigd, omdat mijn vorig opdracht (het tonen van ingredienten van de pizzas) niet werkte.
Ik snap heel goed wat ik eigenlijk moet maken.
Het aanmaken van een database kan ik best wel, maar als het komt op programmeren dan lukt het mijn niet zo goed.
En de korting opdracht gaat mijn veel tijd kosten zo te zien.

Nogmaals bedankt voor je hulp ik denk dat ik dan een zesje (hoop ik :)) krijg in plaats van een een dikke acht.
 
Voor te programmeren is het vrij simpel, als je er veel tijd en moeite insteekt en zeker doorgaan ookal wordt het temoeilijk.
Als je 1 programmeertaal kent een OOP-Taal dan wel, dan volgt de rest van de talen gewoon ;)

Als je verder wilt coderen en je zit vast, we kunnen je altijd verder opweg helpen ;).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan