• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

Import von vb3

Helga78

Bekanntes Mitglied
Lizenzinhaber
Registriert
30. Jan. 2014
Beiträge
757
Punkte
68
Sollte es eine Reihe von Feldern geben, die nicht importiert werden oder womöglich gar nicht da waren in vb?
Mir fehlen für alle alten Beiträge bestimmte Felder wie:

first_post_id
last_post_id
last_post_user_id


Habe es eben nochmals geprüft. Es kommt in allen Foren vor, nicht nur in dort wo ich Themen und Beiträge auitomatisch erstellen lasse.

Dann gehe ich mal in vb schauen, was dort los ist. :)
 
Zuletzt bearbeitet:
Ich habe es für mich gelöst wie folgt; evtl. kann es wer gebrauchen, evtl. will es wer verbessern:

Code:
<?
   // Melde alle PHP Fehler
   error_reporting(E_ALL);
 
   // ---------------------------------------------------------------
   // ----- DB verbinden --------------------------------------------
   // ---------------------------------------------------------------
   $host = 'localhost';
   $dbname = '*****';
   $user = '*****';
   $pass = '*****';
   $options  = array
       (
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
       );
 
   try {
     $link = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass, $options);
   }
   catch(PDOException $e) {
     echo "Es ist ein Fehler aufgetreten: {$e->getMessage()} ";
   }

   // Hole unvollständige threads 
   $query = "SELECT thread_id as ID, last_post_username as U FROM xf_thread WHERE first_post_id = '0' ";
   $result = $link->prepare($query);
   $result->execute();

   foreach ($link -> query($query) as $result) {
     $id = $result['ID'];
     $u = $result['U'];
     echo $id . "- " . $u . "<br>";
   
     // Hole first_post_id 
     $query2 = "SELECT post_id as PID FROM xf_post WHERE thread_id = '$id' ORDER BY post_id ASC Limit 1 ";
     echo "SELECT post_id as PID FROM xf_post WHERE thread_id = '$id' ORDER BY post_id ASC Limit 1<br>";
     $result2 = $link->prepare($query2);
     $result2->execute();   
     $res2 = $result2->fetch(PDO::FETCH_BOTH);
   
     $first_id = $res2['PID'];
   
     // Hole last_post_id 
     $query2 = "SELECT post_id as PID FROM xf_post WHERE thread_id = '$id' ORDER BY post_id DESC Limit 1 ";
     echo "SELECT post_id as PID FROM xf_post WHERE thread_id = '$id' ORDER BY post_id DESC Limit 1<br>";
     $result2 = $link->prepare($query2);
     $result2->execute();   
     $res2 = $result2->fetch(PDO::FETCH_BOTH);
   
     $last_id = $res2['PID'];
   
     // Hole user_id über Username 
     $query2 = "SELECT user_id as UID FROM xf_user WHERE username = '$u' ";
     echo "SELECT user_id as UID FROM xf_user WHERE username = '$u'<br>";
     $result2 = $link->prepare($query2);
     $result2->execute();   
     $res2 = $result2->fetch(PDO::FETCH_BOTH);
   
     $uid = $res2['UID'];   

     // Speichere Daten in thread 
     $query2 = "UPDATE xf_thread set first_post_id = '$first_id', last_post_id = '$last_id', last_post_user_id = '$uid' WHERE thread_id = '$id' ";
     echo "UPDATE xf_thread set first_post_id = '$first_id', last_post_id = '$last_id', last_post_user_id = '$uid' WHERE thread_id = '$id' <br><br>";
     $result2 = $link->prepare($query2);
     $result2->execute();
   
   } 
?>

echo habe ich drin gelassen, ich schaue immer erst, was passieren wird, bevor ich update/insert starte.
 
Zuletzt bearbeitet:
Zurück
Oben