Ja.quote:Op zaterdag 14 juni 2014 21:14 schreef bondage het volgende:
[..]
Is dit wat er uiteindelijk uit moet komen?
[ code verwijderd ]
Ok, heb ik een idee wat de code moet doen. Nu nog hopen dat ik hier iets voor kan fixen wat ook nog een beetje resource vriendelijk is met mijn stondende kopquote:
quote:Op zaterdag 14 juni 2014 00:08 schreef zarGon het volgende:
Tijdje geleden dit topic aangemaakt: DIG / Crewgeschiedenis, van handmatig naar dynamisch (PHP/MySQL). Destijds weinig mee gedaan, en sinds eergisteren weer opgepakt.
http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/. Aan de hand daarvan de tabel en de pie chart dynamisch (PHP+MySQL) kunnen maken. Zie http://fok.zevkiselim.nl/crew2.0/.
Nu ben ik echter bezig met de timeline. En daar loop ik vast.
Kan iemand mij helpen om met het correct weergeven van de timeline?
Huidige source:
- index.php - http://fok.zevkiselim.nl/crew2.0/src/index.phps
- gettabledata.php - http://fok.zevkiselim.nl/crew2.0/src/gettabledata.phps
- getpiechartdata.php - http://fok.zevkiselim.nl/crew2.0/src/getpiechartdata.phps
- gettimelinedata.php - http://fok.zevkiselim.nl/crew2.0/src/gettimelinedata.phps
Met wat ik nu heb krijg ik dit te zien:Valt je project ergens te forken?SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Ben al twee dagen bezig om de timeline werkend te krijgen, maar het lukt me niet..
Ik heb geprobeerd om de onderstaande voorbeelden te gebruiken, maar ook dan kom ik niet verder:
- http://stackoverflow.com/(...)connect-to-php-mysql
- https://groups.google.com(...)msCl_Bw/cIoRT8gY40AJ
Dus... Iemand?No citizen has a right to be an amateur in the matter of physical training...what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable.
$test is je input-array.quote:
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 | <?php $dt_array = array(); $new_product_key = 0; foreach($test as $k => $product_data) { $existing_product_key = -1; if(isset($dt_array['products'])) { foreach($dt_array['products'] as $k => $existing_products) { if($product_data->id == $existing_products['product_id']) { $existing_product_key = $k; break; } } } if($existing_product_key >= 0) { $dt_array['products'][$existing_product_key]['product_data'][] = array('amount' => $product_data->amount, 'user_id' => $product_data->user_id); }else{ $dt_array['products'][$new_product_key]['product_data'][] = array('amount' => $product_data->amount, 'user_id' => $product_data->user_id); $dt_array['products'][$new_product_key]['product_id'] = $product_data->id; $new_product_key++; } } print_r($dt_array); ?> |
Post de code eens van de volledige crew2.0? Ik vermoed dat er daar wat foutjes ingeslopen zijn.quote:Op zaterdag 14 juni 2014 00:08 schreef zarGon het volgende:
Tijdje geleden dit topic aangemaakt: DIG / Crewgeschiedenis, van handmatig naar dynamisch (PHP/MySQL). Destijds weinig mee gedaan, en sinds eergisteren weer opgepakt.
http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/. Aan de hand daarvan de tabel en de pie chart dynamisch (PHP+MySQL) kunnen maken. Zie http://fok.zevkiselim.nl/crew2.0/.
quote:
https://github.com/zarGonnn/FOK-crewgeschiedenis.quote:Op zaterdag 14 juni 2014 21:49 schreef Robuustheid het volgende:
[..]
Post de code eens van de volledige crew2.0? Ik vermoed dat er daar wat foutjes ingeslopen zijn.
Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.quote:Op zondag 15 juni 2014 04:06 schreef zarGon het volgende:
[..]
[..]
https://github.com/zarGonnn/FOK-crewgeschiedenis.
Waar ik naartoe wil gaan: http://fok.zevkiselim.nl/crew/.
Dank je!quote:Op zondag 15 juni 2014 16:18 schreef esv7 het volgende:
[..]
Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.
Je kan hem syncen op github.
Einddatum van een activiteit betekent dat er nog geen einddatum is en dat de activiteit nog bezig is.quote:Hij doet het niet wanneer een activiteit geen einddatum heeft in de database.
1 | IFNULL(Einddatum,CURDATE()) |
Ik zie nu overigens dat je met 0.0.2 bezig bent geweest en de wijzigingen zo hebt opgeslagen. Ik wilde bij elke nieuwe mijlpaal de versie verhogen. Ik plaats jouw wijzigen in 0.0.3, zou je daarmee verder willen gaan?quote:Op zondag 15 juni 2014 16:18 schreef esv7 het volgende:
[..]
Zojuist even een beginnetje gemaakt aan de timeline, vandaag geen tijd meer voor misschien kijk ik er van de week nog even naar als ik tijd heb.
Je kan hem syncen op github.
Hij doet het niet wanneer een activiteit geen einddatum heeft in de database.
quote:Op zondag 15 juni 2014 16:53 schreef zarGon het volgende:
[..]
Dank je!.
Hoe kan ik het beste syncen? Dit wordt dan zeg maar versie 0.0.3... Hoe kan ik dat het makkelijkst doen zonder alles handmatig te kopiëren en jouw commitsummary en -description te behouden?
Overigens, die console.log-code is denk ik toegevoegd door http://jsbeautifier.org/. Was me niet opgevallen.
[..]
Einddatum van een activiteit betekent dat er nog geen einddatum is en dat de activiteit nog bezig is.
Een IFNULL zou dat probleem moeten oplossen.
[ code verwijderd ]
Je kan het makkelijkst syncen als je github hebt geïnstalleerd? Verder zou je dan voor iedere update een nieuwe map krijgen? Verder houd github dacht ik zelf al een versiebeheer bij zodat je altijd terug kan gaan naar een vorige release.quote:Op zondag 15 juni 2014 16:58 schreef zarGon het volgende:
[..]
Ik zie nu overigens dat je met 0.0.2 bezig bent geweest en de wijzigingen zo hebt opgeslagen. Ik wilde bij elke nieuwe mijlpaal de versie verhogen. Ik plaats jouw wijzigen in 0.0.3, zou je daarmee verder willen gaan?
Mja, ik weet niet hoe het beste met nieuwe wijzigingen gewerkt kan worden en ik wil toch wel de versies terug kunnen zien, dus ik dacht 'ik maak wel een nieuwe map aan bij een nieuwe versie'..
Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).quote:Op zondag 15 juni 2014 17:12 schreef esv7 het volgende:
[..]
[..]
Je kan het makkelijkst syncen als je github hebt geïnstalleerd? Verder zou je dan voor iedere update een nieuwe map krijgen? Verder houd github dacht ik zelf al een versiebeheer bij zodat je altijd terug kan gaan naar een vorige release.
http://git-scm.com/book/en/Git-Basics-Taggingquote:Op zondag 15 juni 2014 17:22 schreef zarGon het volgende:
[..]
Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).
Ik zal zometeen eens kijken hoe ik je wijzigingen test en meeneem. Zou jij het mapje 0.0.2 bij jou (met jouw updates) willen hernoemen naar 0.0.4 (jouw huidige is dan 0.0.3).
Bedankt in ieder geval dat je meekijkt. Stel ik echt op prijs!
Oké heb het in een nieuw mapje gedaan, en als er nu geen end time is loopt die door tot vandaag.quote:Op zondag 15 juni 2014 17:22 schreef zarGon het volgende:
[..]
Er is inderdaad per bestand een versiebeheer. Je kunt de history inzien per commit en zo. Alleen heb je dan voor zover ik weet niet de versies bij elkaar (zoals mijn mapindeling).
Ik zal zometeen eens kijken hoe ik je wijzigingen test en meeneem. Zou jij het mapje 0.0.2 bij jou (met jouw updates) willen hernoemen naar 0.0.4 (jouw huidige is dan 0.0.3).
Bedankt in ieder geval dat je meekijkt. Stel ik echt op prijs!
Bedankt, het werkt!quote:Op zaterdag 14 juni 2014 21:45 schreef bondage het volgende:
[..]
$test is je input-array.
Kan vast beter dan dit, maar het werkt wel![]()
[ code verwijderd ]
doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.quote:Op zondag 15 juni 2014 04:06 schreef zarGon het volgende:
[..]
[..]
https://github.com/zarGonnn/FOK-crewgeschiedenis.
Waar ik naartoe wil gaan: http://fok.zevkiselim.nl/crew/.
quote:Op zondag 15 juni 2014 19:27 schreef slacker_nl het volgende:
[..]
doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.
- Edit. -quote:Op zondag 15 juni 2014 19:27 schreef slacker_nl het volgende:
[..]
doe je versies taggen man, je hebt echt geen directories nodig voor je versies. dat defeats je version control.
Bedankt!quote:Op zondag 15 juni 2014 17:32 schreef TwenteFC het volgende:
[..]
http://git-scm.com/book/en/Git-Basics-Tagging
Weet je zeker dat de code van 0.2 werkt? Als ik de index.php lokaal open, krijg ik een syntax error. Ergens zou-ie niet goed afgesloten worden.quote:Op zondag 15 juni 2014 04:06 schreef zarGon het volgende:
[..]
[..]
https://github.com/zarGonnn/FOK-crewgeschiedenis.
Waar ik naartoe wil gaan: http://fok.zevkiselim.nl/crew/.
1 2 3 4 5 | <option value="foo">foobar</option> <option value="bar">bar</option> <option value="foobar">bar</option> <option value="barfoo">foo</option> <option value="empty">empty</option> |
1 2 3 4 5 | foo foobar bar bar foobar bar barfoo foo empty empty |
De code van Crewgeschiedenis is ook anders dan die in je link?quote:Op zondag 15 juni 2014 04:06 schreef zarGon het volgende:
[..]
[..]
https://github.com/zarGonnn/FOK-crewgeschiedenis.
Waar ik naartoe wil gaan: http://fok.zevkiselim.nl/crew/.
Jep, ik weet zeker dat de huidige versie (0.0.2) op GitHub werkt. Welke syntax error krijg je precies?quote:Op zondag 15 juni 2014 23:56 schreef Robuustheid het volgende:
[..]
Weet je zeker dat de code van 0.2 werkt? Als ik de index.php lokaal open, krijg ik een syntax error. Ergens zou-ie niet goed afgesloten worden.
/crew = handmatig gecodeerd (losse bestanden per user/forum).quote:Op maandag 16 juni 2014 09:15 schreef Robuustheid het volgende:
[..]
De code van Crewgeschiedenis is ook anders dan die in je link?
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. Jamie Zawinskiquote:Op maandag 16 juni 2014 07:33 schreef Devolution het volgende:
Je zou ook met regular expressions kunnen werken, of als je het heel makkelijk wilt houden zou je '<option value="', '">' en '</option>' uit $html kunnen halen door die drie strings te replacen door een lege string.
Met regex in notepad++ bv:quote:Op maandag 16 juni 2014 01:29 schreef xaban06 het volgende:
Ik heb het volgende. Content van $html is:
[ code verwijderd ]
Dus een hele lijst met options met random data.
Dit wil 'schoonmaken', wat moet resulteren in:
[ code verwijderd ]
Hoe kan ik dit het beste doen? Ik dacht zelf om te exploden op <option value=". Vervolgens dat weer exploden op ">. En dan weer exploden op </option>. Maar dat lijkt mij allemaal heel erg omslachtig?
Moet makkelijker/logischer kunnen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php public function generateList() { $items= json_decode( $this->input->post('items') ); $date = $this->input->post('date'); $order_data = $this->db_model->getItems($items, $date); [..] echo json_encode(array("data" => $table_data)); return; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php public function getItems($items, $date) { $this->db->from('table_one o'); $this->db->join('table_two t', 'o.id = t.id'); $this->db->where_in('t.value', $items); $this->db->where('o.date', $date); $query = $this->db->get(); if($query->num_rows() > 0) { return $query->result(); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 | oTable = $('#example').dataTable({ "dom": 'lfrtip', "bServerSide": true, "ajax": { "url": "***", "data": function ( d ) { d.items = JSON.stringify(selectedItems()); //geeft altijd een array terug } } }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php public function generateList() { $items= json_decode( $this->input->post('items') ); $date = $this->input->post('date'); if(!($clocks && $date)) { echo json_encode(array("data" => "")); return; } $order_data = $this->db_model->getItems($items, $date); [..] echo json_encode(array("data" => $table_data)); return; } ?> |
Ik ben het met je eens. Die functie in m'n model wordt echter alleen in deze controller functie aangeroepen. Is het dan de moeite waard om m'n model te "vervuilen" of een laag boven m'n model te maken?quote:Op maandag 16 juni 2014 20:23 schreef TwenteFC het volgende:
Ik zou het in de model doen, anders kan je in elke aanroep die je doet eerst alles gaan lopen checken.
En als je jouw model schoon wil houden dan zou je extra laag boven je model kunnen zetten.
Nu nog wel, maar ik zou het gewoon in je model doen.quote:Op maandag 16 juni 2014 21:29 schreef pascal08 het volgende:
[..]
Ik ben het met je eens. Die functie in m'n model wordt echter alleen in deze controller functie aangeroepen. Is het dan de moeite waard om m'n model functie te "vervuilen" of een laag boven m'n model te maken?
Okéquote:Op maandag 16 juni 2014 21:31 schreef TwenteFC het volgende:
[..]
Nu nog wel, maar ik zou het gewoon in je model doen.
En als je in de models ziet dat je vaak dezelfde logica aan het maken bent dan zou ik het er toch uit halen, en ergens anders plaatsen.
Het lijkt er op dat je CodeIgniter gebruikt?
Geef ze een ROW_NUMBER mee en pak de hoogste daarvan?quote:Op woensdag 18 juni 2014 10:12 schreef wobbel het volgende:
Hoe doe ik een MySQL JOIN waarbij ik het laatste record uit de 2e tabel pak?
Doel is als volgt: ik heb 1 tabel met storingen, en een 2e tabel met storing_updates daarin. In het overzicht van de storingen wil ik de datum van de laatste regel uit storing_updates laten zien MITS daar een update aanwezig is. Hoe fix ik dat? Ik ben er al lang uit, en het lukt me werkelijk voor geen meter
Gebruik top 1 i.c.m. een order by desc. In de select je primary key en eventueel de datum.quote:Op woensdag 18 juni 2014 10:25 schreef wobbel het volgende:
Dat kan toch ook op basis van de datum (unix timestamp) met hoogste waarde? Deze zit in tabel storingen_updates, maar ik weet niet hoe ik de JOIN moet bouwen om die datum er ook uit te krijgen van de laatste update (mits aanwezig)
1 2 3 4 5 6 7 8 | SELECT * FROM (SELECT TOP 1 [PRIMARY KEY], [DATUM] FROM Tabel ORDER BY [DATUM] DESC) Latest LEFT JOIN Tabel T ON T.[PRIMARY KEY] = Latest.[PRIMARY KEY] |
ik heb nu 4 versies. Heb een Google I/O gekeken over rendersnelheid en fps en ben sindsdien afgestapt van het serveren van gigantische afbeeldingen. Wat ik nu doe is een grote file uploaden met flinke compressie, deze worden 1 keer door php geschaald en in mappen gezet. Standaard laadt ik compact (dus hardcoded met php).quote:Op woensdag 18 juni 2014 14:25 schreef KomtTijd... het volgende:
Dus je wilt eigenlijk gewoon /gallery/compact/01.jpg redirecten naar /gallery/01.jpg?q=compact ?
Lees je even in in mod_rewrite en RewriteRules dan.
Overigens moet je oppassen met 'responsive' afbeeldingen. Als je niet oppast doe je meer kwaad dan goed. Volgens mij is de laatste trend om gewoon één afbeelding met relatief hoge resolutie en hoge compressie te serveren, ongeacht de device.
SPOILER: voorbeeldOm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Kan de Google I/O helaas niet meer vinden, komt er op neer dat 'retina' afbeeldingen (ook met compressie veel meer paint time vergen en dat is niet nodig met een ouderwets scherm. Ook kost schalen in de browser extra tijd dus dat wil ik helemaal voorkomen, beide gebeurd met mijn huidige oplossing.Heb een paar jaar terug een test gedaan met jouw oplossing, werkt opzicht prima maar het komt met wat haken en ogen: http://n8n.nl/lab/compression/
[ Bericht 8% gewijzigd door n8n op 19-06-2014 09:32:42 ]“Specialization is for insects”.—Robert Heinlein
1 2 3 4 5 6 7 8 9 | <?php <?php echo "lala"; ?> ?> |
1 2 3 4 5 6 7 8 9 | <?php include 'test.php'; $test = new voorbeeld; $test->lala(); ?> |
De include neemt toch ook die <?php> tags mee in de eerste bestand?quote:<?php
class voorbeeld {
public function lala()
{
echo "lala";
}
}
?>
quote:Op zondag 22 juni 2014 11:43 schreef Robuustheid het volgende:
Ik begrijp 1 ding niet.
[ code verwijderd ]
Dit werkt niet. Maar dit werkt wel weer:
[ code verwijderd ]
Terwijl er gewoon ook php-tags in test.php staan:
[..]
De include neemt toch ook die <?php> tags mee in de eerste bestand?
http://stackoverflow.com/a/4254735quote:If you include a file, PHP internally switches from parsing to literal mode (i.e. what it normally does on a closing tag. That's why this works:
Literal mode is buiten de <?php tags. Dit word gewoon letterlijk weergegeven. Parsing mdoe is tussen de <?php tags, deze code word geexecute:quote:Op zondag 22 juni 2014 12:03 schreef Robuustheid het volgende:
Bedankt voor je post. Wat is het verschil tussen parsing en literal mode?
1 2 3 4 | <p>Dit is literal mode</p> <?php // Dit is parsing mode ?> |
quote:Op zondag 22 juni 2014 18:46 schreef einschtein het volgende:
Ik weet niet of het mogelijk is met Excel, maar wie weet.
Mijn doel is om van A2 t/m A45 (of t/m er iets in A staat) en van C2 t/m C45 (of t/m er iets in C staat) een code creeren.
Een code die als volgt moet zijn:
[ code verwijderd ]
Waar A2/C2/A3/C3 de tekst uit de tabel zou moeten zijn. Is dit mogelijk?
De include van PHP is niet zoals de #include van bijvoorbeeld C++. Bij C++ wordt een geïncludeerd bestand letterlijk op die plek in het bestand gezet. PHP probeert het bestand ook nog te interpreteren. Dit staat bijvoorbeeld in de documentatie op http://php.net/include :quote:
Dus een include begint in literal/HTML mode en zodra een PHP start tag wordt gezien, schakelt hij over op parser/PHP mode.quote:When a file is included, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.
Present.quote:Op vrijdag 27 juni 2014 22:28 schreef Sitethief het volgende:
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaienquote:
De mijne was vroegtijdig gebroken omdat ik hem probeerde te grijpen toen ie van mn been afgleed.quote:Op zaterdag 28 juni 2014 19:33 schreef Sitethief het volgende:
[..]
Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaien.
Welke talks vond jij echt de moeite waard?
Voor mij is het ook alleen maar mogelijk omdat mijn werk betaald. Anders was ik er ook niet geweest.quote:Op zaterdag 28 juni 2014 20:25 schreef robin007bond het volgende:
Damn, ik vind die conferenties zo duur, anders was ik ook wel gegaan denk ik.
Ik zou daar graag naar toe gaan, maar toch wat duur voor een scholierquote:Op vrijdag 27 juni 2014 22:28 schreef Sitethief het volgende:
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Same here.quote:Op zaterdag 28 juni 2014 22:16 schreef Maringo het volgende:
[..]
Voor mij is het ook alleen maar mogelijk omdat mijn werk betaald. Anders was ik er ook niet geweest.
Ik had dit lijstje nog.quote:Op zaterdag 28 juni 2014 19:33 schreef Sitethief het volgende:
[..]
Ha mooi! Dan zaten we dus allebei als een gek met glowsticks te zwaaien.
Welke talks vond jij echt de moeite waard?
zoiets?quote:Op maandag 30 juni 2014 19:29 schreef esv7 het volgende:
Is er een manier om iets als een constante array te krijgen? Ik zou graag een lijst met externe libraries in een configuration file hebben, waar doorheen gelooped kan worden.
1 2 3 4 5 6 7 8 9 | <?php class Config { public static $data = array('a'); } echo Config::$data[0]; ?> |
Waarom gebruik je dan niet gewoon Composer?quote:Op maandag 30 juni 2014 19:29 schreef esv7 het volgende:
Is er een manier om iets als een constante array te krijgen? Ik zou graag een lijst met externe libraries in een configuration file hebben, waar doorheen gelooped kan worden.
Mjah het punt is dat je bij veel conferenties ook gewoon alles online kunt terugzien, ik vind congressen vooral interessant om een beetje te netwerken. Volgend jaar gaan we waarschijnlijk met ons team naar Denemarken.quote:Op zaterdag 28 juni 2014 20:25 schreef robin007bond het volgende:
Damn, ik vind die conferenties zo duur, anders was ik ook wel gegaan denk ik.
Waar?quote:Op vrijdag 4 juli 2014 14:00 schreef raptorix het volgende:
[..]
Mjah het punt is dat je bij veel conferenties ook gewoon alles online kunt terugzien.
Nou ik weet niet of het specifiek voor dit congress is, maar voor het product wat ik veel gebruik is het vrij normaal: http://stream.umbraco.org/quote:
quote:Op vrijdag 27 juni 2014 22:28 schreef Sitethief het volgende:
Nog iemand anders die naar DPC 2014 gaat/gegaan is?
Zonder op de rest van het probleem in te gaan, als je een datum in een tabel opslaat kun je beter het type DATE gebruiken en daar een datum in 'Y-m-d' formaat inzetten. Dan heb je ook de mogelijkheid om te zoeken en te sorteren, om maar eens wat dingen te noemen. VARCHAR (wat je waarschijnlijk gebruikt als je 'd/m/Y' gebruikt) is voor datums niet te sorteren en niet handig te doorzoeken.quote:
Ik zou zelf denk ik beide databases in een aparte array opslaan en deze dan vergelijken met array_diff(). Vervolgens zou je dan de ID's hebben van de waardes die wel in A staan maar niet in B, en die zou je dan over kunnen zetten.quote:Op zondag 6 juli 2014 23:11 schreef Robuustheid het volgende:
Even een pittige vraag.
Ik heb hier 2 MySQL databases.
Database A bevat 3 tabellen, wordt door een externe partij iedere dag automatisch aangevuld.
Database B bevat 1 grote tabel, dit hebben we zelf in beheer, en wordt gebruikt voor onze applicatie.
Het is de bedoeling dat de data van Database A naar Database B overgezet wordt. Dus ik heb een cronjob in PHP geschreven, dat iedere nacht uitgevoerd wordt. Daarin worden de tabellen van database A overgezet naar 1 grote tabel in database B. Dat overzetten werkt goed.
Het is namelijk de bedoeling dat in de cronjob, we een eigen datum meegeven aan de overzetting van A naar database/tabel B. Dat is de datum van vandaag (php: date('d/m/Y')
Dus hoe zorg ik ervoor dat MySQL/PHP eerst kijkt of er al data in database B aanwezig is, en dus niet kopieert, en de rijen data van database A die nog in database B ontbreekt, wel kopieert? Hoe zou ik dat kunnen laten checken?
Googlen bood mij geen goede richting.
Google eens op A-record. Attributr die veel bij backups wordt gebruikt.quote:Op zondag 6 juli 2014 23:11 schreef Robuustheid het volgende:
Even een pittige vraag.
Ik heb hier 2 MySQL databases.
Database A bevat 3 tabellen, wordt door een externe partij iedere dag automatisch aangevuld.
Database B bevat 1 grote tabel, dit hebben we zelf in beheer, en wordt gebruikt voor onze applicatie.
Het is de bedoeling dat de data van Database A naar Database B overgezet wordt. Dus ik heb een cronjob in PHP geschreven, dat iedere nacht uitgevoerd wordt. Daarin worden de tabellen van database A overgezet naar 1 grote tabel in database B. Dat overzetten werkt goed.
Het is namelijk de bedoeling dat in de cronjob, we een eigen datum meegeven aan de overzetting van A naar database/tabel B. Dat is de datum van vandaag (php: date('d/m/Y')
Dus hoe zorg ik ervoor dat MySQL/PHP eerst kijkt of er al data in database B aanwezig is, en dus niet kopieert, en de rijen data van database A die nog in database B ontbreekt, wel kopieert? Hoe zou ik dat kunnen laten checken?
Googlen bood mij geen goede richting.
Goede tip! Zal ik in vervolg aanhouden.quote:Op zondag 6 juli 2014 23:38 schreef Light het volgende:
[..]
Zonder op de rest van het probleem in te gaan, als je een datum in een tabel opslaat kun je beter het type DATE gebruiken en daar een datum in 'Y-m-d' formaat inzetten. Dan heb je ook de mogelijkheid om te zoeken en te sorteren, om maar eens wat dingen te noemen. VARCHAR (wat je waarschijnlijk gebruikt als je 'd/m/Y' gebruikt) is voor datums niet te sorteren en niet handig te doorzoeken.
Dat is een goede tip. Probleempje is dat de database A 3,5 miljoen aan records telt. Wordt die opgevulde array dan niet heel groot en log voor in gehuegen?quote:Op maandag 7 juli 2014 07:35 schreef Devolution het volgende:
[..]
Ik zou zelf denk ik beide databases in een aparte array opslaan en deze dan vergelijken met array_diff(). Vervolgens zou je dan de ID's hebben van de waardes die wel in A staan maar niet in B, en die zou je dan over kunnen zetten.
Snap je niet goed?quote:Op maandag 7 juli 2014 08:05 schreef Pakspul het volgende:
[..]
Google eens op A-record. Attributr die veel bij backups wordt gebruikt.
quote:Op zondag 6 juli 2014 23:38 schreef Light het volgende:
[..]
Zonder op de rest van het probleem in te gaan, als je een datum in een tabel opslaat kun je beter het type DATE gebruiken en daar een datum in 'Y-m-d' formaat inzetten. Dan heb je ook de mogelijkheid om te zoeken en te sorteren, om maar eens wat dingen te noemen. VARCHAR (wat je waarschijnlijk gebruikt als je 'd/m/Y' gebruikt) is voor datums niet te sorteren en niet handig te doorzoeken.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |