exportieren der ausgewählten daten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • exportieren der ausgewählten daten

    hi,

    also folgendes , ich habe eine datenausgabe welche ich mittels
    auswahlfeld auswählen kann,
    im dropdownmenü kann man dann z.b
    auswählen lieferscheine und es werden die lieferscheine ausgegeben dies mach ich mit folgendem script
    PHP-Code:
    if($_POST['menu1']=="Lieferscheine")
    {
    if (isset($_POST['auswahl']))
     


     
      //foreach($_POST['auswahl'] as $value){
    $sql="SELECT * FROM `erfolgreiche auktionen`  
    WHERE Auktionsnummer IN(".implode(', ', $_POST['auswahl']).")";
    $result = mysql_query($sql) or die(mysql_error());

    while($fetched = mysql_fetch_array($result)){

       ?>
       
       
    <TABLE width=650>
    <TBODY>
    <TR>
    <TD colSpan=2>
    <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
      <!--DWLayoutTable-->
    <TBODY>
    <TR>
    <TD width="321" height="215" valign="top"><font face="Arial"
     size="2"><b><img src=
    "http://www.pacificelectronics-hk.com/images/logo.jpg" 

    width="160" height="133" /></b></font>
    <FONT face=Arial size=3>
          <P>
      <?php 
    echo $fetched['Firmenname']."<br />";?> 
            <?php 
    echo $fetched['Vorname'];?> 
            <?php 
    echo $fetched['Nachname']."<br />";?> 
            
            <?php 
    echo $fetched['Strasse'].' ';?>
            <?php
    echo $fetched['Hausnummer']."<br />";?>
            <?php 
    echo $fetched['Adresszusatz']."<br />";?><FONT face=Arial 
    size=3><STRONG><?php 
    echo $fetched['Postleitzahl'];?>-<?php 
    echo $fetched['Ortschaft'];?>-
            </STRONG><FONT size=4><?php 
    echo $fetched['Land'];?></FONT></FONT></P>
          </P>
          <P>                    <FONT face=Arial size=3><BR>
        
          <P><FONT face=Arial size=4></FONT></P></TD>
      <TD width="321">&nbsp;</TD>
    </TR>
    <TR>
      <TD height="19">&nbsp;</TD>
      <TD>&nbsp;</TD>
    </TR>
    </TBODY></TABLE></TD></TR>
    <TR>
    <TD vAlign=top><FONT face=Arial>
    <P align=left><BR><
    FONT face="Times New Roman" color=black 
    size=4><STRONG>Bill of delivery</STRONG>
    </FONT><FONT size=4> HK- 
      <?php 
    echo $fetched['Auktionsnummer']."<br />";?> </FONT></P>
    </FONT>
    <P align=left></P></TD>
    <TD vAlign=top align=right>
    <P align=left>&nbsp;</P></TD></TR>
    <TR>
    <TD><FONT face=Arial size=2></FONT>
    <P align=left><FONT face=Arial 
    size=2></FONT></P></TD></TR></TBODY></TABLE>
    <TABLE width=650>
    <TBODY>
    <TR>
    <TD align=left></TD>
    <TD align=right>&nbsp;</TD>
    </TR></TBODY></TABLE>
    <TABLE cellPadding=0 width=650>
      <!--DWLayoutTable-->
    <TBODY>
    <TR>
    <TD colSpan=4>
    <HR SIZE=1></TD></TR>
    <TR>
    <TD width="5%">&nbsp;</TD>
    <TD align=left width="10%"><FONT face=Arial 
    size=1><B>Item-ID.</B></FONT></TD>
    <TD align=left width="48%"><FONT face=Arial 
    size=1><B>Description</B></FONT></TD>
    <TD align=right width="37%"><FONT face=Arial 
    size=1><B>Quantity</B></FONT></TD></TR>
    <TR>
    <TD colSpan=4>
    <HR SIZE=1></TD></TR> 
    <TR>
    <TD vAlign=top noWrap align=left>&nbsp;</TD>
    <TD vAlign=top noWrap align=left>
    <FONT face=Arial 
    color=#000000><FONT size=1><?php 
    echo $fetched['Auktionsnummer']."<br />";?></FONT></FONT></TD>
    <TD vAlign=top align=left>
    <FONT face=Arial color=#000000>
    <FONT size=1><?php 
    echo $fetched['Produkttitel']."<br />";?></FONT>
    </FONT></TD>
    <TD vAlign=top noWrap align=right>
    <font face=Arial color=#000000 size=2><strong>
      <?php 
    echo $fetched['Anzahl Stück mit diesem Kaufpreis']."<br />";?>
    </strong></font></TD>
    </TR>
    <TR>
    <TD colSpan=4>
    <HR SIZE=1></TD></TR>
    <TR>
    <TD align=left colSpan=4>
    <TABLE cellSpacing=0 cellPadding=2 border=0>
      <!--DWLayoutTable-->
    <TBODY>
    <TR>
    <TD noWrap width="50%">&nbsp;</TD>
    <TD noWrap width="50%">&nbsp;</TD>
    </TR>
    <TR>
    <TD noWrap width="50%">
    <!--DWLayoutEmptyCell-->&nbsp;</TD>
    <TD width="50%">&nbsp;</TD>
    </TR></TBODY></TABLE>
    <P>&nbsp;</P>
    <P>&nbsp;</P>
    </TD></TR>
    <tr></TBODY>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </TABLE>
    <P>
    <TABLE width=650>
    <TBODY>
    <TR>
    <TD><FONT size=2></FONT>
    <P>
    <TABLE width=650>
    <TBODY>
    <TR>
    <TD><FONT face=Arial><FONT size=2><BR>
      This <FONT size=4><STRONG><FONT face="Times New 
    Roman">Bill of delivery</FONT></STRONG> </FONT> belongs to your   Order of 
      <?php 
    echo $fetched['Auktionsende']."<br />";?>
    </FONT><FONT size=2><BR>
      Your Payment is received. 
      <?php 
    echo $fetched['Bezahldatum']."<br />";?> 
      Thank You.</FONT></FONT>
      <P><FONT face=Arial size=2>Best Regards
    </FONT></P>
    <P><FONT face=Arial size=2>Pacific Agent</FONT></P>
    </TD></TR></TBODY></TABLE>
    </P>
    <P><FONT face=Arial size=2><BR></FONT></P>
    <P><FONT face=Arial></FONT></P>
    <P><FONT face=Arial><SMALL>
    <SMALL></SMALL>
    </SMALL></FONT></P></TD>
    <P>
    <P></P></TR></TBODY></TABLE></P>
      
    <?php

      
    }


      
    }

    }

    das klappt ja hervorragend...

    nun will ich aber die ausgegebene auch gleichzeitig in eine xls/csv datei exportieren...

    bisher mach ich das manuell also ich exportiere alle nicht gesendeten und lösch dann die die ich nicht ausgewählt habe das ist sehr mühsam...


    also bisher benutzte ich zum export das hier
    PHP-Code:
    require_once("connect.php");

    $select = "SELECT * FROM `erfolgreiche auktionen` where 
    bezahlt=1 and gesendet = 0 order by Auktionsnummer";                  
    $export = mysql_query($select); 
    $fields = mysql_num_fields($export); 
             for ($i = 0; $i < $fields; $i++) { 
                $header .= mysql_field_name($export, $i) . "\t"; 
            } 
    ?> 
    <?php 
    while($row mysql_fetch_row($export)) { 
        
    $line ''
        foreach(
    $row as $value) {                                              
            if ((!isset(
    $value)) OR ($value == "")) { 
                
    $value "\t"
            } else { 
                
    $value str_replace('"''""'$value); 
                
    $value '"' $value '"' "\t"
            } 
            
    $line .= $value
        } 
        
    $data .= trim($line)."\n"

    $data str_replace("\r","",$data); 
    ?> 
    <?php 
    if ($data == "") { 
        
    $data "\n(0) Records Found!\n";                          

    ?> 
    <?php 
    header
    ("Content-type: application/octet-stream"); 
    header("Content-Disposition: attachment; 
    filename=extraction.xls"
    ); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    print 
    "$header\n$data"
    ?>
    wie gesagt die frage wie kann ich das einbauen damit er es mitexportiert ...

    ich hab selber schon irgendwie rumversucht aber leider find ich nicht den haken...

  • #2
    sieht doch gut aus - wo ist das problem?

    Kommentar


    • #3
      nein du hast mich nicht ganz verstanden glaub ich...

      also die daten für die lieferscheine wähle ich aus von der abfrage ...bezahlt und nicht gesendet , aber ich wähle ja nicht immer alle aus, exportieren tu ich es seperat mit einer anderen datei aber ich exportiere dabei alle daten von dieser abfrage, das heißt wenn ich jetzt als resultat 40 zeilen habe von dieser abfrage aber nur 10 wähle für den lieferschein, muss ich später in der csv datei diese zehn rauspicken....

      ich will das er wenn er die lieferscheine anzeigt gleichzeitig mir das auch als csv exportier (eben nur die gewählten daten)....

      ich weiß nur nich wie ich das einbauen soll das er die daten von hier bekommt
      PHP-Code:
      $sql="SELECT * FROM `erfolgreiche auktionen`  
      WHERE Auktionsnummer IN("
      .implode(', '$_POST['auswahl']).")"
      wie bei den lieferscheinen und nicht so wie es bisher ist...

      Kommentar


      • #4
        weiß niemand was...

        Kommentar


        • #5
          dafür brauchst du erst mal ein formular, in dem der benutzer z.b. durch checkboxen seine wahl treffen kann. hast du das?

          Kommentar


          • #6
            ja klar also wie ich schon anfangs beschrieben habe werden im formular die felder ausgewählt (siehe Bild)

            ...
            für die ausgewählten wird dann jeweils die funktion welche ich im dropdown menü auswähle ausgeführt, z.b lieferscheine drucken...das klappt ja auch ganz gut...nur will ich wenn er die lieferscheine druckt mir die ausgewählten auch gleich exportiert....
            ansprechen tu ich die ausgewählten ja mit dem hier




            PHP-Code:
            $sql="SELECT * FROM `erfolgreiche auktionen`  

            WHERE Auktionsnummer IN("
            .implode(', '$_POST['auswahl']).")"
            wie über geb ich jetzt diese werte der exportfunktion

            Kommentar


            • #7
              ich verstehe dein problem nicht - an einer stelle hast du es gemacht, an der anderen nicht: dann passe doch die sql query im export skript so an, wie du es in dem anderen skript machst, um nur die einträge zu selektieren, die du markiert hast.

              Kommentar


              • #8
                ok ich mach es nun so

                PHP-Code:
                elseif($_POST['menu1']=="Export")
                {
                 if (isset(
                $_POST['auswahl']))
                {
                require_once(
                "connect.php");

                $select "SELECT * FROM `erfolgreiche auktionen` 
                 WHERE Auktionsnummer 
                IN("
                .implode(', '$_POST['auswahl']).")";                  
                $export mysql_query($select); 

                $fields mysql_num_fields($export); 
                         for (
                $i 0$i $fields$i++) { 
                            
                $header .= mysql_field_name($export$i) . "\t"
                        } 
                while(
                $row mysql_fetch_row($export)) { 

                    
                $line ''
                    foreach(
                $row as $value) {                                              
                        if ((!isset(
                $value)) OR ($value == "")) { 
                            
                $value "\t"
                        } else { 
                            
                $value str_replace('"''""'$value); 
                            
                $value '"' $value '"' "\t"
                        } 
                        
                $line .= $value
                    } 
                    
                $data .= trim($line)."\n"

                $data str_replace("\r","",$data); 

                if (
                $data == "") { 
                    
                $data "\n(0) Records Found!\n";                          



                header("Content-type: application/octet-stream"); 
                header("Content-Disposition: attachment; filename=extraction.xls"); 
                header("Pragma: no-cache"); 
                header("Expires: 0"); 
                print 
                "$header\n$data"
                    }
                        } 
                das klappt auch ganz gut mit dem Export....nur das in den ersten zeilen diese Fehlermeldungen stehen...

                <b>Notice</b>: Undefined variable: header in
                <b>/bla bla bla</b> on line <b>179</b><br />

                <b>Notice</b>: Undefined variable: data in <b>/bla bla bla
                </b> on line <b>191</b><br />


                und danach kommen die exportierten Datensätze.....aber ich kapiere net wieso diese Fehlermeldung da steht...

                aber es geht auf jeden fall mal das ist das wichtigste danke an alle

                Kommentar


                • #9
                  steht doch da: in zeile 179 und 191 verwendest du zwei variablen, die noch nicht belegt sind.

                  Kommentar

                  Lädt...
                  X