Ankündigung

Einklappen
Keine Ankündigung bisher.

Brauche hilfe bei einer sql abfrage

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brauche hilfe bei einer sql abfrage

    hallo und Guten Tag,

    mein Name ist Saugjunkie und ich habe ein Problem kurz eine Vorgeschichte dazu.

    Ich habe ein Forum übernommen dieses Forum läuft mit wbb da ich aber keine lizenz habe, habe ich mir die arbeit gemacht mit einem converter das wbb in ein phpbb zu konvertieren und stehe jetzt vor einem Problem was es zu lösen gibt.
    Dieses sind die Anhänge in den Themen und Beiträgen dort gibt es eine Spalte topic_id diese bleibt beim konvertieren leer unter phpbb 3.0 wohin das wbb konvertiert wurde ist das gar kein Problem. Schlimmer ist es nämlich unter phpbb 3.1 und 3.2 dort wird diese id benötigt um den Anhang herunter zu laden ansonsten gibt es eine Fehler meldung anfangs habe ich gedacht es liegt an den Gruppen Berechtigungen ist es aber nicht da wenn man einen Anhang unter 3.1 erstellt kann man den runter laden.

    Jetzt wollte ich fragen ob mir jemand bei diesem Problem helfen könnte und ein php script erstellt was diese topic_id dem anhang hinzufüge. Wie das Script bzw die sql abfrage arbeiten muss aber ich weiß nicht wie ich das in ein sql befehl umwandeln soll. ich kann zwar einfache update und select befehle diese sind aber eher auf eine spalte begrenzt.

    Ich versuche dann mal den arbeits ablauf zu erklären.

    Erst sucht das script in der Tabelle phpbb_attachments in der Spalte topic_id alle eintraege mit dem Wert 0. Danach kopiert es sich aus dem Wert post_msg_id den Wert raus und sucht diesen dann in der tabele phpbb_posts in der spalte post_id wenn er den Eintrag gefunden hat kopiert er den Wert topic_id heraus und fügt diesen dann in die tabelle phpbb_attachments spalte topic_id hinzu bzw ersetzt den 0 eintrag.

    ich hoffe ich konnte das veranschaulichen wie das Script bzw die abfrage bzw die abfragen funktionieren sollte.

    Hier habe ich auch noch den aufbau der Tabelle phpbb_attachments
    Code:
    CREATE TABLE `phpbb_attachments` (
      `attach_id` mediumint(8) UNSIGNED NOT NULL,
      `post_msg_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `topic_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `in_message` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
      `poster_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `is_orphan` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `physical_filename` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `real_filename` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `download_count` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `attach_comment` text COLLATE utf8_bin NOT NULL,
      `extension` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
      `mimetype` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
      `filesize` int(20) UNSIGNED NOT NULL DEFAULT '0',
      `filetime` int(11) UNSIGNED NOT NULL DEFAULT '0',
      `thumbnail` tinyint(1) UNSIGNED NOT NULL DEFAULT '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    INSERT INTO `phpbb_attachments` (`attach_id`, `post_msg_id`, `topic_id`, `in_message`, `poster_id`, `is_orphan`, `physical_filename`, `real_filename`, `download_count`, `attach_comment`, `extension`, `mimetype`, `filesize`, `filetime`, `thumbnail`) VALUES
    (2953, 57786, 5932, 0, 1177, 0, '1177_ca5f827d3cb230cd2d6fa304be42c965', 'aaaaaaaaa.rar', 1, '', 'rar', 'application/x-rar', 8305, 1509469883, 0);
    Dies ist der Aufbau der phpbb_posts
    Code:
    CREATE TABLE `phpbb_posts` (
      `post_id` mediumint(8) UNSIGNED NOT NULL,
      `topic_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `forum_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `poster_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `icon_id` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `poster_ip` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_time` int(11) UNSIGNED NOT NULL DEFAULT '0',
      `post_reported` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
      `enable_bbcode` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `enable_smilies` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `enable_magic_url` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `enable_sig` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `post_username` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_subject` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
      `post_text` mediumtext COLLATE utf8_bin NOT NULL,
      `post_checksum` varchar(32) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_attachment` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
      `bbcode_bitfield` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `bbcode_uid` varchar(8) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_postcount` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',
      `post_edit_time` int(11) UNSIGNED NOT NULL DEFAULT '0',
      `post_edit_reason` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_edit_user` mediumint(8) UNSIGNED NOT NULL DEFAULT '0',
      `post_edit_count` smallint(4) UNSIGNED NOT NULL DEFAULT '0',
      `post_edit_locked` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
      `post_visibility` tinyint(3) NOT NULL DEFAULT '0',
      `post_delete_time` int(11) UNSIGNED NOT NULL DEFAULT '0',
      `post_delete_reason` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
      `post_delete_user` mediumint(8) UNSIGNED NOT NULL DEFAULT '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    --
    -- Daten für Tabelle `phpbb_posts`
    --
    
    INSERT INTO `phpbb_posts` (`post_id`, `topic_id`, `forum_id`, `poster_id`, `icon_id`, `poster_ip`, `post_time`, `post_reported`, `enable_bbcode`, `enable_smilies`, `enable_magic_url`, `enable_sig`, `post_username`, `post_subject`, `post_text`, `post_checksum`, `post_attachment`, `bbcode_bitfield`, `bbcode_uid`, `post_postcount`, `post_edit_time`, `post_edit_reason`, `post_edit_user`, `post_edit_count`, `post_edit_locked`, `post_visibility`, `post_delete_time`, `post_delete_reason`, `post_delete_user`) VALUES
    (17, 7, 4, 2168, 0, '77.3.107.135', 1210267469, 0, 1, 1, 1, 1, '', 'Wartung', '[color=red:oug2ghg5]Zur Zeit steckt Bt-Technik in Wartungsarbeiten .[/color:oug2ghg5]\nNach den Wartungsarbeiten steht Bt-Technik wieder voll zu euer Verfügung.\nAuch die Sommerpause ist vorbei und wir sind wieder voll und ganz für euch da .\nWir möchten Entschuldigen das in letzter Zeit wenig Betrieb hier war das wird sich jetzt wieder ändern.\n\nBei Problemen Bitte in den Chat kommen\n\nserver: irc.insiderz.de\nport:     6667\nchan:   #bt-technik\n\n\n[url:oug2ghg5]irc://irc.insiderz.de/bt-technik[/url:oug2ghg5]\n\ndas alte board ist unter\n\n[url:oug2ghg5]http://archiv.bt-technik.com/[/url:oug2ghg5]\n\nstyles werden hier auch noch eingefügt wenn ihr fehler findet bitte melden\n\ndanke\n\nmfg', 'd08bf9fdb0a6bf6c3a7c5a29ff595b47', 0, 'Eg==', 'oug2ghg5', 1, 1210267469, '', 0, 3, 0, 1, 0, '', 0);

    Ich hoffe wirklich das mir dabei jemand helfen kann und auch mag und bedanke mich schon mal recht herzlich bei euch.


    MFG
    Saugjunkie




  • #2
    Zitat von Saugjunkie Beitrag anzeigen
    mein Name ist Saugjunkie
    Bitte aller 7 cm ein Komma setzen, das erhöht die Lesbarkeit ungemein.
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      Zitat von akretschmer Beitrag anzeigen

      bitte aller 7 cm ein komma setzen, das erhöht die lesbarkeit ungemein.

      Der war gut.
      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

      Kommentar


      • #4
        Entschuldigt bitte, ist das euer ernst? Das ist nicht hilfreich, sondern arrogant ist das das allgemein level hier? Arrogant zu sein?

        Solltet ihr was konstruktives beitragen gerne, ansonsten unterlasst es bitte in meinen Themen zu antworten und ich dachte das board ist gegen spambots geschützt.

        MFG
        Saugjunkie

        Kommentar


        • #5
          Saugjunkie

          ist das ein Jobangebot? Du schreibst: ...ob mir jemand bei diesem Problem helfen könnte und ein php script erstellt...

          Kommentar


          • #6
            Zitat von Saugjunkie Beitrag anzeigen
            Das ist nicht hilfreich, sondern arrogant ist das das allgemein level hier? Arrogant zu sein?
            Halbwegs korrekte Interpunktion und Groß-/Kleinschreibung sind in einem Forum bzw. allgemein bei schriftlicher Kommunikation auch ein Zeichen von Höflichkeit dem Gesprächspartner gegenüber.
            Wenn deine Problembeschreibung nur „hingerotzt“ aussieht, dann steigert das bei den meisten Leuten vermutlich auch nicht gerade die Bereitschaft, dir weiter zu helfen.
            Bitte denk' da mal drüber nach.

            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar


            • #7
              Das Thema kann als erledigt markiert werden habe es von alleine geschafft.
              Der weg den ich gegangen bin war vielleicht nicht gerade sinnvoll aber er hat geholfen.
              Ich habe die Spalte die was gemeinsam hatten einfach unbenannt so das beide gleich hiesen und dann diesen Befehl drüber gebügelt hat zwar doch nen großen Moment gedauert und ich hab schon angst gehabt jetzt ist die sql kaputt aber dann waren 59.000 Datensaetze bearbeitet und man siehe da meine Anhänge funktionieren nun.

              Code:
              Update phpbb_attachments set phpbb_attachments.topic_id = (SELECT
              topic_id
              FROM
              phpbb_posts
              WHERE
              phpbb_attachments.post_id LIKE phpbb_posts.post_id)

              MFG
              Saugjunkie

              Kommentar


              • #8
                Posting #6 überlesen oder warum rotzt du wieder deinen Text so hin? Kopfschüttel
                Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                Kommentar


                • #9
                  Bitte Aggressions-Level etwas runterfahren, gilt für beide!

                  [MOD: geschlossen]
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar

                  Lädt...
                  X