abonnement Unibet Coolblue Bitvavo
pi_70056439
Wat ik meestal wel een nette oplossing voor dat soort dingen vind is een extra tabelletje, iets als events ofzo.. en met een trigger noteer ik daar dan timestamps in die ik moet bewaren. Zo heb je een complete geschiedenis, niet alleen de vorige gebeurtenis.. Misschien wat overkill voor je situatie
pi_70058083
Ik geef records in principe standaard een timestamp veld met een automatische ON UPDATE erop.
Dan weet je in ieder geval de laatste wijziging. Afhankelijk van de applicatie maak ik soms ook een log tabel, waarin staat welk record in welke tabel door wie geupdate is

Edit: en met welke waarde dus, zodat je ook voorgaande wijzigingen kunt terugvinden
pi_70058097
quote:
Op dinsdag 16 juni 2009 12:39 schreef Intrepidity het volgende:
Wat ik meestal wel een nette oplossing voor dat soort dingen vind is een extra tabelletje, iets als events ofzo.. en met een trigger noteer ik daar dan timestamps in die ik moet bewaren. Zo heb je een complete geschiedenis, niet alleen de vorige gebeurtenis.. Misschien wat overkill voor je situatie
Juist niet het is een school opdracht dacht ik vraag een brainstorm aan .
Krijg meerdere ideeen.

Beste blijft een extra tabel met geschiedenis.

we moeten op eigen initatief een incident probleem en cofiguratie beheer maken
Dit zodat een project goed verloopt. een tooltje ervoor schrijven.

Dit gaan we doen in PHP met veel functies.

[ Bericht 17% gewijzigd door cablegunmaster op 16-06-2009 19:22:58 ]
Redacted
pi_70083916
bestaat er ook een count functie in php die telt hoevaak ik dezelfde variabele aanmaak?
bvb $sql ik wou eens gaan kijken per pagina hoeveel querys ik aanmaak. .

als instantie $sql word aangeroepen +1 voor $count_query of moet ik dan handmatig $count_query++;
en bovenaan de pagina $count_query = 0;

er moet een makkelijkere manier zijn ?

bvb? geen idee of dit werkt :p

