abonnement Unibet Coolblue Bitvavo
  maandag 14 mei 2007 @ 22:28:47 #31
84926 WyriHaximus
Release the hounds smithers!
pi_49382786
quote:
Op maandag 14 mei 2007 22:25 schreef Geqxon het volgende:
En wat de queries betreft: Je moet dan wel bij elke query die je draait een functie aanroepen, is dat do-able?
Double .

Anyway zelf gebruik ik een class voor database communicatie en er zit een klein tellertje in ($this->_query_count++) voor als er een query word uitgevoerd .
phluphy for president!
  maandag 14 mei 2007 @ 22:29:27 #32
107951 JortK
Immer kwaliteitsposts
pi_49382832
quote:
Op maandag 14 mei 2007 22:25 schreef Geqxon het volgende:
En wat de queries betreft: Je moet dan wel bij elke query die je draait een functie aanroepen, is dat do-able?
Ja dat is do able
  maandag 14 mei 2007 @ 22:30:00 #33
107951 JortK
Immer kwaliteitsposts
pi_49382860
quote:
Op maandag 14 mei 2007 22:28 schreef WyriHaximus het volgende:

[..]

Double .

Anyway zelf gebruik ik een class voor database communicatie en er zit een klein tellertje in ($this->_query_count++) voor als er een query word uitgevoerd .
Stuur mij die class eens

Je hebt me email
pi_49383062
1
2
3
4
5
6
7
8
9
10
<?php
function countQuery(){
static 
$querycounter 0;

$querycounter++;
}

mysql_query("SELECT * FROM users");
countQuery();
?>


Oid.
  maandag 14 mei 2007 @ 22:51:54 #35
84926 WyriHaximus
Release the hounds smithers!
pi_49384050
Zoiets gebruik ik. Die class kan ik je niet 1 2 3 zomaar geven namelijk :@

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function mysql_query_c($query,$rid = false)
{
static
$querycounter = 0;
$querycounter++;
if(
$rid)
{
return
mysql_query($query,$rid);
}
else
{
return
mysql_query($query);
}
}
?>
phluphy for president!
pi_49384528
1
2
3
<?php
strtotime
("2007W40");
?>


Geeft lokaal de timestamp van de maandag in week 40 op 2007 weer, en op mijn server -1. Iemand misschien wat tips?
  maandag 14 mei 2007 @ 23:10:08 #37
84926 WyriHaximus
Release the hounds smithers!
pi_49384940
quote:
Op maandag 14 mei 2007 23:02 schreef Geqxon het volgende:

[ code verwijderd ]

Geeft lokaal de timestamp van de maandag in week 40 op 2007 weer, en op mijn server -1. Iemand misschien wat tips?
Dit miscshien wat voor je? http://www.php.net/manual(...)ult-timezone-set.php Je zit met je tijdzones namelijk en standaard gebruikt php die van de server (of wat er in php.ini staat).
phluphy for president!
pi_49385051
quote:
Op maandag 14 mei 2007 23:10 schreef WyriHaximus het volgende:

[..]

Dit miscshien wat voor je? http://www.php.net/manual(...)ult-timezone-set.php Je zit met je tijdzones namelijk en standaard gebruikt php die van de server (of wat er in php.ini staat).
Bedankt!

Ik moet zeggen dat ik liever niet al te veel met timezones speel, ik heb het nu simpelweg opgelost door de eerste maandag van het jaar te pakken, en daar een aantal weken bij op te tellen
pi_49391001
Ik heb in het verleden heel vaak akefietjes met tijdzones gehad in PHP odat ik vaak met Nederlandse en Amerikaanse hosts zat;in Amerika liggen ze immers 6 uren achter op Nederland. Had ik altijd twee hele eenvoudige oplossingen voor.

De eerste was om een eigen functie tijd() aan te maken die er als volgt uit zag:
1
2
3
function tijd(){
   return time()-3600;
}


