1 2 3 4 5 6 7 | 0 - 55 - 15 - 1 0 - 55 - 25 - 2 0 - 55 - 35 - 3 0 - 55 - 45 - 4 0 - 55 - 55 - 5 1 - 55 - 35 - 7 |
1 2 3 4 5 6 | 0 - 55 - 25 - 2 0 - 55 - 45 - 4 0 - 55 - 55 - 5 1 - 55 - 35 - 7 |
1 2 3 4 5 6 7 8 | FROM testtabel WHERE confectie_id = '" . substr($_POST['test'], 1, strlen($_POST['maat']) -1) . "' AND (user_id = '" . $_POST['user'] . "' OR user_id = '0') AND nummer IN ('" . implode("','", array_keys($noemers)) . "') GROUP BY user_id, nummer ORDER BY user_id |
Die voor de tijd werkt voortreffelijk! Wat gebeurd er trouwens als er 2 keer een tijdvermelding in staat? Net getest, dan geeft hij de eerst gevonden tijd door. Maar dit kan geen fouten veroorzaken?quote:Op dinsdag 28 juli 2009 07:21 schreef Roönaän het volgende:
Bizar die newline code.
[ code verwijderd ]
Kan toch gewoon als
[ code verwijderd ]
Raar ook dat een striphtml geen tags weghaald of iets anders html gerelateerds doet.
Voor de tijd:
[ code verwijderd ]
Daar moet hij de eerste twee regels en de laatste regel verwijderen.quote:charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Inhoud mailtje
----NextPart_048F8BC8A2197DE2036A
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 | if (stripos($headers, "boundary=") !== false) { $splitplain = explode("Content-Type: text/plain;", $message); $splithtml = explode("Content-Type: text/html;", $splitplain[1]); $trimmed = trim($splithtml[0]); function striphtml($trimmed) { $arrhtml = explode("\n", $trimmed); $resulthtml = array(); for ($ihtml = 2, $sizehtml = count($arrhtml); $ihtml < ($sizehtml - 1); $ihtml++) { $resulthtml[] = $arrhtml[$ihtml]; } return $resulthtml; } $clean = implode("\n", striphtml($trimmed)); } else { $clean = $message; } $body = trim(str_replace(array("=\n", "=20", "=3D"), array("", "", "="), $clean)); ?> |
(-1 toegevoegd)quote:function striphtml($trimmed) {
return array_slice(explode("\n", $trimmed), 2, -1);
}
$clean = implode("\n", striphtml($trimmed));
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if (stripos($headers, "boundary=") !== false) { $splitplain = explode("Content-Type: text/plain;", $message); $splithtml = explode("Content-Type: text/html;", $splitplain[1]); $trimmed = trim($splithtml[0]); $slicedmail = array_slice(explode("\n", $trimmed), 2, -1); $clean = implode("\n", $slicedmail); } else { $clean = $message; } $body = trim(str_replace(array("=\n", "=20", "=3D"), array("", "", "="), $clean)); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | if (stripos($headers, "boundary=") !== false) { $splitplain = explode("Content-Type: text/plain;", $message); $splithtml = explode("Content-Type: text/html;", $splitplain[1]); $slicedmail = array_slice(explode("\n", trim($splithtml[0])), 2, -1); $clean = implode("\n", $slicedmail); } else { $clean = $message; } $body = trim(str_replace(array("=\n", "=20", "=3D"), array("", "", "="), $clean)); ?> |
Je moet het zien als dat er allemaal vaste gegevens zijn per top_id/nummer, als een gebruiker een van deze gegevens aanpast wil ik alle 'vaste' gegevens die niet veranderd zijn maar ook de gegevens die wel veranderd zijn. En na dit alles wil ik de veranderde gegevens met het zelfde nummer (top_id/nummer) overschrijven over de top_id/nummer van gebruiker 0, zodat deze wegvalt.quote:Op woensdag 29 juli 2009 18:42 schreef Roönaän het volgende:
Wat is "gebruiker 0", zijn dat je default setting oid?
1 2 3 4 5 6 | 1 - 10 - 1 - 101 0 - 10 - 2 - 100 0 - 10 - 3 - 100 0 - 10 - 4 - 100 1 - 10 - 4 - 99 |
1 2 3 4 | 0 - 10 - 2 - 100 0 - 10 - 3 - 100 1 - 10 - 4 - 99 |
1 2 3 | preg_match('/([01]?[0-9]|2[0-4]):[0-5][0-9]/', $string, $m) ?> |
Dat is helemaal nieuw voor mij, wel even slikken.quote:Op vrijdag 31 juli 2009 01:06 schreef GlowMouse het volgende:
Ja hoor, dat is mogelijk. Zie http://nl3.php.net/manual/en/reference.pcre.pattern.syntax.php
1 2 3 | preg_match('/\s([01]?[0-9]|2[0-4]):[0-5][0-9]\s/', $body, $m); ?> |
Moet je even $m[1] gebruiken ipv $m[0].quote:Op vrijdag 31 juli 2009 01:24 schreef F4T4L_3RR0R het volgende:
[..]
Dat is helemaal nieuw voor mij, wel even slikken.
De verplichte spatie heb ik nu zo gedaan:
[ code verwijderd ]
Edit: maar dan neemt hij de spaties wel mee in $m.![]()
Nu nog even uitzoeken hoe ik de : toe kan voegen als verplichting (als er geen spatie staat) aan het einde van de tijd.
500*50.000 zou inderdaad kunnen, maar is het niet slimmer om per medewerkers (500+/-) per afdelingen (60 +/-) per melding (stuk of 10 +/-) (=maximaal 300.000 entries per dag) een teller bij te houden?quote:Op vrijdag 31 juli 2009 22:10 schreef GlowMouse het volgende:
500*50.000/dag is niks, kun je mooi een tabel mee vullen. Beetje letten op je datatypes (medewerkerID unsigned smallint/2 bytes, afdelingID unsigned tinyint/1 byte, meldingID unsigned mediumint 2 bytes, dag date 3 bytes), zit je op 200 MB aan data per dag. Plus indices die erbij komen. Kan je prima een maand bijhouden.
Dat + datum erbij dus, lijkt me het minst zwaarst voor de databasequote:Op vrijdag 31 juli 2009 22:10 schreef GlowMouse het volgende:
Of als je de tijdstippen niet interesseer, tabel aanmaken met medewerker|afdeling|melding|views, UNIQUE op de eerste drie kolommen en dan views ophogen via INSERT ... IF EXISTS UPDATE ofzo.
300.000 per dag, maar nog acceptabel inderdaad. Opzich wel jammer dat het tijdstip dan niet opgeslagen wordt.. maar ik vrees dat dat een beetje teveel vreet.quote:Op vrijdag 31 juli 2009 22:25 schreef GlowMouse het volgende:
Oh, die 500 is per afdeling. Dan medewerker|afdeling|melding|datum|views inderdaad. Views zal wel niet meer passen in 2 bytes, 50.000 zit al dicht bij de limiet. Kom je op 11 bytes/rij.
30.000 rijen per dag, 330 kB/dag, goed te doen om jaren bij te houden. Maar 50.000 updates voor elke 30.000 gebruikers is wel een ouch, dat zou me een grotere zorg zijn
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
1 |
1 2 3 4 5 | FROM log WHERE medewerker_id = '1' GROUP BY `datum`,`melding_id` ORDER BY melding_id,datum |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |