Jürgen: array count() -textdatei in mysql umwandeln

hallo leute,
ich will eine textdatei in mysql umwandeln,
das problem ist das ich die anzahl der elemente in $file benötige und nicht wie hiermit der for schleife einfach bis 100 auslese,sondern nur bis zum ende des array $file.
Bei count($file) bekomme ich eine 1?
wo liegt mein denkfehler?
vielen dank für eure hilfe
Jürgen

<?
$file = file("nrw.txt");
foreach ($file as $key => $value)
{
  $file[$key] = explode(";",$value);
}
foreach($file as $key => $value)
{
$erg = count($file)."<br>";
echo $erg."<br>";
// $erg ist hier 1 müsste aber viel größer sein
for ($i=0; $i<$erg ;$i++)
{
echo $value[$i]."<br>";
}
}

?>

  1. Hallo,

    verstehe ich Dich richtig, dass Du eine Textdatei eines beliebigen Betriebssystems in einen Feldwert einer MySQL-Datenbank überführen möchtest?

    Was willst Du dann mit File() ?

    Und darüber hinaus müsste man acuh für die Überführung eines PHP-Arrays die Anzahl der Elemente gar nicht kennen. Um einfach nur alle Elemente zu erwischen wäre eine (rekursive) foreach()-Schleife angeraten.

    Aber nun erzähl erst einmal 'was über Deine Wünsche :-)

    LG
    Chris

    1. Hallo,

      verstehe ich Dich richtig, dass Du eine Textdatei eines beliebigen Betriebssystems in einen Feldwert einer MySQL-Datenbank überführen möchtest?

      also ich habe eine textdatei aus einer datenbank bei der die daten mit "," und am ende jedes datensatzes ein";" ist diese möchte ich in eine mysql datenbank eintragen

      Was willst Du dann mit File() ?

      das array in die einzelnen datensätze aufsplitten um sie dann zu speichern in einer schleife

      Und darüber hinaus müsste man acuh für die Überführung eines PHP-Arrays die Anzahl der Elemente gar nicht kennen. Um einfach nur alle Elemente zu erwischen wäre eine (rekursive) foreach()-Schleife angeraten.

      wie sieht ne rekrusive for each schleife aus?

      vielleicht machen die antworten das problem klarer
      Jürgen

      1. Hallihallo,

        wie sieht ne rekrusive for each schleife aus?

        Das war natürlich "Kurztext".

        Eine Funktion auf der Basis einer foreach()-Schleife, die sich unter bestimmten Umständen selber wieder aufruft...

        Das wird in Deinem Fall vermutlich nur norwendig sein, wenn Du Datensätze in der Ursprungsdate hast, die ihrerseits wieder untergeordnete Datensätze enthalten. Das ist z.B. bei Datanorm-Konstrukten der Fall.

        Du musst also erstmal offenlegen, was das Format der Ursprungsdatei beinhalten soll, und dann kann man überlegen, wie man das in eine SQL-Datei überführt. Soll die gesamte Datei in einen einzigen SQL-Datensatz überführen, oder soll die Ursprungsdatei auf mehrere SQL-Datensätze aufgeteilt werden?

        Bitte Fraktur!

        LG
        Chris

        1. hallo,

          Du musst also erstmal offenlegen, was das Format der Ursprungsdatei beinhalten soll, und dann kann man überlegen, wie man das in eine SQL-Datei überführt. Soll die gesamte Datei in einen einzigen SQL-Datensatz überführen, oder soll die Ursprungsdatei auf mehrere SQL-Datensätze aufgeteilt werden?

          also ich hbe mir jetzt mal einfach so geholfen um dir die daten zu zeigen.
          auf http://www.good-wear.de/golf/datei_einlesen.php kannst du die daten sehen und diese will ich in 2 tabelle einmal das bundesland und den rest in ne 2 tabelle speichern.
          <?
          //datenbankanbindung
          include("mysql.php");

          $file = file("nrw.txt");
          foreach ($file as $key => $value)
          {
            $file[$key] = explode(";",$value);
          }
          foreach($file as $key => $value)
          {
          //$erg = count($file)."<br>";
          //echo $erg."<br>";

          for ($i=0; $i<100 ;$i++)
          {
          echo $value[$i]."<br>";

          }
          }

          ?>
          nun will ich statt echo $value[i] halt den datrensatz speichern
          jürgen