Avatar billede michael_mortensen Nybegynder
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
Avatar billede michael_stim Ekspert
04. december 2005 - 22:50 #1
date('Y-m-d',$variabel);
Avatar billede erikjacobsen Ekspert
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]";
}
Avatar billede michael_mortensen Nybegynder
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..
Avatar billede erikjacobsen Ekspert
04. december 2005 - 22:56 #4
Du bruger $row[dato] i stedet for mit $a
Avatar billede michael_mortensen Nybegynder
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..
Avatar billede michael_mortensen Nybegynder
04. december 2005 - 22:58 #6
Kan du ikke lige prøve at lave scriptet for mig, er ikke helt med.
Avatar billede michael_stim Ekspert
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'].
Avatar billede michael_stim Ekspert
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.
Avatar billede michael_mortensen Nybegynder
04. december 2005 - 23:05 #9
Kan du ikke prøve at sætte den ind i scriptet for mig ?
Avatar billede michael_stim Ekspert
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...
Avatar billede erikjacobsen Ekspert
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
Avatar billede michael_mortensen Nybegynder
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 ?
Avatar billede michael_stim Ekspert
04. december 2005 - 23:19 #13
Kan jeg godt se. Tid til at gå i seng. Sorry Hr Mortensen.
Avatar billede michael_mortensen Nybegynder
04. december 2005 - 23:21 #14
Det går skam nok :)
Avatar billede erikjacobsen Ekspert
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.
Avatar billede erikjacobsen Ekspert
04. december 2005 - 23:22 #16
...og man skal holde sig fra et tastatur hvis man ikke kan stave: "beskæftige"  ;))
Avatar billede michael_mortensen Nybegynder
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 ?
Avatar billede michael_stim Ekspert
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>
Avatar billede michael_stim Ekspert
04. december 2005 - 23:33 #19
Og </body>.
Godnat (Gab).
Avatar billede erikjacobsen Ekspert
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 ...
Avatar billede michael_mortensen Nybegynder
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
Avatar billede michael_stim Ekspert
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)
Avatar billede erikjacobsen Ekspert
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.
Avatar billede michael_mortensen Nybegynder
22. januar 2006 - 09:20 #24
Smid svar :)
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