wachten tot query klaar is [PHP/SQL]

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik via PHP een sql querie uitvoer (op een postgresql db) dan wil ik dat je op dat moment niet nog een keer op de 'querie uitvoeren knop' kan drukken (dus terwijl de querie afgehandeld wordt), hoe scherm ik dit af?

bvd Bart

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Zorgen dat je output niet geflushed wordt op het moment van uitvoeren van de query:

PHP manual / Output Control


edit:
* drm had het verkeerd begrepen

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Ik neem aan dat je het over een site hebt? Je kan het proberen met een javascript die eerst het form post en daarna de knop disabled of enable=false ofzoiets instelt.

Acties:
  • 0 Henk 'm!

Verwijderd

Is deze functie een mogelijke vervanging van het locken van tabellen in een DB :?

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Nee want dat wil je vast niet.
Dat betekent namelijk dat van 2 mensen die op ong. dezelfde tijd de site bezoeken (was toch voor een site :?) er 1tje de lul is en moet wachten tot die ander klaar is met posten.

Kun je misschien een beetje een vollediger beeld schetsen van de toepassing? En een beetje duidelijker.
:)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • intert0y
  • Registratie: Februari 2000
  • Laatst online: 10-03 15:17
ik heb een keer het volgende script gebruikt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
tempobj.disabled = true;
}
setTimeout('alert("Uw gegevens worden verwerkt. Druk op OK om verder te gaan.")', 2000);
return true;
}
else {
alert("Uw gegevens worden verwerkt. Druk op OK om verder te gaan.");
return false;
   }
}
//  End -->
</script>

dit script disabled de submit button en geeft als het langer van een bepaalde tijd een javascript pop-up. Ik weet niet precies hoe dat ie werkt maar ben sinds het gebruik

en in het form zet je dan het volgende:
code:
1
onSubmit="return disableForm(this)";

ik hoop dat je er wat aan hebt. Zal ook nog ff de pagina zoeken waar ik het vandaan heb.

ik ben geen postbode, maar postman Pat rulez!


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Op vrijdag 16 november 2001 13:57 gaf intert0y een script en gaf aan niet te begrijpen wat het precies deed
Ik zal het even voor je commenten:
code:
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
function disableForm ( theform ) 
{
   /* IE4+ en NS6, Mozilla 0.9+ :*/
   if ( document.all || document.getElementById ) 
   {
    /* Loop alle elementen van het formulier door */
    for (i = 0; i < theform.length; i++) 
    {
       /* Maak tijdelijk object aan wat verwijst naar het element wat behandeld wordt */
       var tempobj = theform.elements[i];

       /* Als het type van het element "submit" of "reset" is ...*/
       if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")

       /*... zet het attribuut disabled aan van dat element */
       tempobj.disabled = true;
    }
   
    /* Na 2000 milliseconden een bericht dat de de gegevens verwerkt worden */
    setTimeout('alert("Uw gegevens worden verwerkt. Druk op OK om verder te gaan.")', 2000);

    /* Geef true terug, betekent in dit geval dat het formulier verzonden moet worden */    
    return true;
   }
   else 
   {
    
    /* Na 2000 milliseconden een bericht dat de de gegevens verwerkt worden */
    alert("Uw gegevens worden verwerkt. Druk op OK om verder te gaan.");

    /* Geef false terug, betekent in dit geval dat het formulier NIET verzonden moet worden  (waarom ontgaat mij een beetje, maar goed...*/
    return false;
   }
}

* drm mode off

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd


Acties:
  • 0 Henk 'm!

  • Mini-me
  • Registratie: November 1999
  • Niet online
Dit script lijkt bij mijn site niet te werken.. als ik op de submitknop druk dan wordt hij inderdaad gedisabled en het form wordt gesubmit.
Het probleem is echter dat ik controleer of de submitknop is ingedrukt:
PHP:
1
2
3
4
5
6
7
8
<?
if ($submit){
  //process form
}
else {
  //show form
}
?>

En dit werkt dus niet. Blijkbaar wordt $submit geunset via dit javascript?

Acties:
  • 0 Henk 'm!

  • Config
  • Registratie: Januari 2000
  • Laatst online: 06-01 00:49
Op vrijdag 16 november 2001 15:55 schreef Mini-me het volgende:
Dit script lijkt bij mijn site niet te werken.. als ik op de submitknop druk dan wordt hij inderdaad gedisabled en het form wordt gesubmit, maar vervolgens laadt hij de pagina zelf opnieuw :?
Dat heeft meer met je php script te maken...

Acties:
  • 0 Henk 'm!

  • Mini-me
  • Registratie: November 1999
  • Niet online
Sorry ik omschreef het probleem niet goed en ik had het dus nog niet gepost of ik was alweer aan het editen.. lees mijn update ff plz :)
Pagina: 1