query wordt te vaak uitgevoerd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

- -

- -

03/05/2006 11:36:00
Quote Anchor link
Ik heb een functie gebouwd om iemand te laten betalen voor zijn acties in het spel. Hij update daarbij de grondstoffen in de tabel. Dit is de functie (Hij zal best korter kunnen)

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
<?php

function pay($id, $hout, $vis, $katoen, $error)
{

    $sql2 = "SELECT hout, vis, katoen FROM spellog WHERE id = '".$id."'";
    $res2 = mysql_query($sql2);
    if(!$res2)
      {

            echo mysql_error();
            foot();
            exit();
        }

    $row2 = mysql_fetch_array($res2);
    $houth = $row2['hout'];
    $vish = $row2['vis'];
    $katoenh = $row2['katoen'];
    $houtn = $houth - $hout;
    $visn = $vish - $vis;
    $katoenn = $katoenh - $katoen;
    if($houtn < 0)
    {
$gr = "hout";}
    elseif($visn < 0)
    {
$gr = "vis";}
    elseif($katoenn < 0)
    {
$gr = "katoen";}
    if(isset($gr))
        {

            echo 'Je hebt niet genoeg '.$gr.' '.$error.'';
            foot();
            exit();
        }

    $sql3 = "UPDATE spellog SET hout = '".$houtn."', vis = '".$visn."', katoen = '".$katoenn."' WHERE id = '".$id."'";
    $res3 = mysql_query($sql3);
    if(!$res3)
      {

            echo mysql_error();
            foot();
            exit();
        }
}


?>


Ik voor die uit doormiddel van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

pay($id, 400, 400, 400, "om dit te doen.");

?>


Hierdoor laat hij de speler met id $id 400 van alle grondstoffen betalen. Dat doet hij netjes, de grondstoffen die ernaast staan gaan inderdaad 400 omlaag.

Maar dan komt het probleem. Als je daarna de pagina verlaat, voert hij de query nog eens 2 keer uit, en haalt hij dus nog 800 van alle grondstoffen eraf. Ook als ik de functie niet gebruik maar gewoon alles in de pagina zelf zet voert hij de query te vaak uit.

Rara, hoe kan dat? :S
 
PHP hulp

PHP hulp

16/11/2024 16:34:44
 
- wes  -

- wes -

03/05/2006 11:56:00
Quote Anchor link
doe eens return $sql2 ipv het uitvoeren ervan, kan je iig waar het opgeroepen word
 
- -

- -

03/05/2006 12:08:00
Quote Anchor link
De query's kloppen, maar het zit ook niet in de query, want hij voert de query eerst gewoon uit zoals het hoort. Pas als je de pagina verlaat vooert hij de query nóg 2 keer uit.
 
- -

- -

03/05/2006 13:45:00
Quote Anchor link
niemand? :'(
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

03/05/2006 14:02:00
Quote Anchor link
Hoevaak roep je de functie Pay aan?
 
- -

- -

03/05/2006 14:30:00
Quote Anchor link
3 keer, met verschillende waardes, in een switch:

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
<?php

switch ($actie) {
case
1:
pay(alle waardes);
break;
case
2:
pay(alle waardes);
break;
case
3:
pay(alle waardes);
break;
}


?>
 



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.