De volgende was om een variabele $tz=-3600; aan te maken en die te gebruiken in je datumweergaves, dus bijvoorbeeld:

1date("M d H",$een_tijd+$tz)


Tweede oplossing is dan natuurlijk beter omdat je alleen bij de weergave van datums de daadwerkelijke tijd beinvloed.
  dinsdag 15 mei 2007 @ 09:39:12 #40
107951 JortK
Immer kwaliteitsposts
pi_49392168
quote:
Op maandag 14 mei 2007 23:12 schreef Geqxon het volgende:

[..]

Bedankt!

Ik moet zeggen dat ik liever niet al te veel met timezones speel, ik heb het nu simpelweg opgelost door de eerste maandag van het jaar te pakken, en daar een aantal weken bij op te tellen
Of gebruik de putenv(); functie, die gebruik ik nogal veel
pi_49398697
Wat is het handige van references?
pi_49399427
quote:
Op dinsdag 15 mei 2007 13:19 schreef super-muffin het volgende:
Wat is het handige van references?
Als jij met variabelen werkt, werk je eigenlijk met verwijzingen naar stukken geheugen in de computer/server. Als jij dus een grote array met 100.000 items aanmaakt in PHP en die in $var stopt, dan zal $var een verwijzing naar die array bevatten.

Ga je vervolgens $var aan functies meegeven als parameter, dan maakt PHP een kopie van die variabele (alsof het dus geen verwijzing is). Gebruik je het &-teken om een parameter als referentie te accepteren, dan zal PHP direct op de array werken en niet op een kopie, wat geheugen spaart en sneller is ook hoef je eventueel de functie niets te laten retourneren, want de oorspronkelijke inhoud van de variabele zal worden aangepast.
  dinsdag 15 mei 2007 @ 13:45:03 #43
84926 WyriHaximus
Release the hounds smithers!
pi_49399510
quote:
Op dinsdag 15 mei 2007 13:42 schreef JeRa het volgende:

[..]

Als jij met variabelen werkt, werk je eigenlijk met verwijzingen naar stukken geheugen in de computer/server. Als jij dus een grote array met 100.000 items aanmaakt in PHP en die in $var stopt, dan zal $var een verwijzing naar die array bevatten.

Ga je vervolgens $var aan functies meegeven als parameter, dan maakt PHP een kopie van die variabele (alsof het dus geen verwijzing is). Gebruik je het &-teken om een parameter als referentie te accepteren, dan zal PHP direct op de array werken en niet op een kopie, wat geheugen spaart en sneller is ook hoef je eventueel de functie niets te laten retourneren, want de oorspronkelijke inhoud van de variabele zal worden aangepast.
Ah tof wist ik nog niet . Was wel benieuwt waar het nou voor was .
phluphy for president!
pi_49399728
JeRa: hele goeie uitleg over references
  dinsdag 15 mei 2007 @ 13:51:50 #45
107951 JortK
Immer kwaliteitsposts
pi_49399779
quote:
Op dinsdag 15 mei 2007 13:42 schreef JeRa het volgende:

[..]

Als jij met variabelen werkt, werk je eigenlijk met verwijzingen naar stukken geheugen in de computer/server. Als jij dus een grote array met 100.000 items aanmaakt in PHP en die in $var stopt, dan zal $var een verwijzing naar die array bevatten.

Ga je vervolgens $var aan functies meegeven als parameter, dan maakt PHP een kopie van die variabele (alsof het dus geen verwijzing is). Gebruik je het &-teken om een parameter als referentie te accepteren, dan zal PHP direct op de array werken en niet op een kopie, wat geheugen spaart en sneller is ook hoef je eventueel de functie niets te laten retourneren, want de oorspronkelijke inhoud van de variabele zal worden aangepast.
* JortK beseft zich opeens dat die wel wat winst kan halen in zijn script, en ook wat optimizen te doen heeft
pi_49446293
is er een manier om de autoindex te resetten?
ik heb dus een kolom ID die een auto_increment heeft en aangezien ik nu nog aan het testen ben wil ik , op een makkelijke manier, die kolom kunnen resetten naar 0.
is daar een SQL commando voor?
  woensdag 16 mei 2007 @ 15:55:56 #47
84926 WyriHaximus
Release the hounds smithers!
pi_49446316
quote:
Op woensdag 16 mei 2007 15:55 schreef mschol het volgende:
is er een manier om de autoindex te resetten?
ik heb dus een kolom ID die een auto_increment heeft en aangezien ik nu nog aan het testen ben wil ik , op een makkelijke manier, die kolom kunnen resetten naar 0.
is daar een SQL commando voor?
Tabel leeg gooien
phluphy for president!
pi_49446389
quote:
Op woensdag 16 mei 2007 15:55 schreef WyriHaximus het volgende:

[..]

Tabel leeg gooien
met truncate?
helaas, dan wordt hij niet gereset... (iig niet bij mij..)

argh.. crap...
quote:
For InnoDB, TRUNCATE TABLE is mapped to DELETE, so there is no difference
http://dev.mysql.com/doc/refman/4.1/en/truncate.html

  woensdag 16 mei 2007 @ 15:59:23 #49
42828 bemeall
G'day Mate!
pi_49446434
quote:
Op woensdag 16 mei 2007 15:58 schreef mschol het volgende:

[..]

met truncate?
helaas, dan wordt hij niet gereset... (iig niet bij mij..)
DELETE FROM `tabel`?
Die reset de autoindex hier wel
In het verleden behaalde resultaten bieden geen garantie voor de toekomst...
pi_49446598
Dat kan niet zo maar. Je moet eerst de tabel exporteren, dan verwijderen en weer importeren.
pi_49446677
quote:
Op woensdag 16 mei 2007 16:02 schreef super-muffin het volgende:
Dat kan niet zo maar. Je moet eerst de tabel exporteren, dan verwijderen en weer importeren.
brr...

ik doe nu telkens het volgende in phpmyadmin:
legen -> edit 1 van de keys (unique/primary) -> verander niks en kies voor opslaan...
maar das zo omslachtig
  woensdag 16 mei 2007 @ 16:05:28 #52
84926 WyriHaximus
Release the hounds smithers!
pi_49446719
MyISAM reset je auto index iig met TRUNCATE (net getest)
phluphy for president!
pi_49446809
quote:
Op woensdag 16 mei 2007 16:05 schreef WyriHaximus het volgende:
MyISAM reset je auto index iig met TRUNCATE (net getest)
ik gebruik om technische redenen InnoDB
en daar doet hij dat dus niet (dan is truncate gekoppeld aan delete)

dat heb ik weer
  woensdag 16 mei 2007 @ 16:11:00 #54
84926 WyriHaximus
Release the hounds smithers!
pi_49446943
Kan hij tijdelijk MyISAM zijn om te testen? Of heb je features van InnoDB nodig? je kunt trouwens met phpmyadmin SQL queries bookmarken . Dus tabje open houden en die bookmark steeds uitvoeren .
phluphy for president!
  donderdag 17 mei 2007 @ 18:46:25 #55
104583 cyberstalker
Een krachtig neen!
pi_49486105
Ik ben bezig met een stored procedure in MySQL (5.0.38-log). In de procedure zit een SELECT ... INTO die 1 of 0 rijen teruggeeft.

Wanneer de SELECT geen rijen teruggeeft genereert de procedure een warning. Dit is een groot probleem omdat de gebruiker NIET mag zien of de query een resultaat oplevert.

Het gaat om de volgende procedure:

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
CREATE PROCEDURE cram_init (login TEXT)
LANGUAGE SQL
NOT DETERMINISTIC
MODIFIES SQL DATA
SQL SECURITY DEFINER
BEGIN   
        DECLARE cram_challenge  TEXT    DEFAULT MD5(NOW() * RAND());
        DECLARE userid          INT;

        SELECT  
                uid
        INTO
                userid
        FROM
                user
        WHERE   
                username        =       login;

        IF NOT userid IS NULL THEN
                INSERT INTO
                        cram
                (
                        fk_uid,
                        challenge
                )
                VALUES
                (
                        userid,
                        cram_challenge
                )
                ON DUPLICATE KEY UPDATE
                        fk_uid          =       userid,
                        challenge       =       cram_challenge;
        END IF;
        SELECT challenge;
END


Wanneer je dus cram_init aanroept met een gebruikersnaam die in de tabel user voorkomt gaat het allemaal goed. Wanneer de username niet voorkomt krijg je een warning te zien. Dit kan worden gebruikt om te controleren of een gebruikersnaam bestaat en dat is ongewenst.

Hoe kan ik die warning onderdrukken of, beter nog, de query uitvoeren zonder dat er een warning wordt gegenereerd?
Hope for the best, prepare for the worst.
pi_49486812
Je select query als een variabele declareren en alleen de volgende query uitvoeren als het resultaat van de select query een waarde bevat? In MYSQL werk ik nooit met stored procedures (vreemd genoeg, terwijl ik vrijwel altijd met PHP i.c.m. PHP werk ) maar in MSSQL kun je @@OUT_ERROR manipuleren.

Roep anders deze stored procedure aan via een functie in je broncode, en doe de output opvangen met je functie.
  donderdag 17 mei 2007 @ 19:43:43 #57
104583 cyberstalker
Een krachtig neen!
pi_49487995
quote:
Op donderdag 17 mei 2007 19:08 schreef Tuvai.net het volgende:
Je select query als een variabele declareren en alleen de volgende query uitvoeren als het resultaat van de select query een waarde bevat? In MYSQL werk ik nooit met stored procedures (vreemd genoeg, terwijl ik vrijwel altijd met PHP i.c.m. PHP werk ) maar in MSSQL kun je @@OUT_ERROR manipuleren.

Roep anders deze stored procedure aan via een functie in je broncode, en doe de output opvangen met je functie.
De tweede query wordt alleen uitgevoerd als de eerste query een resultaat geeft. Dat doe ik met IF NOT userid IS NULL THEN ...

Dat werkt prima, maar als userid NULL is krijg je nog steeds een warning van die eerste query.
Hope for the best, prepare for the worst.
pi_49488904
Is het mogelijk om een class te maken met een functie / stuk code die *altijd* uitgevoerd wordt? Dus op het moment dat je de class aanroept zeg maar?

Het gaat namelijk om een functie waar alle onderdelen van de class van afhankelijk zijn. Als ik nu de class aanroep moet ik als eerste daarna die functie aanroepen, anders gaat alles fout. En dat is dus nogal loos, dat moet toch automagisch kunnen lijkt me?
  donderdag 17 mei 2007 @ 20:33:38 #59
104583 cyberstalker
Een krachtig neen!
pi_49489828
quote:
Op donderdag 17 mei 2007 20:10 schreef Xcalibur het volgende:
Is het mogelijk om een class te maken met een functie / stuk code die *altijd* uitgevoerd wordt? Dus op het moment dat je de class aanroept zeg maar?

Het gaat namelijk om een functie waar alle onderdelen van de class van afhankelijk zijn. Als ik nu de class aanroep moet ik als eerste daarna die functie aanroepen, anders gaat alles fout. En dat is dus nogal loos, dat moet toch automagisch kunnen lijkt me?
Jazeker, en het is nog makkelijk ook .

Je maakt in je class gewoon een functie aan. Het enige wat je hoeft te doen is de functie dezelfde naam als de class te geven en klaar ben je. Je kunt dan eventuele parameters naar de functie gewoon doorgeven in je class constructor .
Hope for the best, prepare for the worst.
pi_49490160
@cyberstalker

Heb je dat al geprobeerd met een cursor? Je zou het niet bestaan van een user kunnen opvangen met een handler.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')