Heim  >  Artikel  >  Backend-Entwicklung  >  mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten?

mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten?

WBOY
WBOYOriginal
2016-08-04 09:19:231397Durchsuche

mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten?

Es gibt mehrere Klassifizierungen der ersten Ebene, es gibt unsichere Klassifizierungen der zweiten Ebene und es gibt unsichere Klassifizierungen der dritten Ebene unterhalb der Klassifizierung der zweiten Ebene. Ich möchte die relevanten Datenkombinationen abrufen und in die Datenbank schreiben, aber Ich weiß nicht, wie ich dieses Format anordnen soll, um die richtige Kombination zu erhalten.
Wenn Sie Zeit haben, schauen Sie sich das bitte an und helfen Sie mir

Gibt es eine Möglichkeit, den Wert der gesamten Spalte zu ermitteln und dann zwei Spalten und dann drei Spalten entsprechend der Länge zu unterscheiden

Das jetzt erhaltene Datenformat ist 1 2 3 pro Zeile. . .

Bild oben

mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten? Daten gedruckt auf

<code>array (size=16)
  0 => 
    array (size=7)
      0 => float 1
      1 => string '销售部' (length=9)
      2 => string '销售1区' (length=10)
      3 => string '销售1科室' (length=13)
      4 => null
      5 => null
      6 => null
  1 => 
    array (size=7)
      0 => float 2
      1 => null
      2 => null
      3 => string '销售2科室' (length=13)
      4 => null
      5 => null
      6 => null
  2 => 
    array (size=7)
      0 => float 3
      1 => null
      2 => null
      3 => string '销售3科室' (length=13)
      4 => null
      5 => null
      6 => null
  3 => 
    array (size=7)
      0 => float 4
      1 => null
      2 => null
      3 => string '销售4科室' (length=13)
      4 => null
      5 => null
      6 => null
  4 => 
    array (size=7)
      0 => float 5
      1 => null
      2 => string '销售2区' (length=10)
      3 => string '销售1科室' (length=13)
      4 => null
      5 => null
      6 => null
  5 => 
    array (size=7)
      0 => float 6
      1 => null
      2 => null
      3 => string '销售2科室' (length=13)
      4 => null
      5 => null
      6 => null
  6 => 
    array (size=7)
      0 => float 7
      1 => null
      2 => null
      3 => string '销售3科室' (length=13)
      4 => null
      5 => null
      6 => null
  7 => 
    array (size=7)
      0 => float 8
      1 => null
      2 => null
      3 => string '销售4科室' (length=13)
      4 => null
      5 => null
      6 => null
  8 => 
    array (size=7)
      0 => float 9
      1 => string '市场部' (length=9)
      2 => string '市场1区' (length=10)
      3 => string '市场1科室' (length=13)
      4 => null
      5 => null
      6 => null
  9 => 
    array (size=7)
      0 => float 10
      1 => null
      2 => null
      3 => string '市场2科室' (length=13)
      4 => null
      5 => null
      6 => null
  10 => 
    array (size=7)
      0 => float 11
      1 => null
      2 => null
      3 => string '市场3科室' (length=13)
      4 => null
      5 => null
      6 => null
  11 => 
    array (size=7)
      0 => float 12
      1 => null
      2 => null
      3 => string '市场4科室' (length=13)
      4 => null
      5 => null
      6 => null
  12 => 
    array (size=7)
      0 => float 13
      1 => null
      2 => string '市场2区' (length=10)
      3 => string '市场1科室' (length=13)
      4 => null
      5 => null
      6 => null
  13 => 
    array (size=7)
      0 => float 14
      1 => null
      2 => null
      3 => string '市场2科室' (length=13)
      4 => null
      5 => null
      6 => null
  14 => 
    array (size=7)
      0 => float 15
      1 => null
      2 => null
      3 => string '市场3科室' (length=13)
      4 => null
      5 => null
      6 => null
  15 => 
    array (size=7)
      0 => float 16
      1 => null
      2 => null
      3 => string '市场4科室' (length=13)
      4 => null
      5 => null
      6 => null</code>
Antwortinhalt:

mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten?

Es gibt mehrere Klassifizierungen der ersten Ebene, es gibt unsichere Klassifizierungen der zweiten Ebene und es gibt unsichere Klassifizierungen der dritten Ebene unterhalb der Klassifizierung der zweiten Ebene. Ich möchte die relevanten Datenkombinationen abrufen und in die Datenbank schreiben, aber Ich weiß nicht, wie ich dieses Format anordnen soll, um die richtige Kombination zu erhalten.

Wenn Sie Zeit haben, schauen Sie sich das bitte an und helfen Sie mir
Gibt es eine Möglichkeit, den Wert der gesamten Spalte zu ermitteln und dann zwei Spalten und dann drei Spalten entsprechend der Länge zu unterscheiden

Das jetzt erhaltene Datenformat ist 1 2 3 pro Zeile. . .

Bild oben



Daten gedruckt auf mysql - PHP-Excel-Import Dreistufige Klassifizierung importieren Wie sollte die Tabelle gestaltet sein, um das gewünschte Datenformat zu erhalten?

<code>array (size=16)
  0 => 
    array (size=7)
      0 => float 1
      1 => string '销售部' (length=9)
      2 => string '销售1区' (length=10)
      3 => string '销售1科室' (length=13)
      4 => null
      5 => null
      6 => null
  1 => 
    array (size=7)
      0 => float 2
      1 => null
      2 => null
      3 => string '销售2科室' (length=13)
      4 => null
      5 => null
      6 => null
  2 => 
    array (size=7)
      0 => float 3
      1 => null
      2 => null
      3 => string '销售3科室' (length=13)
      4 => null
      5 => null
      6 => null
  3 => 
    array (size=7)
      0 => float 4
      1 => null
      2 => null
      3 => string '销售4科室' (length=13)
      4 => null
      5 => null
      6 => null
  4 => 
    array (size=7)
      0 => float 5
      1 => null
      2 => string '销售2区' (length=10)
      3 => string '销售1科室' (length=13)
      4 => null
      5 => null
      6 => null
  5 => 
    array (size=7)
      0 => float 6
      1 => null
      2 => null
      3 => string '销售2科室' (length=13)
      4 => null
      5 => null
      6 => null
  6 => 
    array (size=7)
      0 => float 7
      1 => null
      2 => null
      3 => string '销售3科室' (length=13)
      4 => null
      5 => null
      6 => null
  7 => 
    array (size=7)
      0 => float 8
      1 => null
      2 => null
      3 => string '销售4科室' (length=13)
      4 => null
      5 => null
      6 => null
  8 => 
    array (size=7)
      0 => float 9
      1 => string '市场部' (length=9)
      2 => string '市场1区' (length=10)
      3 => string '市场1科室' (length=13)
      4 => null
      5 => null
      6 => null
  9 => 
    array (size=7)
      0 => float 10
      1 => null
      2 => null
      3 => string '市场2科室' (length=13)
      4 => null
      5 => null
      6 => null
  10 => 
    array (size=7)
      0 => float 11
      1 => null
      2 => null
      3 => string '市场3科室' (length=13)
      4 => null
      5 => null
      6 => null
  11 => 
    array (size=7)
      0 => float 12
      1 => null
      2 => null
      3 => string '市场4科室' (length=13)
      4 => null
      5 => null
      6 => null
  12 => 
    array (size=7)
      0 => float 13
      1 => null
      2 => string '市场2区' (length=10)
      3 => string '市场1科室' (length=13)
      4 => null
      5 => null
      6 => null
  13 => 
    array (size=7)
      0 => float 14
      1 => null
      2 => null
      3 => string '市场2科室' (length=13)
      4 => null
      5 => null
      6 => null
  14 => 
    array (size=7)
      0 => float 15
      1 => null
      2 => null
      3 => string '市场3科室' (length=13)
      4 => null
      5 => null
      6 => null
  15 => 
    array (size=7)
      0 => float 16
      1 => null
      2 => null
      3 => string '市场4科室' (length=13)
      4 => null
      5 => null
      6 => null</code>
Ich muss Ihnen nicht beibringen, wie man die Daten in Excel in ein zweidimensionales Array einliest. Gehen wir direkt zum Code.

Das Ergebnis der Ausführung des Programms ist:
<code><?php

$lines = [
    ['销售部', '销售1区', '销售1科室'],
    ['', '', '销售2科室'],
    ['', '', '销售3科室'],
    ['', '', '销售4科室'],
    ['', '销售2区', '销售1科室'],
    ['', '', '销售2科室'],
    ['', '', '销售3科室'],
    ['', '', '销售4科室'],
    ['市场部', '市场1区', '市场1科室'],
    ['', '', '市场2科室'],
    ['', '', '市场3科室'],
    ['', '', '市场4科室'],
    ['', '市场2区', '市场1科室'],
    ['', '', '市场2科室'],
    ['', '', '市场3科室'],
    ['', '', '市场4科室'],
];

$formatedData = [];
foreach ($lines as $line) {
    if (!empty($line[0])) {
        $level1 = $line[0];
        $formatedData[$level1] = [];
    }
    if (!empty($line[1])) {
        $level2 = $line[1];
        $formatedData[$level1][$level2] = [];
    }
    if (!empty($line[2])) {
        $level3 = $line[2];
        $formatedData[$level1][$level2][] = $level3;
    }
}

print_r($formatedData);</code>

Array

(


)
<code>[销售部] => Array
    (
        [销售1区] => Array
            (
                [0] => 销售1科室
                [1] => 销售2科室
                [2] => 销售3科室
                [3] => 销售4科室
            )

        [销售2区] => Array
            (
                [0] => 销售1科室
                [1] => 销售2科室
                [2] => 销售3科室
                [3] => 销售4科室
            )

    )

[市场部] => Array
    (
        [市场1区] => Array
            (
                [0] => 市场1科室
                [1] => 市场2科室
                [2] => 市场3科室
                [3] => 市场4科室
            )

        [市场2区] => Array
            (
                [0] => 市场1科室
                [1] => 市场2科室
                [2] => 市场3科室
                [3] => 市场4科室
            )

    )
</code>

Meine Methode beginnt mit der Klassifizierungsspalte und markiert cat1, cat2, cat3 und verwendet dann eine for-Schleife im Hintergrund

Es ist richtig, die Daten im gewünschten Format gemäß der verwendeten Methode zu erhalten. Allerdings ist es schwieriger, einige der Daten im Vorgang zu beurteilen, oder es ist möglicherweise nicht möglich, sie zu beurteilen Die Klassifizierung auf -Ebene wird verwendet, um zu beurteilen, ob das übergeordnete Element vorhanden ist oder nicht. Wenn es nicht funktioniert, kann ich nur beurteilen, ob es sich um eine Teilmenge handelt, und eine neue hinzufügen. Insgesamt bin ich der Meinung, dass das Format dieser Anforderung noch vorhanden sein muss angepasst. Es kann sein, dass ich dieses Format nicht verwenden kann, da die internen Nutzungsanforderungen nicht so streng sind
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn