Tabelle erweitern und andere Tabelle Hinzufügen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabelle erweitern und andere Tabelle Hinzufügen

    Hi leute!

    Ich habe so zwei Probleme:

    1.)

    Ich habe ein PM system, welches auf Folder basiert, ist ja auch nicht soo tragisch! Nur es ist eben so, das jeder USer einen eigenen Inbox, Outbox, Mod und System Ordner hat!

    hier mal nen Bildlicher ausschnitt vom phpmyadmin:



    Ich würde jetzt aber gerne jedem User per owner eine weitere Tabelle mit dem Namen: BLACKJACK geben!

    Nur wie kann ich sowas machen?

    Sowas wie

    PHP-Code:
    INSERT INTO `pmfolders` ( `id` , `parent` , `owner` ,
     `
    name` , `sortfield` , `sortorder` , `prunedays` )
    VALUES (
    '1''0''547''__blackjack''added''DESC''0'
    ); 
    Hab ich schon raus, ich würde aber gerne für jeden Owner for each Owner so ungefähr ;-)

    Ich weiß aber leider noch nicht wie das geht



    2.)

    Ich habe eine Tabelle pic_urls

    wo 5 Felder für URLS drinn stehen, ich würde aber gerne eine weitere Tabelle einfügen

    also pic_url5

    Auch da weiß ich nicht wie das geht

    wäre klasse wenn wer mir helfen könnte!!

    mfg moinmoin666

  • #2
    zu 1)
    Sofern du eine Tabelle mit allen Benutzern hast, lass die doch mit php alle durchlaufen und dann per insert mit der ownerid

    zu 2)
    MySQL Man: CREATE TABLE

    Kommentar


    • #3
      1.)

      Jaein, wäre nich das ding, nur ich kann kein mysql! deswegen wollte ich fragen wie der php befehl dafür wäre.

      2.)

      Bissel schlecht ausgedrückt! Sollte nur nen table erweiterung der Tabelle sein, keine ganz neue

      Kommentar


      • #4
        PHP-Code:
        $sql mysql_query("SELECT id FROM users") or die(mysql_error());
        while (
        $result mysql_fetch_row($sql)) {
           
        $insert "INSERT INTO `pmfolders` ( `id` , `parent` , `owner` ,
         `name` , `sortfield` , `sortorder` , `prunedays` )
              VALUES (
        '1', '0', '"
        .$result[0]."', '__blackjack', 'added', 'DESC', '0'
        )"
        ;
           
        mysql_query($insert) or die(mysql_error());

        zu 2) Da du phpMyAdmin benutzt sollte das doch kein Problem darstellen oder?

        Ansonsten:
        PHP-Code:
        CHANGE TABLE `pic_urlsADD `pic_url5VARCHAR(255
        1) funzt natürlich nur mit php. Ob das mit reinem mySQL auch lösbar ist, weiß ich grad nicht...
        Zuletzt geändert von ZombieChe; 21.03.2007, 17:11.

        Kommentar


        • #5
          1) funzt natürlich nur mit php. Ob das mit reinem mySQL auch lösbar ist, weiß ich grad nicht...
          INSERT INTO pmfolders (id, parent, owner, name, sortfield, sortorder, prunedays) SELECT '1', '0', id, '__blackjack', 'added', 'DESC', '0' FROM users
          oder so

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Nen dickes dankeschön @ZombieChe!

            Das Prob:

            Duplicate entry '1' for key 1

            da mache diesen __blackjack schon haben (leider so um die 100 User, also alle die sich vor einer Woche angemeldet haben )

            kann ich die ihrgedwie ausschließen, die das nicht haben?

            Außerdem


            PHP-Code:
            Fehler

            SQL
            -Befehl:
            CHANGE TABLE `pic_urlADD `pic_url5VARCHAR255 )

            MySQL meldetDokumentation
            #1064 - You have an error in your SQL syntax; check the manual
             
            that corresponds to your MySQL server version for the right syntax
             to 
            use near 'TABLE `torrents` ADD `pic_url5` VARCHAR(255)' at line 1 
            Zuletzt geändert von moinmoin666; 21.03.2007, 20:18.

            Kommentar


            • #7
              whoops....hab mich in der Syntax geirrt (passiert mir irgendwie häufiger)...
              Es muss natürlich 'ALTER TABLE' und nicht 'CHANGE TABLE' heißen *schande über mich*...

              bei der INSERT Anweisung bin ich mir nicht sicher wie deine id Spalte angelegt ist. Sollte es einfach nur eine fortlaufende Nummerierung mit auto_increment sein (wie üblich) lass das Ändern der id Spalte einfach weg. Ansonsten musst du diese Spalte nochmal erklären...
              Zuletzt geändert von ZombieChe; 21.03.2007, 22:42.

              Kommentar


              • #8
                Original geschrieben von ghostgambler
                INSERT INTO pmfolders (id, parent, owner, name, sortfield, sortorder, prunedays) SELECT '1', '0', id, '__blackjack', 'added', 'DESC', '0' FROM users
                oder so
                INSERT INTO ... SELECT ... FROM users a LEFT JOIN pmfolders b ON a.id = b.owner WHERE b.owner IS NULL
                falls das geht ^^,~

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  Nein eleider nicht

                  PHP-Code:
                  Fehler

                  SQL
                  -BefehlDokumentation

                  INSERT INTO pmfolders
                  idparentownernamesortfieldsortorder,
                   
                  prunedays )
                  SELECT '1''0'id'__blackjack''added''DESC''0'
                  FROM users a
                  LEFT JOIN pmfolders b ON a
                  .id b.owner
                  WHERE b
                  .owner IS NULL

                  MySQL meldet
                  Dokumentation
                  #1052 - Column 'id' in field list is ambiguous 
                  kannste vllt damit was anfangen?

                  oder wenn ich
                  PHP-Code:
                  INSERT INTO pmfoldersidparentownernamesortfieldsortorder,
                   
                  prunedays )
                  SELECT '1''0''id''__blackjack''added''DESC''0'
                  FROM users a
                  LEFT JOIN pmfolders b ON a
                  .id b.owner
                  WHERE b
                  .owner IS NULL 
                  mache kommt wieder:

                  Duplicate entry '1' for key 1

                  es ist aber auch verhexxt!
                  Zuletzt geändert von moinmoin666; 24.03.2007, 12:17.

                  Kommentar


                  • #10
                    a.id

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      sorry, das sagt mir grad garnicht

                      Kommentar


                      • #12
                        Ich weiß es ist immer doof zu betteln, aber ich bin echt verzweifelt,
                        habe schon bei über 50 Leute die Tabelle Per Hand erstellt
                        Und es will nicht auf hören!
                        Es wäre echt klasse, wenn wer mir sagen könnte

                        wie ich

                        PHP-Code:
                        INSERT INTO pmfoldersidparentownernamesortfieldsortorder,
                         
                        prunedays )
                        SELECT '1''0''id''__blackjack''added''DESC''0'
                        FROM users 
                        Um Model, das er die doplleten überspringt, entstehen soll der __blackjack ordner für jede ID

                        ihrt seid doch meine letzte Hoffnung!

                        Kommentar


                        • #13
                          statt id a.id ... meine Güte, beschäftige dich doch einfach mal mit dem Thema...

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            PHP-Code:
                            Fehler

                            SQL
                            -BefehlDokumentation

                            INSERT INTO pmfolders
                            idparentownernamesortfieldsortorderprunedays )
                            SELECT '1''0'a.id'__blackjack''added''DESC''0'
                            FROM users a
                            LEFT JOIN pmfolders b ON a
                            .id b.owner
                            WHERE b
                            .owner IS NULL

                            MySQL meldet
                            Dokumentation
                            #1062 - Duplicate entry '1' for key 1 
                            Ich glaub das geht einfach nicht..... aber naja... trotzdem danke für die Hilfe, ich glaube ich lasse es halt mit dem Ordner

                            Kommentar


                            • #15
                              Dabei gibt dir doch MySQL ne bombeklare Ansage...tztztz, lass doch die id Spalte einfach weg, falls sie auf auto_increment steht, oder mach halt das UNIQUE in phpmyadmin weg. Klarer gings doch echt nich...

                              Kommentar

                              Lädt...
                              X