04. december 2005 - 22:47
Der er
23 kommentarer og 1 løsning
Opløse data fra MySQL database..
Jeg sidder og arbejder på et system hvor man skal sende en SMS ind, som jeg så kan se på en side. Jeg får fra min gateway disse data når jeg modtager en SMS: 20051204221435 Altså 2005-12-04 , klokken 22:14:35 Hvordan kan jeg opløse 20051204221435 via PHP ? Så det står sepereret altså som jeg har skrevet ovenstående med 2005-12-04 .. ? Jeg modtager en række forskellige informationer som eksempelvis nummer, selskab, besked m.v Men den row den henter "20051204221435" hedder dato
Annonceindlæg fra Academic Work Denmark A/S
04. december 2005 - 22:50
#1
date('Y-m-d',$variabel);
04. december 2005 - 22:50
#2
$a="20051204221435"; if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { print "$r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6]"; }
04. december 2005 - 22:55
#3
<html> <head> <title>SMS</title> <link rel="STYLESHEET" type="text/css" href="css/news.css"> <body bgcolor="white" leftmargin="0" bottommargin="0" topmargin="0" rightmargin="0"> <table align="left" bgcolor="white" width="500" cellspacing="5" cellpadding="5"> <tr> <td height="20"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $connection = mysql_connect("localhost","smsgateway","******"); mysql_select_db("smsgateway", $connection); ?> </font></span> <tr><td width="100%"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $col0 = ""; $col1 = ""; $i=0; $result = mysql_query("select * from amtsgym order by origin desc LIMIT 0, 30"); while($row = mysql_fetch_array($result)){ ++$i; $col = "col" . $i%2; echo " <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; border-top: 1px solid #BBB5A5\" bordercolor=\"#111111\" width=\"100%\" height=\"1\"> <tr> <font face=\"Verdana\" size=\"1\"><b>Elev Navn: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Klasse: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Besked: </b>$row[msg]<br> <font face=\"Verdana\" size=\"1\"><b>Besked Modtaget: </b>$row[dato]<br> <font face=\"Verdana\" size=\"1\"><b>Besked Fra: </b>$row[origin]<br> </font></td> </tr> </table> "; } ?> </td> </tr> </body> </html> </font></span> Sådan ser mit script ud, hvad skal jeg så med det kode i har lavet ? :) Hvordan gør jeg..
04. december 2005 - 22:56
#4
Du bruger $row[dato] i stedet for mit $a
04. december 2005 - 22:57
#5
I skal jo tænke på at der måsker kommer 100 smser på en dag der skal "opløses" i dato..
04. december 2005 - 22:58
#6
Kan du ikke lige prøve at lave scriptet for mig, er ikke helt med.
04. december 2005 - 23:00
#7
$a=$row['dato']; if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { print "$r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6]"; } //Og så sätte $a ind hvor du havde $row['dato'].
04. december 2005 - 23:03
#8
Det blev noget sludder. Det er denne der skal ind: print "$r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6]"; Sorry.
04. december 2005 - 23:05
#9
Kan du ikke prøve at sætte den ind i scriptet for mig ?
04. december 2005 - 23:11
#10
<html> <head> <title>SMS</title> <link rel="STYLESHEET" type="text/css" href="css/news.css"> <body bgcolor="white" leftmargin="0" bottommargin="0" topmargin="0" rightmargin="0"> <table align="left" bgcolor="white" width="500" cellspacing="5" cellpadding="5"> <tr> <td height="20"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $connection = mysql_connect("localhost","smsgateway","******"); mysql_select_db("smsgateway", $connection); ?> </font></span> <tr><td width="100%"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $col0 = ""; $col1 = ""; $i=0; $result = mysql_query("select * from amtsgym order by origin desc LIMIT 0, 30"); while($row = mysql_fetch_array($result)){ ++$i; $col = "col" . $i%2; $a=$row['dato']; echo " <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; border-top: 1px solid #BBB5A5\" bordercolor=\"#111111\" width=\"100%\" height=\"1\"> <tr> <font face=\"Verdana\" size=\"1\"><b>Elev Navn: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Klasse: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Besked: </b>$row[msg]<br> <font face=\"Verdana\" size=\"1\"><b>Besked Modtaget: </b>if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { $r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6];}<br> <font face=\"Verdana\" size=\"1\"><b>Besked Fra: </b>$row[origin]<br> </font></td> </tr> </table> "; } ?> </td> </tr> </body> </html> </font></span> OBS. Du har din font/span-tag efter html-taggen...
04. december 2005 - 23:16
#11
Der er da ikke rigtig noget af det du skriver der virker, michael_stim. Hvad med at lade være med at forvirre spørgeren? 1) Sæt $a=$row['dato']; if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { $a="$r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6]"; } lige før din lange echo-sætning, og erstat $row[dato] med $a i din lange echo-sætning
04. december 2005 - 23:19
#12
erikjacobsen . det fungerede heller ik det han lavede desværre.. Kan du ikke sætte det ind i scriptet for mig ?
04. december 2005 - 23:19
#13
Kan jeg godt se. Tid til at gå i seng. Sorry Hr Mortensen.
04. december 2005 - 23:21
#14
Det går skam nok :)
04. december 2005 - 23:22
#15
Jeg har skrevet 04/12-2005 23:16:04 hvad du skal gøre. Prøv selv. Hvis det ikke virker, så vis hvad du har lavet. Jeg gider ikke lave alt for dig, og mener egentlig heller ikke man skal beskræfige sig med programmering, hvis man ikke kan følge simple retningslinier.
04. december 2005 - 23:22
#16
...og man skal holde sig fra et tastatur hvis man ikke kan stave: "beskæftige" ;))
04. december 2005 - 23:24
#17
<html> <head> <title>SMS</title> <link rel="STYLESHEET" type="text/css" href="css/news.css"> <body bgcolor="white" leftmargin="0" bottommargin="0" topmargin="0" rightmargin="0"> <table align="left" bgcolor="white" width="500" cellspacing="5" cellpadding="5"> <tr> <td height="20"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $connection = mysql_connect("localhost","smsgateway","******"); mysql_select_db("smsgateway", $connection); ?> </font></span> <tr><td width="100%"> <span style="font-size:8.5pt;"><font face="Tahoma"><? $col0 = ""; $col1 = ""; $i=0; $result = mysql_query("select * from amtsgym order by origin desc LIMIT 0, 30"); while($row = mysql_fetch_array($result)){ ++$i; $col = "col" . $i%2; echo " <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; border-top: 1px solid #BBB5A5\" bordercolor=\"#111111\" width=\"100%\" height=\"1\"> <tr> <font face=\"Verdana\" size=\"1\"><b>Elev Navn: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Klasse: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Besked: </b>$row[msg]<br> <font face=\"Verdana\" size=\"1\"><b>Besked Modtaget: </b>$a=$row['dato']; if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { $a="$r[1]-$r[2]-$r[3] $r[4]-$r[5]-$r[6]"; }<br> <font face=\"Verdana\" size=\"1\"><b>Besked Fra: </b>$row[origin]<br> </font></td> </tr> </table> "; } ?> </td> </tr> </body> </html> </font></span> Således ?
04. december 2005 - 23:32
#18
while($row = mysql_fetch_array($result)){ ++$i; $col = "col" . $i%2; $a=$row['dato']; if (preg_match('/^(....)(..)(..)(..)(..)(..)$/',$a,$r)) { $a="$r[1]-$r[2]-$r[3] $r[4]:$r[5]:$r[6]"; } echo " <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse; border-top: 1px solid #BBB5A5\" bordercolor=\"#111111\" width=\"100%\" height=\"1\"> <tr> <font face=\"Verdana\" size=\"1\"><b>Elev Navn: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Klasse: </b>$row[oigin]<br> <font face=\"Verdana\" size=\"1\"><b>Besked: </b>$row[msg]<br> <font face=\"Verdana\" size=\"1\"><b>Besked Modtaget: </b>$a<br> <font face=\"Verdana\" size=\"1\"><b>Besked Fra: </b>$row[origin]<br> </font></td> </tr> </table> "; } ?> Tror Erik mente sådan her (den skulle väre god nok denne gang ;o)). Og glem ikke at sätte dine afslutningstags indenfor </html>
04. december 2005 - 23:33
#19
Og </body>. Godnat (Gab).
04. december 2005 - 23:41
#20
Ja, michael_stim her vist ramt rigtigt. Jeg kan til gengæld ikke forstå dig, michael_mortensen. Når jeg skriver at noget skal indsættes "lige før din lange echo-sætning", hvorfor gør du det så inden i echo-sætningen? Det er simple retningslinier, og det burde du kunne følge. Men spild gerne din egen tid ...
04. december 2005 - 23:44
#21
Det virker noget så glimrende. Jeg spilder skam ikke min egen tid. Jeg erkender blot min manglende viden inden for PHP - jeg havde et gammelt script jeg ønskede at modificere lidt, at jeg så ikke kan hitte ud af det er noget helt andet. Muligvis af den selvsamme grund jeg søgte råd på exp.dk. Jeg er da ked af hvis du har været træt af at hjælpe mig, men det er nu engang det der tit ligger i luften på EXP.dk Din hjælp har virket, såfremt må både dig og Michael ligge et svar. Mvh. Michael
04. december 2005 - 23:49
#22
Tror ikke Erik samler på point (men det skal jeg ikke bestemme). Og jeg skal ikke have point for noget Erik har lavet. Jeg gjorde nok bare så det tog längre tid ;o)
04. december 2005 - 23:54
#23
Jeg samler slet ikke på point. Jeg er ikke "træt", jeg er "undrende". Hvis du ikke er så god til PHP, skulle du nok starte med noget simplere, og du skal næppe skrive noget, der skal bruges i virkeligheden indtil du ved mere, og kan vurdere relevante sikkerhedsaspekter.
22. januar 2006 - 09:20
#24
Smid svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling