Ankündigung

Einklappen
Keine Ankündigung bisher.

CSV datei schreibt alles in eine Zeile

Einklappen

Neue Werbung 2019

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

  • CSV datei schreibt alles in eine Zeile

    Hallo alle zusammen, ich habe eine frage....
    Ich möchte einige Daten aus Mysql auslesen und in CSV datei schreiben,
    hab alles gemacht es schreibt alles perfekt, aber alles in eine Zeile, wo kann die Feller sein, könnt ihr mir herlfen ?
    Hier ist die Code:

    [code]<?php
    require_once('includes/configure.php');
    require('includes/application_top.php');

    $file="data.csv";
    $save=fopen($file,"w");
    $hostname_oscommerce = DB_SERVER;
    $database_oscommerce = DB_DATABASE;
    $username_oscommerce = DB_SERVER_USERNAME;
    $password_oscommerce = DB_SERVER_PASSWORD;

    $cat =(defined('DIR_WS_HTTP_CATALOG'))?DIR_WS_HTTP_CATA LOGIR_WS_CATALOG;

    $limit="";
    if($GLOBALS["count"]>0)
    {
    $limit=" limit ".(int)$GLOBALS["begin"].",".(int)$GLOBALS["count"];
    }
    if($GLOBALS["timelimit"]>0) set_time_limit($GLOBALS["timelimit"]);

    $sql_query = "select products.products_status,
    manufacturers.manufacturers_name,
    products.products_id,
    products.products_model,
    products.verfuegbarkeit,
    products.EAN,
    products.DAN_Ingram,
    products.hersteller_AN,
    products.products_image,
    products.products_price,
    products.products_tax_class_id,
    products_description.products_name,
    products_description.products_description
    from products, products_description,
    manufacturers
    where products.products_id=products_description.products _id and
    manufacturers.manufacturers_id = products.manufacturers_id and
    products_description.language_id=2 and
    products.products_status > 0 $limit";

    $con = mysql_pconnect( $hostname_oscommerce,
    $username_oscommerce,
    $password_oscommerce) or die("Unable to connect to SQL server");

    mysql_select_db($database_oscommerce,$con) or die("Unable to select database.");

    $sql_result = mysql_query($sql_query);


    while($row = mysql_fetch_array($sql_result))
    {

    if ($sonderpreis=tep_get_products_special_price($row['products_id']))
    {
    $preis=$sonderpreis;
    $preis_vorher=$row["products_price"];
    }
    else
    {
    $preis=$row["products_price"];
    $preis_vorher=0;
    }

    $steuer =(100+tep_get_tax_rate($row['products_tax_class_id']))/100;
    $preis =number_format($preis*$steuer,2,".","");
    $preis_vorher =number_format($preis_vorher*$steuer,2,".","");
    $bezeichnung =escaper($row["products_name"]);
    $manufacturer =escaper($row["manufacturers_name"]);
    $ean =escaper($row["EAN"]);
    $hersteller_an =escaper($row["hersteller_AN"]);
    $artikel_nr = $row["products_model"];
    $dan_ingram =$row["DAN_Ingram"];
    $url =HTTP_SERVER.$cat."product_info.php?products_id=". $row["products_id"];
    $verfuegbar =$row["verfuegbarkeit"];
    $artikel_id =$row["products_id"];
    if(trim($row["products_image"])!="")


    if($row["products_id"]>0) // Nur Artikel mit Kategorien exportieren
    $post_2 =$manufacturer . ";" . $bezeichnung . ";" . $preis . ";" . $verfuegbar . ";" . $EAN . ";" . $hersteller_AN . ";" . $url . ";" . $artikel_id . ";" . $dan_ingram;
    fputs($save,"$post_2");

    }


    function HoleKategorie($produkt_id)
    {
    global $katcache;

    $rw="";
    $kat_id=(int)GetSqlValue("select categories_id as value from products_to_categories where products_id=$produkt_id");
    if($kat_id>0)
    {
    if($katcache[$kat_id]!="")
    {
    return $katcache[$kat_id];
    }

    $id=$kat_id;
    while($id)
    {
    $bez=GetSqlValue("select categories_name as value from categories_description where language_id=2 and categories_id=$id");
    $id=(int)GetSqlValue("select parent_id as value from categories where categories_id=$id");
    if($bez!="<null>")
    {
    if($rw!="")
    $rw=$bez."/".$rw;
    else
    $rw=$bez;
    }
    }
    $katcache[$kat_id]=$rw;
    }
    return $rw;
    }
    function escaper($text)
    {
    $description=$text;

    $description = strip_tags( $description ); //HTML entfernen
    $description=str_replace('|',' ',$description); // | entfernen
    $description = ereg_replace ("\n", " ", $description); //Zeilenumbr

  • #2
    Code:
    fputs($save,$post_2."/n");
    (/n je nach betriebssystem)

    Kommentar


    • #3
      2 Jason:

      hab gerade ausprobiert, leider geht nicht

      Kommentar


      • #4
        oh also der / ist verkehrtrum...
        also es würde \n heißen

        und sonst probier mal: \n\r

        Kommentar


        • #5
          hats geklappt, ich schulde dir was :wink:

          Kommentar


          • #6
            noch eine frage wie kann ich die Leisten am besten bennenen,
            z.B
            Hersteller Produkt Preis und s.w

            PS: Also erste Leiste dazu machen...

            Kommentar


            • #7
              Zitat von herki
              noch eine frage wie kann ich die Leisten bennenen,
              z.B
              Hersteller Produkt Preis und s.w

              Leisten bennen? ... Man nehme einen Stift (am besten permanent) ... entkleidet sich .. und schreibt .. "Linke Leiste" .. "rechte Leiste" .. an die passenden Stellen ...



              Sicher, dass du in "PPHP-Profis" posten solltest ?! ^^ ;P





              Okay .. ernsthaft .. was bitte meinst du?

              Sowas kaum:

              PHP-Code:
              <table>
              <
              tr>
                  <
              th>Hersteller</th>
                  <
              th>...</th>
              </
              tr

              Kommentar


              • #8
                2 Guradia

                Ich bin vielleicht nicht so gut in Deutsch wie du, aber wenn man irgendwas nicht versteht soll man fragen und nicht auslachen, das kann ich auch und vielleicht besser als du :wink:

                ich weiss nicht wie ich das auf deutsch sagen soll, die Spalten in diese CSV datei bennenen, glaube ich so ...

                Wie kann ich das am besten in diese Code machen...

                PS: Ich bin kein PROFI, aber ich glaube dass das was ich geschrieben habe nicht für Anfänger passt ?? oder ?

                Kommentar


                • #9
                  Zitat von herki
                  ich weiss nicht wie ich das auf deutsch sagen soll, die Spalten in diese CSV datei bennenen, glaube ich so
                  Also:
                  In der CSV .. oben drüber ... nochmal eine Zeile mit den Feldnamen?

                  Kein Problem

                  Dieses hier EIN MAL ausführen, IN der Schleife das Auslesens.
                  $cvsHead dann als ersten in die Datei packen ...

                  PHP-Code:
                  <?php

                  $csvHead 
                  null;
                  foreach (
                  $row AS $field => $value) {
                      if (!
                  is_null($cvsHead)) {
                          
                  $cvsHead .= ';';
                      }
                      
                  $csvHead .= $field;
                  }
                  $cvsHead .= "\n";

                  ?>
                  EDIT: Ups .. ausgerechnet das NewLine vergessen *cough*

                  Kommentar


                  • #10
                    2 Guradia

                    Na siehst du, du bist vielleicht nicht so frech wie du aussiehst :wink:

                    Ich danke dir

                    Kommentar


                    • #11
                      Zitat von herki
                      PS: Ich bin kein PROFI, aber ich glaube dass das was ich geschrieben habe nicht für Anfänger passt ?? oder ?
                      Drum sag ich's noch einmal....
                      hier posten bis auf meine Ausnahme gerade... nur Profis! Es soll sogar so sein, dass diese auch ins Anfänger-Forum gucken und dort Fragen beantworten!

                      Zitat von herki
                      Na siehst du, du bist vielleicht nicht so frech wie du aussiehst
                      Du kennst ihn persönlich?

                      Kommentar


                      • #12
                        Zitat von herki
                        PS: Ich bin kein PROFI, aber ich glaube dass das was ich geschrieben habe nicht für Anfänger passt ?? oder ?
                        Nur um das klarzustellen (den Denkfehler machen leider viele ): Nur weil da steht "Anfänger-Forum", heißt da noch lange nicht, dass da nur Anfänger posten. Da steht weiter "Noch keine oder wenig Erfahrung mit PHP? Dann ist dieses Board das Richtige "! Das Board ist also für anfängertypische Fragen, die aber durchaus von Profis beantwortet werden.

                        Dagegen steht unter "Profi-Forum": "PHP Profis können sich hier nach Belieben mit Gleichgesinnten austauschen! " Das Board ist nicht für Anfänger-Fragen, die möglichst von Profis beantwortet werden sollen (weil man da etwa von den Profis alles gemacht bekommt), sondern für Profis, um über Probleme zu diskutieren, von denen Anfänger noch nicht einmal wissen, dass sie existieren :wink:

                        Also, diesmal reist dir noch niemand den Kopf ab :wink: aber bitte das nächste Mal beachten und im entsprechenden Forum posten...

                        KMAssS

                        Kommentar


                        • #13
                          geht nicht
                          jetzt sieht das so aus:

                          Kommentar


                          • #14
                            2 kmasss

                            Jawohl !!!! :wink:

                            Kommentar


                            • #15
                              Zitat von herki
                              geht nicht
                              jetzt sieht das so aus:
                              Ich erinnere an mein gross geschriebenes
                              EIN MAL

                              vor der while():

                              PHP-Code:
                              <?php
                              $doneHead 
                              false;

                              //Beim Übergeben an die Datei:

                              if (!$doneHead) {
                                  
                              // Schreiben
                                  
                              $doneHead true;
                              }
                              ?>

                              Kommentar

                              Lädt...
                              X