16. november 2004 - 00:41
Der er
14 kommentarer og 1 løsning
strlen på dato
Jeg skal finde længden af en streng i et datofelt, men den skriver wrong parameter count.. Hvad er fejlen ?? <tr> <td> <center><table border="1"> <tr> <td>Starter: </td> <? if (strlen($row[startdato],j)<10) {?> <td><? echo date("0j-n-Y G:i", $row[startdato]); ?></td> </tr> <? } ?> <tr> <td>Slutter:</td> <td><? echo date("j-n-Y G:i", $row[slutdato]); ?></td> </tr> </table></center> <br><br><br></td> </tr>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
16. november 2004 - 00:43
#1
Hvad laver dit ",j" i strlen? Hvis du vil have længden, er det bare: strlen($row['startdato']);
16. november 2004 - 00:48
#2
j=dato n=måned Y=årstal, og jeg vil undersøge længen af j. er den under 10 skal der et 0 foran i udskriften !
16. november 2004 - 00:50
#3
Det forstår jeg ikke... Jeg kan godt forstå hvad "j" er i date(), men du bruger også "j" i din strlen(). $row[startdato] har en værdi, hvilken? Er det den der skal undersøges for længde? Eller er det date("j") du vil undersøge for længde?
16. november 2004 - 00:53
#4
det er date("j") jeg vil undersøge !
16. november 2004 - 00:54
#5
Så skal du bruge : if(strlen(date("j"))<10) { ...i stedet for...
16. november 2004 - 00:59
#6
ja okay så skal det selvfølgelig være <2 når det er datoen !
16. november 2004 - 00:59
#7
det er jo længden og ikke værdien af datoen
16. november 2004 - 01:03
#8
date("j") returnerer i dag: 16. dvs. at dit udtryk vil se sådan ud: if(strlen(16)<2) { (hvis det er 2 du retter det til) I dag er det ikke tilfældet, da 16 er 2 tegn. Derfor er det: if(strlen(date("j"))<2) { du skal bruge hvis du vil vide om dags dato er mindre end 2 tegn i længde...
16. november 2004 - 01:09
#9
hvorfor virker dette ikke <? if (strlen(date("j"))<2 && strlen(date("n"))>1 && strlen(date("G"))<2) {?> <td><? echo date("0j-n-Y 0G:i", $row[startdato]); ?></td> </tr> <? } ?> på datoen : 1-11-2004 7:20
16. november 2004 - 01:12
#10
ahh, nu tror jeg, jeg forstår hvad du mener... Prøv: <? if (strlen(date("j", $row['startdato']))<2 && strlen(date("n", $row['startdato']))>1 && strlen(date("G", $row['startdato']))<2) {?>
16. november 2004 - 01:20
#11
ja nu tror jeg det virker. laver lige alle 9 kombinationer inden du får dine point :-)
16. november 2004 - 01:23
#12
Det er jo også bare i orden. Men jeg vil hoppe i køjen, så smider et svar i tilfælde af at det nu lykkes... Go'nat og held og lykke :)
16. november 2004 - 01:38
#13
det virker tak for hjælpen, men der er selvfølgelig kun 8 kombinationer :-)
16. november 2004 - 12:30
#14
Hvorfor ikke bare bruge: date("j-n-Y G:i"); d = Day of the month, 2 digits _with_ leading zeros (01-31) j = Day of the month _without_ leading zeros (1-31) Med venlig hilsen Jesper Sørensen
17. november 2004 - 10:47
#15
Det ville jo så være nok at udskifte "j" med "d"
Vi tilbyder markedets bedste kurser inden for webudvikling