1
2
3
4
5
6
7
8
function count_query($sql)
{
if(isset($sql)
{
return $sqlcount++;
}
return 0;
}


[ Bericht 29% gewijzigd door cablegunmaster op 17-06-2009 07:40:15 ]
Redacted
pi_70083946
Waarom log je niet gewoon welke query je uitvoert op het moment dat je hem uitvoert? Zo doe ik het iig, tijdens developen log ik alle sql query`s.
pi_70083958
quote:
Op woensdag 17 juni 2009 07:38 schreef Scorpie het volgende:
Waarom log je niet gewoon welke query je uitvoert op het moment dat je hem uitvoert? Zo doe ik het iig, tijdens developen log ik alle sql query`s.
Hoe bedoel je met loggen?

oplossing 1 bij elke query variabele bijstoppen
1
2
$query = "select * blablabal ";
$count_query++:
Redacted
pi_70083965
quote:
Op woensdag 17 juni 2009 07:40 schreef cablegunmaster het volgende:

[..]

Hoe bedoel je met loggen?
Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.

Bij mij zie ik bijvoorbeeld heel veel van dit soort statements staan in de logfile:
quote:
02-05-2009 21:25:55: DEBUG: coredatabase class - Executed query SELECT * from SB_sandwiches | Duration 0.00066400 seconds


[ Bericht 18% gewijzigd door #ANONIEM op 17-06-2009 07:43:12 ]
pi_70083970
quote:
Op woensdag 17 juni 2009 07:42 schreef Scorpie het volgende:

[..]

Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.
Hoe maak je zoiets ?
Redacted
pi_70083985
quote:
Op woensdag 17 juni 2009 07:43 schreef cablegunmaster het volgende:

[..]

Hoe maak je zoiets :)?
Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.

Mijn functie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
private function log($message$level)
  {
    if (
CMS_DB_QUERY_DEBUG)
    {
      if (
$log = @fopen(LOG_FILE"a+"))
      {
        
$date date(INTERNAL_DATE_CONSTANT);
        
$string $date.": ".$level.": ".$message;
        
fwrite($log$string."\r\n");
        
fclose($log);
      }
      else
      {
        echo 
"Logging failed!";
      }
    }
  }
?>
pi_70084004
quote:
Op woensdag 17 juni 2009 07:45 schreef Scorpie het volgende:

[..]

Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.

Mijn functie:
[ code verwijderd ]
ik heb hem gekopieerd :p alleen waar moet ik hem erinstoppen? .
Log(klootzak alweer een error, $level? admin bvb? :p)

of doet hij dat automatisch als ik een error heb in de database/php pagina ?
Redacted
pi_70084019
Waar heb je hem precies ingestopt?
pi_70084033
quote:
Op woensdag 17 juni 2009 07:50 schreef Scorpie het volgende:
Waar heb je hem precies ingestopt?
in mijn include/functions.php die mee gaat in de include.
Redacted
pi_70084051
Je moet hem wel ff goed nalopen, er staan een aantal constantes van mij in die moet je aanpassen.
Daarna moet je ff het woord private ervanaf halen, anders kom je er niet bij.

Daarna is het een kwestie van aanroepen door log("dit ging fout!","error"); te doen.
pi_70084075
quote:
Op woensdag 17 juni 2009 07:54 schreef Scorpie het volgende:
Je moet hem wel ff goed nalopen, er staan een aantal constantes van mij in die moet je aanpassen.
Daarna moet je ff het woord private ervanaf halen, anders kom je er niet bij.

Daarna is het een kwestie van aanroepen door log("dit ging fout!","error"); te doen.
tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestand

Alvast bedankt ik denk dat ik dit wel kan aanpassen

[ Bericht 8% gewijzigd door cablegunmaster op 17-06-2009 08:09:04 ]
Redacted
pi_70084469
je kan ook gewoon van $sql een array maken, en daar al je queries inzetten
Dan kan je met een count($sql) zien hoeveel queries je hebt gedraaid
pi_70084967
quote:
Op woensdag 17 juni 2009 08:41 schreef Xcalibur het volgende:
je kan ook gewoon van $sql een array maken, en daar al je queries inzetten
Dan kan je met een count($sql) zien hoeveel queries je hebt gedraaid
ah dat is een optie die ik zeker ga overwegen .

maar dan maak ik voor elke query. als praktisch voorbeeld:
1
2
3
$sql[] = "blablablabla select * from";

count($sql); 
?
Redacted
pi_70085117
quote:
Op woensdag 17 juni 2009 07:57 schreef cablegunmaster het volgende:

[..]

tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestand

Alvast bedankt ik denk dat ik dit wel kan aanpassen

Nou ja ik gebruik deze logger vooral om acties te loggen, dus zeg maar wanneer iemand inlogged, dan schrijf ik een regel weg met "Gebruiker A is ingelogged", dat soort dingen.

Je kan het ook wel gebruiken om errors van PHP te loggen, maar die worden standaard al gelogged.
pi_70085813
quote:
Op woensdag 17 juni 2009 09:12 schreef Scorpie het volgende:

[..]

Nou ja ik gebruik deze logger vooral om acties te loggen, dus zeg maar wanneer iemand inlogged, dan schrijf ik een regel weg met "Gebruiker A is ingelogged", dat soort dingen.

Je kan het ook wel gebruiken om errors van PHP te loggen, maar die worden standaard al gelogged.
ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.

wat ik doe :
ik open php5.ini C:\xampp\php\php5.ini
1: reg 353 error_log = "C:\xampp\htdocs\cablegunmaster v3.0\log_file.txt"
alleen hij wil hem niet zo hebben :p want hij logt nog steeds in de standaard locatie

het ging me voornamelijk om de php errors te loggen . desnoods tonen

[ Bericht 6% gewijzigd door cablegunmaster op 17-06-2009 09:42:56 ]
Redacted
pi_70085951
quote:
Op woensdag 17 juni 2009 09:36 schreef cablegunmaster het volgende:

[..]

ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.

wat ik doe :
ik open php5.ini C:\xampp\php\php5.ini
1: reg 353 error_log = "C:\xampp\htdocs\cablegunmaster v3.0\log_file.txt"
alleen hij wil hem niet zo hebben :p want hij logt nog steeds in de standaard locatie
Das ook wat anders dan deze loggerclass die ik gemaakt heb

zet eens voor de functie LOG_FILE = "c:\log.txt";

[ Bericht 3% gewijzigd door #ANONIEM op 17-06-2009 09:42:38 ]
pi_70085995
quote:
Op woensdag 17 juni 2009 09:42 schreef Scorpie het volgende:

[..]

Das ook wat anders dan deze loggerclass die ik gemaakt heb

zet eens voor de functie LOG_FILE = "c:\log.txt";
Kwam ik ook achter dit is voor nette foutmelding naar de user toe na een paar paginas door te lezen

heb het al gefixt stomme ; ervoor . lees er soms ook over heen kleine fouten waar ik op zit .
dit maar eens doorgeven aan m'n webhost dit bestandje ^^ , kan het zelf namelijk niet aanpassen .

stomme webhost

[ Bericht 26% gewijzigd door cablegunmaster op 17-06-2009 09:49:38 ]
Redacted
pi_70086350
Over het loggen van SQL queries gesproken.. Is er ook een manier om af te vangen wat er EXACT naar de database gestuurd word? Ik maak gebruik van PDO, en als ik mijn queries log staan de variabelen hier nog in.. iets als "SELECT * FROM tabel WHERE veld = :waarde". Bij debuggen heb ik daar soms niet zo gek veel aan..
pi_70087631
quote:
Op woensdag 17 juni 2009 09:06 schreef cablegunmaster het volgende:

[..]

ah dat is een optie die ik zeker ga overwegen .

maar dan maak ik voor elke query. als praktisch voorbeeld:
[ code verwijderd ]

?
In principe wel ja. Het is alleen wel handig om je query een naam te geven
$sql['query_1'] = ''; dus
pi_70092859
quote:
Op woensdag 17 juni 2009 09:55 schreef Intrepidity het volgende:
Over het loggen van SQL queries gesproken.. Is er ook een manier om af te vangen wat er EXACT naar de database gestuurd word? Ik maak gebruik van PDO, en als ik mijn queries log staan de variabelen hier nog in.. iets als "SELECT * FROM tabel WHERE veld = :waarde". Bij debuggen heb ik daar soms niet zo gek veel aan..
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
pi_70096629
quote:
Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:

[..]

Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
Ja, maar ik wil wel gebruik blijven maken van PDO in combinatie met prepared statements, dus da ga nie werken nie.
  woensdag 17 juni 2009 @ 14:57:17 #250
63192 ursel
"Het Is Hier Fantastisch!
pi_70097136
quote:
Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:

[..]

Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
Zoiets gelijks hebben wij hier ook inderdaad.
Daarnaast wordt per classe eigenlijk de log-classe aangeroepen, zodat we allerlei logs gescheiden van elkaar in ieders een aparte folder bewaren en wordt er 1 log file per dag gecreëerd.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')