Avatar billede krab Praktikant
19. oktober 2005 - 21:05 Der er 15 kommentarer og
1 løsning

datoer på tværs..

Bruger funktionen: date("d-m-Y", strtotime($dato));

Jeg har en del steder i min database hvor dato'en ikke er angivet.. altså så hvor den bare er angivet: 0000-00-00 eller hvor der muligvis står: 2003-00-00

Hvordan kan jeg få den til at springe dem over hvor bare EN af placeringerne i datoen er = 00 .. da den så vil skrive en helt forkert dato..

Mit kode skal bare springe den over (Hvis du bare kan fortælle mig hvordan jeg ser om der er 00 i datoen så det fint)
Hvordan man med en "if" sætning ka springe over hvis en a "0000" - "00" - "00" er = 00

Håber du stadig vil hjælpe..
ka ikk forklare det bedre..

//krab
Avatar billede jaw Nybegynder
19. oktober 2005 - 21:09 #1
Måske:

if(strpos($dato, "-00") === true)) {
Avatar billede krab Praktikant
19. oktober 2005 - 21:12 #2
Vil det også virke hvis det er den første "0000" der er sådan?
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:12 #3
Kunne du evt lave sorteringen allerede i sql?
SELECT * FROM table WHERE dato NOT LIKE '%-00%'
Avatar billede jaw Nybegynder
19. oktober 2005 - 21:13 #4
Nah, vil det jo ikke, men hvis du har 0000-00-00 er det vel ligemeget om den fanger 0000 eller -00, det vil jo være opfyldt alligevel.

Men du kan da:
if(strpos($dato, "-00") === true) || strpos($dato, "0000" === true) {
Avatar billede krab Praktikant
19. oktober 2005 - 21:16 #5
#jakobdo
Tror ikke helt det da bruges til det jeg har gang i :) for skal bruge den selvom der er 0000-00-00 i :)..
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:17 #6
Og, min fejl! :o)
Avatar billede jaw Nybegynder
19. oktober 2005 - 21:19 #7
Og mit sidste forsøg skal så lige være:
if(strpos($dato, "-00") === true) || strpos($dato, "0000" === true)) {

Der manglede lige en ) :)
Avatar billede krab Praktikant
19. oktober 2005 - 21:19 #8
heh.. nej nej.. :)
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:20 #9
krab: Jeg mente: Ok, min fejl! :o) (det andet lød lidt groft)
Avatar billede krab Praktikant
19. oktober 2005 - 21:21 #10
Nåå.. ;) så jeg også med ...
Avatar billede krab Praktikant
19. oktober 2005 - 21:22 #11
#jaw

Ja det ka jeg sikkert godt bruge, så er det bare lige, når den har skippet den skal jeg bruge den skippede dato.. altså hvis den er li 2003-00-00 skal jeg bruge
$dag = 00
$mdr = 00
$yr = 2003

Er det noget du ka hjælpe med? eller andre?
Avatar billede jaw Nybegynder
19. oktober 2005 - 21:27 #12
Ja:

$dag = substr($dato, 8);
$mdr = substr($dato, 5, 2);
$yr = substr($dato, 0, 4);
Avatar billede jakobdo Ekspert
19. oktober 2005 - 21:43 #13
Eller denne:
if(preg_match('/(\\d{4})-(\\d{2})-(\\d{2})/', $dato, $output))
{
$dag = $output[2];
$mdr = $output[1];
$yr = $output[0];
}
Avatar billede hmortensen Nybegynder
19. oktober 2005 - 22:00 #14
Eller:
list($y, $m, $d) = explode("-", $dato);
Avatar billede krab Praktikant
14. juni 2006 - 09:07 #15
Smider du et svar :: jaw
Avatar billede jaw Nybegynder
14. juni 2006 - 16:37 #16
Det gør jeg da gerne :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester