rijen deleten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

Bekijk vacature »

PHP Developer

Functieomschrijving Wij zijn op zoek naar een PHP Developer met Laravel ervaring! Voor een groeiende werkgever in regio Breda zijn wij op zoek naar een medior PHP developer met Laravel ervaring. Je gaat aan de slag met het ontwikkelen van maatwerk software voor klanten in een specifieke markt. Als PHP developer ben je samen met een gemotiveerd team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het innoveren van informatiesystemen voor klanten in een specifieke branche. Als software developer ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Om

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

C#.NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie; Het oplossen van bugs en incidenten. Hier ga je werken Als C#.NET Developer binnen deze organisatie kan jij het verschil maken. Zij werken momenteel nog met programmatuur die is ontwikkeld in C++. Hiervan gaan zij afscheid nemen zodra alle nieuwe software in C#.NET geschreven is. Een grootschalig en langdurig project. Voor hen is deze software van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Pagina: 1 2 volgende »

Louis Deconinck

Louis Deconinck

03/08/2012 10:50:19
Quote Anchor link
In het volgende script wordt er dus geld toegevoegd aan de opbrengst van een positie, dat werkt allemaal heel erg goed, alleen wil ik dat wanneer een positie €15 of meer heeft verdienddeze €15 verdiend en wordt gedeleted uit de database, het delete proces dat ik nu heb staat op regel 11-16, maar werkt dus niet, hoe kan ik dit oplossen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
while ($posities['opbrengst'] > 15) {
$teveel=$posities['opbrengst']-15;
$inv4=mysql_query("DELETE FROM posities");
$inv5=mysql_query("UPDATE geld SET saldo = $teveel + saldo");
$inv6=mysql_query("UPDATE geld SET totaal = $teveel + totaal");
}

$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'];
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>
 
PHP hulp

PHP hulp

26/04/2025 16:23:48
 
Chris PHP

Chris PHP

03/08/2012 10:54:20
Quote Anchor link
Weet je hoe de syntax van een DELETE eruit ziet?

Dit is je query.
$inv4=mysql_query("DELETE FROM posities");

DELETE 'wat' FROM posities? Hij moet natuurlijk wel weten wat je wilt weggooien uit de posities table.
Gewijzigd op 03/08/2012 10:54:52 door Chris PHP
 
Jan Koehoorn

Jan Koehoorn

03/08/2012 10:55:09
Quote Anchor link
Je hebt helemaal geen WHERE in je DELETE query.
 
Louis Deconinck

Louis Deconinck

03/08/2012 10:57:21
Quote Anchor link
Dus gewoon
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$inv4
=mysql_query("DELETE FROM posities WHERE '".$posities['opbrengst']."' > 15");
?>
 
Chris PHP

Chris PHP

03/08/2012 10:58:39
Quote Anchor link
Test het zou ik zeggen :-D, van voorkauwen leer je niets.
 
Louis Deconinck

Louis Deconinck

03/08/2012 11:09:03
Quote Anchor link
Nee, dit werkt dus niet :-(

Dan heb ik dit geprobeerd, maar dit werkt ook niet, wat is hier fout aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
$teveel=$posities['opbrengst']-15;
$inv4=mysql_query("DELETE FROM posities WHERE ('".$posities['opbrengst']."' > 15)");
$inv5=mysql_query("UPDATE geld SET saldo = ($teveel + saldo)");
$inv6=mysql_query("UPDATE geld SET totaal = ($teveel + totaal)");
}

$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'];
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>
Gewijzigd op 03/08/2012 11:10:38 door Louis Deconinck
 
Chris PHP

Chris PHP

03/08/2012 11:12:56
Quote Anchor link
Waarom staat je posities >15 tussen ()?
 
Louis Deconinck

Louis Deconinck

03/08/2012 11:20:47
Quote Anchor link
Met de ('jes te verwijderen is het probleem nog altijd niet opgelost. Hij delete de rij nog altijd niet

Voorbeeld, als alles 0.0000 bevat en ik voer 16.0000 dan krijg ik als saldo '1.0000' en totaal '1.0000' en bij de opbrengst van de positie '16.0000'.

Wat gaat er fout:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
$teveel=$posities['opbrengst']-15;
$inv4=mysql_query("DELETE FROM posities WHERE '".$posities['opbrengst']."' > 15");
$inv5=mysql_query("UPDATE geld SET saldo = $teveel + saldo");
$inv6=mysql_query("UPDATE geld SET totaal = $teveel + totaal");
}

$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'];
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>


Alvast bedankt
 
Jason  van der Zeeuw

Jason van der Zeeuw

03/08/2012 11:25:08
Quote Anchor link
Je doet nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$inv4=mysql_query("DELETE FROM posities WHERE '".$posities['opbrengst']."' > 15");


Maar in je where staat dan iets als:
WHERE 10 > 15
Maak er eens van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$inv4=mysql_query("DELETE FROM posities WHERE opbrengst > 15");


Toevoeging op 03/08/2012 11:49:33:

"Voorbeeld, als alles 0.0000 bevat en ik voer 16.0000 dan krijg ik als saldo '1.0000' en totaal '1.0000' en bij de opbrengst van de positie '16.0000'."

dat snap ik niet helemaal...
 
Chris PHP

Chris PHP

03/08/2012 11:59:35
Quote Anchor link
Hier gaat dat fout.

$teveel=$posities['opbrengst']-15;

Als je daar dus 16 invult, wordt er 15 vanaf getrokken en kom je op 1 uit! Dus als je daar 17 invult zal er 2 uitkomen.
 
Louis Deconinck

Louis Deconinck

03/08/2012 12:58:54
Quote Anchor link
Ok, alles werkt nu. Een van de grote problemen was namelijk dat er een SELECT moest uitgevoerd worden nadat de tabel was verwijderd, verder waren er ook nog enkele foutjes in de berekeningen, dit is de werkende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
$topbrengst=0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
if ($posities['opbrengst'] + $_POST['inkpos'] > 15) {
$teveel=$posities['opbrengst']+$_POST['inkpos']-15;
$wopbrengst=$posities['opbrengst']+$_POST['inkpos']-$teveel;
$topbrengst=$wopbrengst+$topbrengst;
$inv4=mysql_query("DELETE FROM posities WHERE opbrengst + '".$_POST['inkpos']."' > 15");
$inv5=mysql_query("UPDATE geld SET saldo = $wopbrengst + saldo");
$inv6=mysql_query("UPDATE geld SET totaal = $wopbrengst + totaal");
}
}

$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$aantalposities=mysql_num_rows($posities_get);
$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'] + $topbrengst;
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>
 
Erwin H

Erwin H

03/08/2012 13:06:22
Quote Anchor link
Weet je zeker dat dit werkt? Al je updates hebben namelijk geen WHERE clause waardoor die updates op ALLE rijen in de betreffende tabel worden uitgevoerd.

Daarnaast kan je die updates ook nog eens in minder queries doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$inv5
=mysql_query("UPDATE geld SET saldo = $wopbrengst + saldo");
$inv6=mysql_query("UPDATE geld SET totaal = $wopbrengst + totaal");

//wordt in 1 query:
$inv5=mysql_query("UPDATE geld
                   SET saldo = "
.$wopbrengst." + saldo,
                       totaal = "
.$wopbrengst." + totaal");
?>

Hetzelfde voor de tweede set aan update queries.
Bedenk dat het uitvoeren van queries over het algemeen de meeste tijd kost. Hoe minder queries hoe beter dus (als vuistregel).

Toevoeging op 03/08/2012 13:08:42:

Daarnaast zie ik je ook een keer "SELECT * FROM posities", terwijl je alleen het aantal rijen nodig hebt. Daar is een veel betere query voor:
SELECT COUNT(*) AS totaal FROM posities

Met die query krijg je een rij terug, met 1 kolom genaamd 'totaal'. Als je die uitleest weet je het aantal rijen in je totale tabel. Veel sneller en efficienter.
Gewijzigd op 03/08/2012 13:11:14 door Erwin H
 
Louis Deconinck

Louis Deconinck

03/08/2012 13:17:07
Quote Anchor link
Dit werkte inderdaad niet, maar dat kwam door een berekeningsfout, ik ben er zelfs achtergekomen, dat die WHERE, bij DELETE geheel overbodig is. Dit is nu de goede code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
$topbrengst=0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
if ($posities['opbrengst'] + $_POST['inkpos'] > 15) {
$teveel=15-$posities['opbrengst'];
$topbrengst=$teveel+$topbrengst;
$inv4=mysql_query("DELETE FROM posities");
$inv5=mysql_query("UPDATE geld SET saldo = $teveel + saldo");
$inv6=mysql_query("UPDATE geld SET totaal = $teveel + totaal");
}
}

$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$aantalposities=mysql_num_rows($posities_get);
$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'] + $topbrengst;
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>


Toevoeging op 03/08/2012 13:19:31:

Mijn fout er moet wel overal een where anders delete hij ze allemaal
 
- SanThe -

- SanThe -

03/08/2012 13:34:56
Quote Anchor link
Foutafhandeling ontbreekt en SQL-Injection is mogelijk.
 
Louis Deconinck

Louis Deconinck

03/08/2012 13:35:18
Quote Anchor link
Ok, het werkt dus nog steeds niet :-(

Wat ik dus wil:
Ik wil dus dat hij in de while loopt alle posities die er zijn 1 voor 1 overloopt, vervolgens filtert hij daar alle posities uit die deze beurt een opbrengst zouden hebben van meer dan €15. Dan neemt hij de huidige opbrengst van deze positie en trekt dit af van 15, dit is dan het bedrag dat de positie zou moeten verdienen om tot aan 15 te komen. Daarna delete hij de positie, daarna moet hij het bedrag dat de posite tot de €15 bracht bij het saldo optellen. Verder moet hij ook nog eens bijhouden in $topbrengst hoeveel tijdens deze uitbetaling op deze manier werd verdient.

Daarna moet hij van alle posities die deze beurt nog geen €15 bereiken het ingegeven bedrag bij de opbregnst laten optellen

en als laatste moet hij dan ook nog eens weergegeven hoeveel er tijdens deze beurt in totaal is verdient.

Voorbeeld van hoe het moet: Een persoon beschikt over een saldo van €0 en 3 posities met een opbrengst van €0. Ik geef €10 in, dus alle posities van deze persoon verdienen €10 -> De persoon heeft een saldo van €30, verder heeft hij ook nog 3 posities met een opbrengst van elk €10 -> De persoon koopt met zijn saldo 3 nieuwe posities (een positie kost €10)-> De persoon heeft een saldo van €0, verder heeft hij nog 3 posities met elk een opbrengst van €10 en nog eens 3 posities met elk een opbrengst van €0 -> Ik geef nogmaals €10, dus alle posities van deze persoon verdienen €10, er is echter een uitzondering, aangezien zijn 3 eerste posities dan een opbrengst zouden hebben van €20 terwijl de maximale opbregnst €15, dus berekenen we hoeveel de posities tekort komen om €15 aan opbrengst te hebben, in ons geval is dit dus €5, dus de 3 posities worden verwijderd en de persoon heeft nu een saldo van €15, dit is echter nog niet alles want hij heeft ook nog eens 3 andere posities die elk €10 opbrengen -> Eindstand: saldo:€45 posities: 3 met een opbrengst van elk €10.

Hoe krijg ik dit voor elkaar?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
$topbrengst=0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
if ($posities['opbrengst'] + $_POST['inkpos'] > 15) {
$teveel=15-$posities['opbrengst'];
$topbrengst=$teveel+$topbrengst;
$inv4=mysql_query("DELETE FROM posities WHERE opbrengst + '".$_POST['inkpos']."' > 15");
$inv5=mysql_query("UPDATE geld SET saldo = $teveel + saldo WHERE opbrengst + '".$_POST['inkpos']."' > 15");
$inv6=mysql_query("UPDATE geld SET totaal = $teveel + totaal WHERE opbrengst + '".$_POST['inkpos']."' > 15");
}
}

$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$aantalposities=mysql_num_rows($posities_get);
$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'] + $topbrengst;
echo $whilecount.'<br>';
echo $topbrengst.'<br>';
echo $aantalposities.'<br>';
echo $teveel;
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>
Gewijzigd op 03/08/2012 13:36:17 door Louis Deconinck
 
Erwin H

Erwin H

03/08/2012 14:18:57
Quote Anchor link
Even dacht ik dat het niet zo moeilijk zou zijn om dit in veel minder regels te plaatsen. Al die berekeningen moet je namelijk gewoon in SQL kunnen doen wat veel sneller en efficienter is.

Maar helaas, van je uitleg begrijp ik echt helemaal niets.... probeer het dus nog eens, misschien dat ik je dan kan helpen.
 
Louis Deconinck

Louis Deconinck

03/08/2012 14:37:27
Quote Anchor link
Ok, hopelijk kan het deze keer wat duidelijker:

Mensen die zich registreren op de website krijgen een saldo (in €) met dit saldo kunnen ze posities ter waarde van €10 aanschaffen. We gaan er dus vanuit dat de persoon start met een saldo van €30

1. saldo = €30 posities = 0

Met deze €30 koopt hij dus 3 posities

2. saldo = €0 posities = 3

elke positie heeft echter ook een eigen opbrengst. dus telkens wanneer de positie geld genereert gaat de opbengst omhoog, deze opbrengst kan echter maximaal €15 zijn.

3. saldo = €0 posities = 3 (met elk €0 opbrengst)

Goed nu is er ook een admin gedeelte (de code gaat over deze pagina), waarbij ik dus kan bepalen hoeveel geld de posities genereren. Dus in ons voorbeeld zeg ik dat alle posities die bestaan €10 genereren, dit verhoogt het saldo van de persoon dus ook, in ons geval heeft de persoon dus 3 posities dus 3x€10 = €30. Maar dit verhoogt ook de opbrengst van de posities, dus alle posities hebben nu een opbrengst van €10.

4. saldo = €30 posities = 3 (met elke €10 opbrengst)

Nu besluit de persoon om met zijn saldo (€30) daar weer nieuwe posities mee te kopen, 1 positie kost €10 dus de persoon kan 3 nieuwe posities kopen, deze nieuwe posities hebben elk een opbrengst van €0

5. saldo = €0 posities = 6 (3 oude met elk €10 opbrengst en 3 nieuwe met elk €0 opbrengst)

Dus de volgende dag ga ik opnieuw naar het admingedeelte en besluit dat elke positie vandaag weer €10 zal verdienen. Echter de 3 oude posities hebben reeds een opbrengst van €10, dus daar zou dan nogmaals €10 bijkomen, wat dus een totale opbrengst geeft van €20, dit is echter niet toegestaan want de totale opbrengst van een positie mag maximaal €15 zijn. Dus we berekenen op hoeveel geld de positie nog recht heeft. €15 (maximale opbrengst) - €10 (het geld dat de posities deze beurt genereren) = €5. Dus deze 3 posities hebben elk nog recht op €5, wat een totaal maakt van €15. Dus we schrijven €15 bij bij het saldo en we verwijderen de 3 oude posities aangezien deze toch hun maximale opbrengst hebben bereikt. Dan hebben we ook nog de 3 nieuwe posities, aangezien deze nog niet aan hun maximale opbrengst zitten, verdienen deze elk €10 en hebben nu dus ook een opbrengst van €10, wat dus een totaal maakt van €30. Dus €15 (opbrengsten oude posities) + €30 (opbrengsten nieuwe posities) = €45 (het nieuwe saldo).

6. saldo = €45 posities = 3 (met elk een opbrengst van €10)

Hoe krijg ik dit voor elkaar? de fout zit hem in het admin gedeelte:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
session_start();
include("header.php");
if (!isset($_SESSION['admin'])) {
output("Je moet ingelogd zijn om deze pagina te kunnen bekijken");
}

else {
if (isset($_POST['bevestig'])) {
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$posities = mysql_fetch_assoc($posities_get);
$whilecount = 0;
$topbrengst=0;
while ($whilecount < mysql_num_rows($posities_get)) {
$whilecount=$whilecount+1;
if ($posities['opbrengst'] + $_POST['inkpos'] > 15) {
$teveel=15-$posities['opbrengst'];
$topbrengst=$teveel+$topbrengst;
$inv4=mysql_query("DELETE FROM posities WHERE opbrengst + '".$_POST['inkpos']."' > 15");
$inv5=mysql_query("UPDATE geld SET saldo = $teveel + saldo WHERE opbrengst + '".$_POST['inkpos']."' > 15");
$inv6=mysql_query("UPDATE geld SET totaal = $teveel + totaal WHERE opbrengst + '".$_POST['inkpos']."' > 15");
}
}

$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
$aantalposities=mysql_num_rows($posities_get);
$inv1=mysql_query("UPDATE posities SET opbrengst = '".$_POST['inkpos']."' + opbrengst");
$inv2=mysql_query("UPDATE geld SET saldo = ($aantalposities * '".$_POST['inkpos']."') + saldo");
$inv3=mysql_query("UPDATE geld SET totaal = ($aantalposities * '".$_POST['inkpos']."') + totaal");
$totaalbetaald = mysql_num_rows($posities_get) * $_POST['inkpos'] + $topbrengst;
echo $whilecount.'<br>';
echo $topbrengst.'<br>';
echo $aantalposities.'<br>';
echo $teveel;
output("Elke positie heeft &euro;".$_POST['inkpos']." verdiend, dat is dus een totaal van &euro;$totaalbetaald.");
}

?>

<form action="" method="post">
Inkomsten per positie: &euro;<input type="text" name="inkpos" />
<input type="submit" value="Bevestig" name="bevestig" />
</form>
<?php
}
include("footer.php");
?>
Gewijzigd op 03/08/2012 14:37:58 door Louis Deconinck
 
Erwin H

Erwin H

03/08/2012 14:51:57
Quote Anchor link
Dit is al duidelijker, maar nog wel twee tussenvraagjes:
1) Je zegt dat het gaat over gebruikers die posities kopen. Dat betekent volgens mij dat in je tabel 'posities' je ook nog rekening moet houden met elke gebruiker. Het saldo dat je berekent moet je dus wel uitsplitsen over de verschillende gebruikers. Het kan niet allemaal 1-2-3 bij elkaar worden opgeteld.

2) Ik begrijp niet waarom je direct de posities wilt deleten die aan het maximum zitten. Is dat niet aan de gebruiker om die weg te gooien c.q. te verkopen?
 
Louis Deconinck

Louis Deconinck

03/08/2012 15:01:18
Quote Anchor link
1)Er zijn 3 tabellen namelijk: 'gebr' hierin worden alle gebruikersgegevens opgeslagen zoals, naame, email en wachtwoord alsook een unieke id waarmee ik posities en geld aan de gegevens van de gebruiker kan koppelen. Dan is er ook nog de tabel 'geld' hierin wordt het saldo opgeslagen en de totale verdiensten van de gebruiker.

Er is dan ook nog een apparte tabel 'posities' daarin zit 'id, 'opbrengst' en 'gebrid'. Doormiddel van 'gebrid' weet ik van wie de positie is, want 'gebrid' stemt overeen met de id van de gebruiker.

2) Deze posites doen niets meer, je kan ze niet verkopen (ze zijn niets waard) en ze leveren ook geen geld meer op (ze hebben hun maximale opbrengst bereikt), dus gewoon om de database wat mooi te houden verwijder ik ze, waarom moet ik de gebruiker met extra werk opzadelen, als ik de posities automatisch kan laten verwijderen.
Gewijzigd op 03/08/2012 15:04:07 door Louis Deconinck
 
Ivo Breeden

Ivo Breeden

03/08/2012 15:32:47
Quote Anchor link
Louis,
Je zegt dat je alle rijen in de while wilt behandelen. Misschien zie ik iets over hoofd maar volgens mij behandel je alleen de eerste rij. Volgens mij moet de while ongeveer zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$posities_get = mysql_query("SELECT * FROM posities") or die(mysql_error());
while ($posities = mysql_fetch_assoc($posities_get)) {
  // behandel hier een rij, bijv.
  if ($posities['opbrengst'] + $_POST['inkpos'] > 15) {
    //enz.
  }
}

Dus geen gedoe met $whilecount.
(Wat voor tag moet ik trouwens gebruiken voor een code blok? ik doe "code" tussen blokhaken, maar ik krijg geen gekleurde syntax.)
Gewijzigd op 03/08/2012 15:38:54 door Ivo Breeden
 
Louis Deconinck

Louis Deconinck

03/08/2012 15:43:19
Quote Anchor link
Bedankt Ivo, dat ga ik even proberen, voor een gekleurde syntax met je php tags gebruiken in je code.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.