Goedeavond,
Ik ben met het volgende al een paar uur aan het stoeien maar helaas kom ik er niet uit en ik hoop dat iemand mij op weg kan helpen.
In Excel heb ik een formule om een werkbonnummer te genereren namelijkWaarom de functie CONCATENATE er bij zit geen flauw idee maar zonder functioneert het niet.(excel formule niet zelf gemaakt)Code:=CONCATENATE(ROUND(NOW()/12500;6);" "")
Output met concatenate (op dit moment): 3,498623
Output zonder: 2-1-1900 11:58:00
Ik probeer dit dus na te maken in php (of javascript) maar ik krijg het maar niet voor elkaar.
Zover was ik maar het werkt niet.
Is er iemand die mij op weg kan helpen?PHP Code:
$nr = round(strtotime((new DateTime('now'))->format('n/d/Y G:i:s')) / 12500, 6);
//Output: 125547.57968
- CONCATENATE (EXCEL) naar php
-
24-09-2019, 18:10 #1
- Berichten
- 17
- Lid sinds
- 18 Jaar
CONCATENATE (EXCEL) naar php
-
-
24-09-2019, 22:09 #2
- Berichten
- 1.307
- Lid sinds
- 16 Jaar
Re: CONCATENATE (EXCEL) naar php
Ben wel geen php programmeur.
Staat Excel op je pc en php op je server? Dan hebben deze waarschijnlijk andere tijden.
De tijd in Excel (als je now gebruikt) wordt iedere keer geupdate als je iets wijzigt of opent.
De server tijd kan ook op een andere tijdzone staan.
Je kunt in Excel trouwens beter CONCAT gebruiken, deze vervangt CONCATENATE in nieuwe versies.
Waarom Concatenate> Hiermee kun je simpel gezegd tekst, getallen en bijvoorbeeld datums samenvoegen.
In php wordt dacht ik de . (punt) gebruikt voor concatenate (samenvoegen).Laatst aangepast door iceblock : 24-09-2019 om 22:21
-
26-09-2019, 18:55 #3
- Berichten
- 17
- Lid sinds
- 18 Jaar
Re: CONCATENATE (EXCEL) naar php
Bedankt voor je bericht!
Ik heb excel inderdaad op mijn pc staat en ook nog in google spreadsheet geprobeerd, beide zijn de resultaten gewoon goed.
Mocht de server tijd inderdaad iets afwijken dat zou dat niet moeten uitmaken voor de output van het php script, dan zou ik een iets ander bonnr krijgen.
Maar het zit er compleet naast het script klopt gewoon niet en krijg het niet werkend in php helaas.
Maar ook zonder de CONCATENATE functie in excel dan werkt het niet, je zei het zelf al het is gewoon een aan elkaar plak functie, heel vreemd ik snap niet precies hoe die functie werkt en ik kan er ook vrij weinig over vinden.
Ik zal het even vervangen door CONCAT bedankt!
Ik heb inmiddels een excel bestand gemaakt met de formule en die laad ik in via phpspreadsheet.
Het verdient niet de schoonheidsprijs maar het werkt xD
Nogmaals bedankt!
-
27-09-2019, 08:59 #4
- Berichten
- 390
- Lid sinds
- 15 Jaar
Re: CONCATENATE (EXCEL) naar php
Ik denk dat hier alleen een concat wordt gebruikt puur om van een floating point getal een string te maken. Net zoals je dat bijvoorbeeld in javascript zo kunt doen:
Code:var floating_point = 1.23; var the_string = floating_point + "";
Ik denk dat je met het weghalen van CONCATENATE iets teveel aan het eind laat staan. Want als ik zelf dit doe:
Code:=ROUND(NOW()/12500;6)
"In Microsoft Excel worden datums opgeslagen als seriële getallen, zodat deze in berekeningen kunnen worden gebruikt. 1 januari 1900 is standaard het seriële getal 1 en 1 januari 2008 is het seriële getal 39448, omdat deze datum 39.447 dagen na 1 januari 1900 valt."
Nu weten we dus waar de getallen vandaan komen. Wat we nu eerst doen is een eigen functie maken die de Excel NOW functie vervangt:
PHP Code:function excel_now()
{
$vandaag = time(); // Dit is vandaag
$vroegah = strtotime("1900-01-01"); // Dit is de begindatum van de Excel telling
$dagen = $vandaag - $vroegah; // En dit is dus het verschil
$excel_now = round($dagen / (60 * 60 * 24));
return $excel_now;
}
PHP Code:$nummer = round(excel_now() / 12500, 6);
echo $nummer;
PS, ik ben ook in te huren voor feestjes en partijen. :DLaatst aangepast door Tjerk de Heer : 27-09-2019 om 09:17
-
27-09-2019, 12:45 #5gast2588125031 Guest
Re: CONCATENATE (EXCEL) naar php
Voeg deze regel nog toe, en je hebt gelijk een komma
PHP Code:$nummer = str_replace('.', ',', $nummer);
-
27-09-2019, 18:31 #6
- Berichten
- 17
- Lid sinds
- 18 Jaar
Re: CONCATENATE (EXCEL) naar php
Hartstikke bedankt Tjerk!
Wat vreemd dat de formule bij jouw wel werkt zonder de CONCATENATE functie.
Ik heb het meerdere malen geprobeerd en het werkte gewoon niet, ik ben het net nog een keer gaan proberen op een andere computer en daar werkt het wel, apart.
Ik moest alleen de round() weghalen bij $excel_now, anders genereert hij maar 5 cijfers achter te komma.
Nogmaals bedankt, ik ben hier echt heel blij mee zonder je hulp was dit echt niet gelukt!
Dankjewel Matthijs! daar was ik dan wel weer uitgekomen xD maar bedankt voor het meedenken!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic