Rekenen met waardes uit mysql database.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel sauer

marcel sauer

22/11/2013 21:51:29
Quote Anchor link
ik loop weer eens tegen (ik denk een simpel) probleempje aan.
na al aardig wat googlen en er nog niet uit gekomen te zijn. (mysql krijg ik nog steeds niet onder controlle)

gegevens in de database schieten en er uit lezen gaat prima.

maar nu wil ik een vakantie uren pagina maken.
dus de bestaande vakantie uren (cijfer) op halen en hier mee gaan rekenen.

het moet op te tellen zijn en af te trekken.
zodat als ik vakantie uren gebruik of er bij krijg er uren af of op geteld kan worden. (a.d.h.v. het cijfer in de database minus mijn ingevoerde cijfer en idem met optellen)

dit heb ik weten te bemachtigen en aangepast hoe ik dacht dat het moest maar helaas....

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
<?php
$sql
= "SELECT 'uren' FROM `vakantieuren` WHERE `id` = '2'";


 
if($_SERVER['REQUEST_METHOD'] == 'POST') //kijken of er op verzenden is gedrukt.
{ //accolade openen.
    
    $gebruiker = $_POST['gebruiker']; //de waarde die de gebruiker ingevuld heeft dmv het formulier.
    $uitkomst = $gebruiker + $sql; //hier gaan we dus de vaste waarde vermenigvuldigen met de gebruiker waarde.
    echo "De uitkomst is: ".$uitkomst; //en hier echoen we de uitkomst.
} //acolade sluiten.
else //als er nog niet op verzenden is gedrukt, wat dan?
{// accolade openen, daarna sluiten we voor het gemak php even en laten we het formulier zien.
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Getal: <input type="text" name="gebruiker" size="1">
    <input type="submit" value="Bereken!">
</form>
<?php //de php-tag weer openen.
} //en de accolade weer sluiten en daarna de php-tag sluiten. Makkelijk toch?!
?>


EDIT : ik zou ook graag willen dat de veranderingen in de database worden opgeslagen inclusief een datum.
het laatse bijgewerkte is dus elke keer het nieuwe vakantie uren getal waar mee gerekend moet worden.
Gewijzigd op 22/11/2013 22:04:58 door Marcel sauer
 
PHP hulp

PHP hulp

16/04/2024 23:20:18
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/11/2013 23:49:12
Quote Anchor link
Marcel sauer op 22/11/2013 21:51:29:
gegevens in de database schieten en er uit lezen gaat prima.


eerst initialiseer je $sql met een lap tekst (je query).
dan doe je $_POST['gebruiker'] + $sql. wat verwacht je daarvan?

$sql is een tekst en daar kun je dus niet mee rekenen. Bovendien haal je nergens de gegevens uit de database.
Gewijzigd op 23/11/2013 00:56:27 door Frank Nietbelangrijk
 
Reshad F

Reshad F

23/11/2013 12:29:59
Quote Anchor link
En wie moet de SQL uitvoeren dan? ik zou even teruggaan naar de basis van sql en daarmee eerst oefenen.
 
Bas IJzelendoorn

Bas IJzelendoorn

23/11/2013 13:23:03
Quote Anchor link
1. $sql = slechts de opbouw van een query
2. Dan moet je vervolgens iets met de $sql doen: $query = mysql_query($sql);
3. Vervolgens moet je de data nog fetchen en heb je $resultaat = mysql_fetch_row($query);
4. Met je $resultaat kan je vervolgens gaan rekenen

Dus dan zou het worden:
$uitkomst = $resultaat + $gebruiker
Gewijzigd op 23/11/2013 13:24:23 door Bas IJzelendoorn
 
Marcel sauer

marcel sauer

28/11/2013 20:16:56
Quote Anchor link
ik kom er helaas nog steeds niet uit bedankt voor de reacties ik ga nog even ploeteren
 
Marcel sauer

marcel sauer

06/12/2013 21:22:27
Quote Anchor link
daar zijn we weer even het rekenen doe ik nu met 2 handmatig ingevoerde waardes.
nu wil ik de uitkomst gelijk invoeren in mijn database met datum.

alleen voert hij niks in.
wat doe ik nu nog 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
<?php

if($_SERVER['REQUEST_METHOD'] == 'POST') //kijken of er op verzenden is gedrukt.
{ //accolade openen.
    
    $gebruiker = $_POST['gebruiker']; //de waarde die de gebruiker ingevuld heeft dmv het formulier.
    $saldo = $_POST['saldo'];//de waarde die de gebruiker ingevuld heeft dmv het formulier.
    $uitkomst = $gebruiker + $saldo; //hier gaan we dus de vaste waarde vermenigvuldigen met de gebruiker waarde.
    echo "De uitkomst is: ".$uitkomst; //en hier echoen we de uitkomst.
    
    $uitkomst = $_POST['uren'];    
    
    $sql = "INSERT INTO vakantieuren (uren,date) VALUES ('$uitkomst',NOW())";
}
//acolade sluiten.
else //als er nog niet op verzenden is gedrukt, wat dan?
{// accolade openen, daarna sluiten we voor het gemak php even en laten we het formulier zien.

?>
 
- SanThe -

- SanThe -

06/12/2013 21:27:39
Quote Anchor link
Op regel 11 overschrijf je de uitkomst.
 
Marcel sauer

marcel sauer

06/12/2013 21:31:25
Quote Anchor link
ok dat dacht ik al maar hoe krijg ik de uitkomst dan in de VALUES??
ik kan ook die regel niet weg laten toch?

ik kan hem ook niet zo maken want dit werkt ook niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$uitkomst = $_POST['uitkomst'];    
Gewijzigd op 06/12/2013 21:33:01 door marcel sauer
 
- SanThe -

- SanThe -

06/12/2013 21:44:58
Quote Anchor link
Geen idee wat de bedoeling is van regel 11.
 
Marcel sauer

marcel sauer

06/12/2013 21:49:31
Quote Anchor link
de uitkomst van de berekening moet in de mysql database gevoerd worden.
zonder regel 11 doet hij dit ook niet ....
 
- SanThe -

- SanThe -

06/12/2013 22:08:51
Quote Anchor link
Regel 11 heeft niets met de berekening te maken.
 
Marcel sauer

marcel sauer

06/12/2013 22:11:04
Quote Anchor link
dat begrijp ik maar hoe krijg ik $uitkomst in mijn database ingevoerd?

ik dacht met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "INSERT INTO vakantieuren (uren,date) VALUES ('$uitkomst',NOW())";
 
- SanThe -

- SanThe -

06/12/2013 22:29:33
Quote Anchor link
Ja klopt, maar dan wel regel 11 weghalen.

Toevoeging op 06/12/2013 22:30:07:

En uiteraard de query ook nog uitvoeren.
 
Marcel sauer

marcel sauer

06/12/2013 22:35:38
Quote Anchor link
aaaaahhhh super bedankt -SanThe-!!!!
nu zie ik wat ik fout deed de query!!


fixed!
 
- SanThe -

- SanThe -

06/12/2013 22:44:03
Quote Anchor link
Ik zie nu pas (sorry) dat je de query in je eerste post ook niet uitvoerd en ook geen fetch doet, maar dat je de string op probeert te tellen.
 



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.