variabele als nummer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kees

kees

20/04/2006 16:39:00
Quote Anchor link
Hallo,

Ik heb een php script met een database connectie. Ik heb verschillende variabelen die GETALLEN ophalen uit mijn database. Ik kan deze variabelen echter niet optellen, aftrekken, delen , etc. Dit komt volgens mij omdat hij de variabelen niet als getallen, maar als tekst ziet.

Weet iemand hoe ik dit oplos? ik wil dus de variabele met elkaar kunnen laten optellen en andere sommetjes mee kunnen doen.


Mijn variabelen zien er allemaal ongeveer zo uit:

$next_level = mysql_result(mysql_query("SELECT 'exp_doel_experience' FROM runescape WHERE overig = '4'"), 0);
 
PHP hulp

PHP hulp

16/11/2024 16:35:34
 
Arjan Kapteijn

Arjan Kapteijn

20/04/2006 16:41:00
Quote Anchor link
Hoe tel jij op dan?
 
- SanThe -

- SanThe -

20/04/2006 16:43:00
Quote Anchor link
$var = " 99 ";
echo strval($var) + 1;

// geeft 100
 
Kees

kees

20/04/2006 16:47:00
Quote Anchor link
het is niet echt bij optellen.

ik heb bijvoorbeeld deze variabelen:

$exp_eenheid = mysql_result(mysql_query("SELECT 'exp_eenheid' FROM runescape WHERE overig = '4'"), 0);

en

$totaal_getal = mysql_result(mysql_query("SELECT getal FROM runescape WHERE overig = '1'"), 0) + mysql_result(mysql_query("SELECT getal FROM runescape WHERE overig = '2'"), 0) + mysql_result(mysql_query("SELECT getal FROM runescape WHERE overig = '3'"), 0);

en $verschil_experience = $next_level - $current_level; (waarvan next_level en current_level ook resultaten zijn uit de database.



Met deze variabelen probeer ik dit sommetje te maken:

$vordering = (($totaal_getal * $exp_eenheid * 28) / $verschil_experience) * 100;

maar dit lukt niet. Hij geeft deze foutmelding:

Warning: Division by zero in ......... bestandsnaam + regel


-----
EDIT:

ik ga er van uit dat het komt omdat hij de variabelen niet als getallen ziet, omdat ik eerst achter de bovenste 3 variabelen gewoon getallen had gezet, en dat werkte gewoon goed.

Misschien heb ik een verkeerd type van de tabel gebruikt in MySQL. Welke moet ik gebruiken?

------
Gewijzigd op 01/01/1970 01:00:00 door kees
 
- SanThe -

- SanThe -

20/04/2006 16:55:00
Quote Anchor link
Als $verschil_experience 0 (nul) is of "" (leeg) geeft ie die error inderdaad.
 
Kees

kees

20/04/2006 16:58:00
Quote Anchor link
$verschil_experience is NIET nul. Verschil experience = $next_level - $current level.

ofwel.. 1986068 - 1111990
 
- SanThe -

- SanThe -

20/04/2006 16:59:00
Quote Anchor link
Wat is 'getal' voor een veld in de database?
 
Kees

kees

20/04/2006 17:01:00
Quote Anchor link
getal is INT in de database. En de rest ook. Wat voor veldtype in de database moet ik gebruikeN?
 
Klaasjan Boven

Klaasjan Boven

20/04/2006 18:54:00
Quote Anchor link
Waarschijnlijk gaat er iets mis met je Queries.
Echo je queries eens of zet er iets achter als or die.
En als overig in je db een int is dan niet tussen ' '

en int is op ich wel het goede veldtype
 
Frank -

Frank -

20/04/2006 19:00:00
Quote Anchor link
En controleer altijd of een variabele wel bestaat en een waarde heeft. isset() en empty() zijn hier de aangewezen functies. Verder natuurlijk altijd controleren of een query is gelukt en dan pas verder gaan.

Zodra je de aanname doet (!) dat een variabele wel bestaat en een waarde heeft waar jij iets mee kunt, weer je dat je een ernstige fout hebt begaan...

I assume => I make an ass of you and me... Zegt genoeg lijkt mij.
 
Kees

kees

21/04/2006 09:49:00
Quote Anchor link
volgens mij betekent Warning: Division by zero in ...

dat hij niet door 0 kan delen. Ik ga dus alle query's controleren, bedankt voor de hulp.
 



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.