2012-03-24 4 views
1

I Daten aus einer Tabelle als

abgerufen an Verarbeitung
<?php 
    $result=$mysqli->query("SELECT value1, value2 FROM table1"); 
     while($row=$result->fetch_assoc()) 
     { 
      $value1 = $row['valu1']; 
      $value2 = $row['value2']; 

      $mysqli->query("INSERT IGNORE INTO table2 (value1) VALUES ('$value1')"); 
      $result2 = $mysqli->query("SELECT id FROM table2 WHERE value1='$value1'"); 
      $row2  = $result2->fetch_assoc(); 
      $column1_id = $row2['id']; 
      $result2->close(); 

      $mysqli->query("INSERT IGNORE INTO table3 (value2) VALUES ('$value2')"); 
      $result3 = $mysqli->query("SELECT id FROM table3 WHERE value1='$value2'"); 
      $row3  = $result3->fetch_assoc(); 
      $column2_id = $row3['id']; 
      $result3->close(); 

      $mysqli->query("INSERT INTO table4 (value1,value2) VALUES ('$value1','$value2')"); 
     } 
?> 

Bu ist das Problem, dass sub- $result wird mit der Mutter eins, und die while-Schleife nur im ersten Zyklus arbeitet durcheinander sein.

Antwort

0

Je besser sollte wie sein dieses

insert ignore into table2 (value1) select value1 from table1; 
insert ignore into table3 (value2) select value2 from table1; 
insert ignore into table4 (value1, value2) select value1, value2 from table1 

Dies optimiert ist, und ich dun denken Sie id .. und Schleife SELECT müsste
(I dun sehen Sie den Einsatz des Ergebnisses machen, sind in Ihrem Beispiel)

+0

Danke für den Rat, aber dies ist eine vereinfachte Version, um mein Problem zu diskutieren; Der eigentliche Code ist komplizierter mit vielen PHP-Verarbeitung auf Werte kommen aus Tabelle1. – Googlebot

+0

Ja, versteh das ... dann kannst du einfach die Logik ausführen, die du willst, um die Daten zu massieren und sie in eine Datei auszugeben. Führe am Ende des Prozesses einen mysql-Import durch? Sie müssten Ihre Programmierumgebung explizit beschreiben, ich bin Außenseiter und habe keine Ahnung, was Sie denken. Wie auch immer, Schleife und Einfügen eins nach dem anderen ist die schlechteste Lösung aller Zeiten. – ajreal

+0

Der Fall ist nicht seltsam; Ich habe eine unbeholfene Daten-Tabelle, und ich möchte eine normalisierte Datenbank erstellen, indem ich Daten in mehreren Tabellen hostet. In diesem Prozess möchte ich mich um den Text (wie Formatierung) von PHP kümmern. – Googlebot

Verwandte Themen