PHP script für kopieren und setzen von einträgen in MySQL

  • Also ich habe eine Joomla MySQL-Tabelle (nennen wir sie Tabelle #1) mit usern (zu denen öfters welche hinzukommen). Ebenfalls gibt es eine zweite Tabelle (nennen wir sie Tabelle #2) mit den userdaten für ein anderes Programm.

    Nun möchte ich, wenn neue Mitglieder hinzukommen, einfach ein Script starten, welches dann einen neuen Eintrag für die hinzugekommenen Mitglieder in der Tabelle #2 erstellt. Dabei sollen einige Daten aus Tabelle #1 in die Tabelle #2 integriert werden.

    Also ungefähr so:

    Wenn es die "id" in Tabelle #1 nicht als "profile_id" in Tabelle #2 gibt:

    kopier aus Tabelle #1 das Feld "id" und füge es als Feld "profile_id" in Tabelle #2 ein
    kopier aus Tabelle #1 das Feld "username" und füge es in Tabelle #2 ein
    setz Feld "teilnahme" in Tabelle #2 mit "0"
    setz Feld "gruppe" in Tabelle #2 mit "2"
    setz Feld "dst" in Tabelle #2 mit "0"
    kopier aus Tabelle #1 das Feld "email" und füge es als Feld "user_email" in Tabelle #2 ein

    Das ganze soll halt nur passieren, wenn es den User noch nicht gibt, damit vorhandene Einträge nicht überschrieben werden.

  • naja sinnlos, noch verschieb ichs net..^^

    lieber gast, möchtest du das selber machen oder machen lassen`?
    da wir ein hilfe-forum sind, solltest du fürs erstere zeigen, was du bisher hast und sagen wo dein problem liegt.
    wenn du es als aufgabe abgeben möchtest, solltest du eine gegenleistung bieten.
    quid pro quo :)

    was du suchst ist ein insert-trigger und sollte mit sql alleine realisierbar sein

  • Mein Problem/ meine Frage ist: Wie soll ich das ganze angehen?

  • Danke, das werd ich mir mal anschauen und mich bei Problemen wieder melden :)

  • Hmmm...

    Ich habe ein Problem: Joomla speichert die Passwörter wohl mit MD5 + SALT, für die andere Tabelle benötige ich aber normale MD5 Passwörter. Ist das überhaupt möglich?

  • Hmmm...

    Ich habe ein Problem: Joomla speichert die Passwörter wohl mit MD5 + SALT, für die andere Tabelle benötige ich aber normale MD5 Passwörter. Ist das überhaupt möglich?



    Ich nehme an du brauchst die zweite Tabelle in der die User-Daten gespeichert werden für ein Joomla-unabhängiges Login?
    Dann hast du zwei Möglichkeiten:
    1.) Du findest heraus wie der Joomla-Salt ermittelt wird und bindest den entsprechend in dein eigenes Login ein.
    2.) Du hängst dich in den Joomla-Registrierungsvorgang ein, an die Stelle wo das Passwort noch im Klartext verfügbar ist, und implementierst dort den zusätzlichen Eintrag in deine Tabelle mit einem Passwort-Hash nach deinen Bedürfnissen.

    naja für gewöhnlich wird das salt ans klartext-pw drangehängt und daraus der md5-hash gebildet.. also md5 is md5, egal in welcher tabelle :)



    Nicht zwingend.


    ;)

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

    Einmal editiert, zuletzt von SinnlosS (5. April 2011 um 19:59)

  • Also ich komme irgendwie nicht weiter...

    Bisher hab ich den Teil "fertig":


    INSERT INTO user_profile (profile_id, username, password, join_date, raids_a, raids_c, group_id, dt, tz, user_email)

    SELECT jos_users, user_profile_alt
    FROM jos_users LEFT JOIN user_profile ON jos_users = user_profile.ID_alt
    WHERE (((user_profile_alt) Is Null));


    Alle Spalten von der Tabelle #2 sind im INSERT INTO aufgezählt. Ebenfalls sind in SELECT die zu übernehmenden Daten eingetragen. Aber ich sitz jetzt davor und denk mir: Und jetzt? Help me please!

    In der Tabelle user_profiles soll die profile_id mit der id der jos_users übereinstimmen. Der username soll so übernommen werden, das Passwort auch (das PW-Problem ignorier ich erstmal). Die folgenden Werte join_date, raids_a, raids_c, group_id, dt & tz werden mit festen Werten definiert. Danach muss noch die email aus der jos_users als user_email in die user_profiles integriert werden.

  • Also sowas wie dieses Forum habe ich im meinem Leben noch nie gesehen: ABSOLUTE KATASTROPHE!

    Ich habe mal in anderen Foren rumgefragt, die direkt viel bessere Antworten hatten und nicht erstmal

    naja sinnlos, noch verschieb ichs net..^^

    lieber gast, möchtest du das selber machen oder machen lassen`?
    da wir ein hilfe-forum sind, solltest du fürs erstere zeigen, was du bisher hast und sagen wo dein problem liegt.
    wenn du es als aufgabe abgeben möchtest, solltest du eine gegenleistung bieten.
    quid pro quo

    was du suchst ist ein insert-trigger und sollte mit sql alleine realisierbar sein

    sowas schreiben. Echt schlimm dieses Forum. Nie wieder!

  • Bei so einer Einstellung sage ich für meinen Teil vielen Dank und bitte halt dich auch daran.

    Ein kleines Zitat habe ich noch, zum Thema Verhalten in Hilfe-Foren:

    Zitat


    Sei sozial
    Wir haben kein Interesse daran, kostenlos Deine Skripte zu schreiben oder zu reparieren, da das sehr viel Zeit und Mühe kosten kann. Akzeptiere also, dass sich unsere Motivation eventuell von Deiner unterscheidet und wir daher nur Hilfe zur Selbsthilfe geben. Wir sind nicht die Wohlfahrt und akute Programmierprobleme keine Notlagesituation. Wenn doch, wende Dich bitte mit einem Jobangebot an die Community oder einen Programmierer vor Ort.

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook