Avatar billede akki Nybegynder
25. november 2004 - 13:51 Der er 19 kommentarer

Udtræk via PHP og mysql, skal gemmes i en fil

er det muligt, at lave et udtræk fra en db, hvor man så har mulighed for at trykke på en knap, også gemme det i en fil. mere så man kan tage den med på vejen.(offline)
Avatar billede schaefner Juniormester
25. november 2004 - 13:52 #1
ja, det er det :)
Avatar billede schaefner Juniormester
25. november 2004 - 13:54 #2
Avatar billede akki Nybegynder
25. november 2004 - 13:54 #3
har du en løsning.. hvordan gør man..

vil gerne havde dette, gemt ned i en fil...
Avatar billede akki Nybegynder
25. november 2004 - 13:56 #4
det er jo ret meget, jeg skal havde skrevet til en fil..

glemte helt at vedlægge mit sql/php stuff før..

<?
include("db.php");
$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
if (!isset($id))
    { //exit;
    }
   
$foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn ");
while($data =mysql_fetch_array($foresp))
  {
  if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}


    print "  <table width=510 border=0>";
    if ($whichcolor == 0) { $color = $color1; $whichcolor = 1 ; }
    else { $color = $color2; $whichcolor = 0; }
    print "
    <TR bgcolor=$color>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=150>$data[0]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[1]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[2]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=80>$data[3]</TD>
            <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100 align=center> <a href=update.php?id=$data[4] class=image><img src=index-filer/ret.png border=0 alt='Tryk her for at rette'></a> &nbsp; <a href=\"#\" onClick=\"sikker('update_ok.php?slet=1&id=$data[4]')\" class=image> <img src=index-filer/slet.png border=0 alt='Tryk her for at slette'></a> &nbsp; <a href=info.php?id=$data[4]  class=image><img src=index-filer/icon_info.gif border=0></a></TD>
    </TD>
      </TR>
    ";
  }
?>
Avatar billede schaefner Juniormester
25. november 2004 - 14:02 #5
<?php
include("db.php");

$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
$output = "";
$filename = "test.txt"; // Fil der skal skrives til

if (!isset($id)) {
    //exit;
}
 
$result = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn ") or die(mysql_error());
while ($data = mysql_fetch_array($result)){
    if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}


    print "<table width=510 border=0>";
    if ($whichcolor == 0) {
        $color = $color1; $whichcolor = 1;
    } else {
        $color = $color2; $whichcolor = 0;
    }
    $output .= "
    <TR bgcolor=$color>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=150>$data[0]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[1]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[2]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=80>$data[3]</TD>
            <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100 align=center> <a href=update.php?id=$data[4] class=image><img src=index-filer/ret.png border=0 alt='Tryk her for at rette'></a> &nbsp; <a href=\"#\" onClick=\"sikker('update_ok.php?slet=1&id=$data[4]')\" class=image> <img src=index-filer/slet.png border=0 alt='Tryk her for at slette'></a> &nbsp; <a href=info.php?id=$data[4]  class=image><img src=index-filer/icon_info.gif border=0></a></TD>
    </TD>
      </TR>";
}

if (is_writable($filename)) {
    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, "w")) {
        print "Cannot open file ($filename)";
        exit;
    }

    if (fwrite($handle, $output) === FALSE) {
        print "Cannot write to file ($filename)";
        exit;
    }
    print "Success, wrote to file ($filename)";
    fclose($handle);

} else {
    print "The file $filename is not writable";
}
?>
Avatar billede akki Nybegynder
25. november 2004 - 14:12 #6
kan man ikke få den til dynamisk at oprette en fil.
tænkte noget ala

$filename = mktime();
men ved så ikke hvordan man for php til at oprette filen...
Avatar billede schaefner Juniormester
25. november 2004 - 14:17 #7
$filename = time().".txt";

Eller hvad navnet nu skal være.

fopen vil forsøge at oprette en fil hvis ikke den findes.
Avatar billede akki Nybegynder
25. november 2004 - 14:33 #8
har gjort sådan..

<?
$file = date("d");
include("db.php");
$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
if (!isset($id))
    { //exit;
    }
   
$foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn ");
while($data =mysql_fetch_array($foresp))
  {
  if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}


    print "  <table width=510 border=0>";
    if ($whichcolor == 0) { $color = $color1; $whichcolor = 1 ; }
    else { $color = $color2; $whichcolor = 0; }
    print "
    <TR bgcolor=$color>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=150>$data[0]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[1]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[2]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=80>$data[3]</TD>
            <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100 align=center> <a href=update.php?id=$data[4] class=image><img src=index-filer/ret.png border=0 alt='Tryk her for at rette'></a> &nbsp; <a href=\"#\" onClick=\"sikker('update_ok.php?slet=1&id=$data[4]')\" class=image> <img src=index-filer/slet.png border=0 alt='Tryk her for at slette'></a> &nbsp; <a href=info.php?id=$data[4]  class=image><img src=index-filer/icon_info.gif border=0></a></TD>
    </TD>
      </TR>
    ";
$filename = $file.".txt";
echo"$filename";
chmod("$filename", 777);
$somecontent = "$data[0]- $data[1] - $data[2]- $data[3]\n";

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

  // In our example we're opening $filename in append mode.
  // The file pointer is at the bottom of the file hence
  // that's where $somecontent will go when we fwrite() it.
  if (!$handle = fopen($filename, 'a')) {
        echo "Cannot open file ($filename)";
        exit;
  }

  // Write $somecontent to our opened file.
  if (fwrite($handle, $somecontent) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }
 
     
  fclose($handle);

} else {
  echo "The file $filename is not writable";
}


  }
?>

men for denne fejl

25.txt
Warning: chmod failed: No such file or directory in /usr/local/apache/htdocs/admin/serverliste/vis_efter_room.php on line 169
The file 25.txt is not writable

som om den slet ikke skriver filen...
Avatar billede schaefner Juniormester
25. november 2004 - 14:35 #9
Prøv at give de rigtige rettigheder på mappen også. Og så:

chmod($filename, 0777);

Og:

if (!$handle = fopen($filename, "w")) {
Avatar billede akki Nybegynder
25. november 2004 - 14:39 #10
virker stadig ikke.. har lavet en chmod 777 på mappen også
Avatar billede schaefner Juniormester
25. november 2004 - 14:43 #11
Melder den samme fejl eller hvad?
Avatar billede akki Nybegynder
26. november 2004 - 10:02 #12
ja for stadig samme fejl....
som om den slet ikke oprette filen, har endag givet mappen, 777 i retigheder...
Avatar billede schaefner Juniormester
03. december 2004 - 21:09 #13
Prøv den her kode:

<?php
include("db.php");

$content = "";
if (!isset($id)) {
    //exit;
}
 
$result = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn");
while ($data =mysql_fetch_array($result)) {
    $content .= $data[0]." - ".$data[1]." - ".$data[2]." - "-$data[3]."\n";
}

$filename = date("d").".txt";

if (!$handle = fopen($filename, "w")) {
    echo "Cannot open file ($filename)";
    exit;
}
if (is_writable($filename)) {
    // Write $somecontent to our opened file.
    if (fwrite($handle, $somecontent) === FALSE) {
        echo "Cannot write to file ($filename)";
        exit;
    }

    echo "Success, wrote to file ($filename)";
    fclose($handle);
} else {
    echo "The file $filename is not writable";
}
?>
Avatar billede schaefner Juniormester
03. december 2004 - 21:11 #14
Der sneg sig lige en lille fejl ind:

$content .= $data[0]." - ".$data[1]." - ".$data[2]." - "-$data[3]."\n";

Ret til:
$content .= $data[0]." - ".$data[1]." - ".$data[2]." - ".$data[3]."\n";
Avatar billede schaefner Juniormester
03. december 2004 - 21:13 #15
Sådan. Nu skulle det vidst være fri for slåfejl etc.:

<?php
include("db.php");

$content = "";
if (!isset($id)) {
    //exit;
}
 
$result = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn") or die(mysql_error());
while ($data = mysql_fetch_array($result)) {
    $content .= $data[0]." - ".$data[1]." - ".$data[2]." - ".$data[3]."\n";
}

$filename = date("d").".txt";

if (!$handle = fopen($filename, "w")) {
    echo "Cannot open file ($filename)";
    exit;
}
if (is_writable($filename)) {
    // Write $somecontent to our opened file.
    if (fwrite($handle, $content) === FALSE) {
        echo "Cannot write to file ($filename)";
        exit;
    }

    echo "Success, wrote to file ($filename)";
    fclose($handle);
} else {
    echo "The file $filename is not writable";
}
?>
Avatar billede akki Nybegynder
08. december 2004 - 12:43 #16
hvad gør jeg forkert...

$filename = "$room" date("d_h:i").".txt";

skal havde filename til at se sådan ud:

xxxx_8_14:21.txt
Avatar billede schaefner Juniormester
08. december 2004 - 13:16 #17
Jeg ville ikke benytte : i et filnavn.

$filename = $room."_".date("d_h_i").".txt";
Avatar billede schaefner Juniormester
05. marts 2006 - 00:22 #18
?
Avatar billede schaefner Juniormester
18. februar 2007 - 19:51 #19
?
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