Ankündigung

Einklappen
Keine Ankündigung bisher.

Aus Tabelle auslesen und in einer anderen Tabelle alles in einer Spalte einfügen?

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

  • Aus Tabelle auslesen und in einer anderen Tabelle alles in einer Spalte einfügen?

    Hallo,ich möchte "freunde" von "pagename" aus Tabelle4 auslesen und alle in Tabelle2 in "an_freunde" in einer Spalte mit trenzeichen einlesen.
    bei meinem PHPcode wird nur 1 eingetragen und wenn ich } am ende des PHPcode setze wird für jeden Freund eine neue Zeile erstelt.
    Ich hoffe mir kann jemannd helfen.
    Gruss Jimmy

    PHP-Code:
     $pdo = new PDO("mysql:dbname=$dbname;host=$address"$dbuser$dbpasswd);
     
    $abfrage "SELECT * FROM $tabelle4  WHERE 'pagename' = '$pagename' ";
    foreach (
    $pdo->query($abfrage) as $row) {
     
    $freunde $row['freunde'] ;
     
    $freunde "|$freunde|";
    echo 
    $freunde;
    }
    $statement $pdo->prepare("INSERT INTO $tabelle2 (an_freund) VALUES (:an_freund)");
    $result $statement->execute(array('an_freund' => $freunde)); 


  • #2
    Zitat von Jimmy2000 Beitrag anzeigen
    alle in Tabelle2 in "an_freunde" in einer Spalte mit trenzeichen einlesen.
    Das solltest du besser lassen, so etwas macht man nicht, widerspricht jeder Normalisierung.

    Nur mal zur Info, wo dein Feler liegt:

    PHP-Code:
    $freunde "";

    foreach (
    $pdo->query($abfrage) as $row)
      
    $freunde .= $row['freunde'] . '|'
    Aber wie schon erwähnt, lass diesen Blödsinn besser sein!
    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


    • #3
      Neben dem, was uha schon sagte, braucht man kein PHP, um das Ziel zu erreichen, das geht rein mit SQL:

      Code:
      test=# create table jimmy2000(id int, wert text);
      CREATE TABLE
      test=*# insert into jimmy2000 values(1,'Das');
      INSERT 0 1
      test=*# insert into jimmy2000 values(2,'ist');
      INSERT 0 1
      test=*# insert into jimmy2000 values(3,'nicht');
      INSERT 0 1
      test=*# insert into jimmy2000 values(4,'zu');
      INSERT 0 1
      test=*# insert into jimmy2000 values(5,'empfehlen');
      INSERT 0 1
      test=*# create table jimmy2000_ziel(t text);
      CREATE TABLE
      test=*# insert into jimmy2000_ziel select string_agg(wert, ' ') from jimmy2000;
      INSERT 0 1
      test=*# select * from jimmy2000_ziel ;
                   t              
      ----------------------------
       Das ist nicht zu empfehlen
      (1 Zeile)
      In produktivem Code das select * auch sein lassen.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        Danke für die schnelle Antwort das mit dem .= hat mir sehr geholfen
        Gruss Jimmy

        Kommentar

        Lädt...
        X