Variablen aus dem query

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

  • Variablen aus dem query

    Alle Einträge des querys weitergeben und nicht nur Einen!

    Derzeit klappt es mit dem ersten Echo das alles wiedergegeben wird.
    Wenn ich das Ergebnis aber in eine Variable stecke, hab ich nur mehr einen Eintrag davon.

    Ich muss aber alle Einträge in die Variable stecken und kenne den Grund nicht warum es nicht richtig funktioniert.

    PHP-Code:
    <?php
    error_reporting
    E_ALL );
    $HOST "localhost";
    $ID "xx1";
    $PW "xx2";
    $DB1 "xx3";
    $conn_id mysql_connect($HOST,$ID,$PW);
    mysql_select_db($DB1,$conn_id) or die ("Konnte keine Verbindung zur Datenbank herstellen");


    $sql "select ArtNumber from $tabelle order by ArtNumber ";
    $result mysql_query($sql) OR die(mysql_error());
    while (
    $row mysql_fetch_assoc($result))
    echo 
    $row['ArtNumber']."\n";  // Dieses Echo zeigt alle Einträge dieser Spalte an! 
    //So würde ich es in der Variable brauchen.
    $shop_artikelnr $row['ArtNumber']."\n";  // Hier möchte ich das Ergebnis in eine Variable stecken!

    mysql_free_result($result); 

    echo  
    "$shop_artikelnr";  // Und hier testweise diese Variable wiedergeben!
    //Aber es wird nur ein ergebnis gezeigt und nicht wie bei 
    //den anderen Echo alle Einträge dieser Spalte.

    ?>
    Hier nur ne Übersicht der Tabelle:

    `ArtNumber` varchar(80) NOT NULL default '',
    `Title` varchar(80) NOT NULL default '',
    `Description_short` mediumblob NOT NULL,
    `DisplayPrice` varchar(80) NOT NULL default '',
    `Img_url` varchar(80) NOT NULL default '',
    `DeepLink1` varchar(250) NOT NULL default '',
    `ProductCategoryID` varchar(80) NOT NULL default '',
    `ProductCategoryName` varchar(80) NOT NULL default '',
    `PricePrefix` varchar(80) NOT NULL default '',
    `Price` varchar(80) NOT NULL default '',
    `PriceSuffix` varchar(80) NOT NULL default '',
    `Currency_Symbol` varchar(80) NOT NULL default '',
    `Description` mediumblob NOT NULL,
    `Img180_url` varchar(80) NOT NULL default ''
    ) TYPE=MyISAM;
    Zuletzt geändert von YourHammer; 16.05.2006, 23:38.
    PR4 Webkatalog

  • #2
    Hallo,

    die Problembeschreibung bitte nächstes mal als normalen Text hier posten - die Komments im PHP-Code bitte nur zur unterstüzung nutzen.

    suchst du sowas?

    PHP-Code:
    $shop_artikelnr .= $row['ArtNumber']."\n"
    der Punkt vorm =-zeichen - teste mal.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Fehler:

      Notice: Undefined variable: shop_artikelnr in /home/www/web1/html/123.php on line 53

      PHP-Code:
      $shop_artikelnr .= $row['ArtNumber']."\n"
      PR4 Webkatalog

      Kommentar


      • #4
        gut - und der Unterschied zu der Zeile die ich dir gepostet hab ist welcher?

        EDIT
        PHP ist streng eingestellt bei dir - setz mal die Variable vor deiner while-Schleife.
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Sry wegen EDIT!

          Notice: Undefined variable: row in /home/www/web1/html/123.php on line 51

          Notice: Undefined variable: shop_artikelnr in /home/www/web1/html/123.php on line 51

          Hab Root auf meinen Server wenn nötig.
          PR4 Webkatalog

          Kommentar


          • #6
            mach mal ganz einfach
            PHP-Code:
            $shop_artikelnr  ""
            VOR der while-Schleife - ist nur ein Hinweis dass die Variable noch nicht definiert wurde - was in PHP nicht Pflicht ist (die Notices könnte man in der php.ini abstellen, aber machs ned und programmier stattdessen sauber )
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Das war das Problem.

              Das Script ist etwas grösser und ich häng seit 14Std an den blöden Fehler.

              Danke fürs Zeit nehmen!
              PR4 Webkatalog

              Kommentar


              • #8
                Original geschrieben von YourHammer
                Das Script ist etwas grösser und ich häng seit 14Std an den blöden Fehler.
                Das ist eindeutig zu lang
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  So mein Problem ist wieder rum das er jeweils nur einen Eintrag macht und dann aufhört.


                  Zusätzlich trägt er bei den "AAAHIERAAA" gekennzeichneten Stellen mehrere Einträge rein obwohl nur einer rein gehört und die anderen schon in die nächsten. Aber das ist ein Neben Effekt denk ich.

                  Danke im vorraus!

                  PHP-Code:
                  $sql "select ArtNumber from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $shop_artikelnr  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['ArtNumber']."\n";
                  $shop_artikelnr .= $row['ArtNumber']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$shop_artikelnr";
                  ////Artikel Nummer vom Shop auslesen Ende

                  ////Artikel Titel vom Shop auslesen Start
                  $sql "select Title from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $titel  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Title']."\n";
                  $titel .= $row['Title']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$titel";
                  ////Artikel Titel vom Shop auslesen Ende

                  ////Artikel Beschreibung auslesen Start
                  $sql "select Description_short from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $beschreibungk  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Description_short']."\n";
                  $beschreibungk .= $row['Description_short']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$beschreibungk";
                  ////Artikel Beschreibung auslesen Ende

                  ///Artikel Preis auslesen Start
                  $sql "select DisplayPrice from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $preis_euro  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['DisplayPrice']."\n";
                  $preis_euro .= $row['DisplayPrice']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$preis_euro";
                  ////Artikel Preis auslesen Ende

                  ////Artikel Img Url auslesen Start
                  $sql "select Img_url from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $image_url  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Img_url']."\n";
                  $image_url .= $row['Img_url']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$image_url";
                  ////Artikel Img Url auslesen Ende

                  ////Artikel Affili Link auslesen Start
                  $sql "select DeepLink1 from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $link  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['DeepLink1']."\n";
                  $link .= $row['DeepLink1']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$link";
                  ////Artikel Affili Link auslesen Ende

                  ////Artikel Kat auslesen Start
                  $sql "select ProductCategoryID from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $cat_idshop  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['ProductCategoryID']."\n";
                  $cat_idshop .= $row['ProductCategoryID']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$cat_idshop";
                  ////Artikel Kat auslesen Ende

                  ////Artikel Kat Name auslesen Start
                  $sql "select ProductCategoryName from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $cat_nameshop  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['ProductCategoryName']."\n";
                  $cat_nameshop .= $row['ProductCategoryName']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$cat_nameshop";
                  ////Artikel Kat Name auslesen Ende

                  ////Artikel prefix auslesen Start
                  $sql "select PricePrefix from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $laa1  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['PricePrefix']."\n";
                  $laa1 .= $row['PricePrefix']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$laa1";
                  ////Artikel prefix auslesen Ende

                  ////Artikel Preis auslesen Start
                  $sql "select Price from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $preis  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Price']."\n";
                  $preis .= $row['Price']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$preis";
                  ////Artikel Preis auslesen Ende

                  ////Artikel Preis suffix auslesen Start
                  $sql "select PriceSuffix from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $laa2  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['PriceSuffix']."\n";
                  $laa2 .= $row['PriceSuffix']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$laa2";
                  ////Artikel Preis suffix auslesen Ende

                  ////Artikel Preis zeichen auslesen Start
                  $sql "select Currency_Symbol from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $euro  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Currency_Symbol']."\n";
                  $euro .= $row['Currency_Symbol']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$euro";
                  ////Artikel Preis zeichen auslesen Ende

                  ////Artikel Beschreibung auslesen Start
                  $sql "select Description from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $beschreibungg  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Description']."\n";
                  $beschreibungg .= $row['Description']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$beschreibungg";
                  ////Artikel Beschreibung auslesen Ende

                  ////Artikel Bilder g auslesen Start
                  $sql "select Img180_url from $tabelle order by ArtNumber ";
                  $result mysql_query($sql) OR die(mysql_error());
                  $image_url1  "";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  //echo $row['Img180_url']."\n";
                  $image_url1 .= $row['Img180_url']."\n";
                  }
                  mysql_free_result($result); 
                  //echo  "$image_url1";
                  ////Artikel Bilder g auslesen Ende


                  $sql "INSERT INTO $tabelle1 (xx, xxx, xxx, xxx, xxx, kgal, igal, top, high, 
                  date, AAAHIERAAA, xxx, xx, xx, xx, xx5, xx, cxx, xxd, rxxe, noxice, aucxe, 
                  zusxpe, location, locaxp, shixng, intxnal, exs, cxd, cloxd, quxy, suxd, pxws, 
                  paxer, gxe, ruxe, ixid, cax2, sxzi, uxle, loxty, preisfall, vixtion, bidxer, mxice, privxtion, trade)
                  VALUES ('" 
                  $artikelnr "', '" $mitgliederidshop "', '" $titel "', '" $dienull "'
                  , '" 
                  $dienull "', '" $dienull "', '" $dienull "', '" $dienull "', '" $dienull "'
                  , '" 
                  $datumstart "', '" $AAAHIERAAA "', '" $laaa "', '" $laaa "', '" $laaa "'
                  , '" 
                  $laaa "', '" $laaa "', '" $laaa "', '" $katnr "', '" $preis "', '" $dieenull "'
                  , '" 
                  $preis "', '" $auktiont "', '" $zustand "', '" $ortartikel "', '" $plz "'
                  , '" 
                  $dienull "', '" $internat "', '" $datumende "', '" $dieenull "'
                  , '" 
                  $dienull "', '" $dieeins "', '" $dienull "', '" $dienull "', '" $dieeins "'
                  , '" 
                  $garantie "', '" $ruckna "', '" $dieenull "', '" $dienull "', '" $dienull "'
                  , '" 
                  $untertitel1 "', '" $stadt12 "', '" $dieenull "', '" $dienull "'
                  , '" 
                  $dienull "', '" $dieenull "', '" $dienull "', '" $dienull "');";
                  $result mysql_query($sql) OR die(mysql_error());


                  $sql "INSERT INTO $tabelle2 (id, desn, vddn, rdddrt, dsn, pdnt, fesr, feark, zstz
                  , udng, vsg, psto, veseis, cadption, sedp) 
                  VALUES ('" 
                  $artikelnr "', '" $beschreibungg "'
                  , '" 
                  $text1 "', '" $text2 "', '" $text3 "', '" $zahlart "', '" $dienull "', '" $dienull "'
                  , '" 
                  $zahlungshinweis "', '" $weisung "', '" $verpackung "', '" $porto "'
                  , '" 
                  $versicherung "', '" $laaa "', '" $sellerip "');";
                  $result mysql_query($sql) OR die(mysql_error()); 


                  Zuletzt geändert von YourHammer; 17.05.2006, 00:33.
                  PR4 Webkatalog

                  Kommentar


                  • #10
                    mysql_real_escape_string?

                    Kommentar


                    • #11
                      Re: Variablen aus dem query Edit: in DB schreiben

                      Wenn man seinen Code ordentlich formatiert, macht man es sich und anderen (uns) leichter!
                      PHP-Code:
                      while ($row mysql_fetch_assoc($result))
                          echo 
                      $row['ArtNumber']."\n";
                      $shop_artikelnr $row['ArtNumber']."\n"
                      $shop_artikelnr gehört nicht mehr zur While-Schleife, weswegen auch ein .= statt = nichts bringt.

                      Darf ich vorstellen: { und sein Kumpel }.
                      Schau mal, wo die beiden am liebsten rumhängen.
                      PHP-Code:
                      while ($row mysql_fetch_assoc($result)) {
                          echo 
                      $row['ArtNumber']."\n";
                          
                      $shop_artikelnr .= $row['ArtNumber']."\n";
                      }
                      echo 
                      $shop_artikelnr

                      Kommentar


                      • #12
                        Hat nichts daran geändert.

                        Der Code war leider so lang das ich ihn hier grob unterteilen musste. Sry.
                        PR4 Webkatalog

                        Kommentar


                        • #13
                          $sql = ...
                          echo $sql;
                          $result = ...

                          Ausgabe? (Bitte nicht posten, ist bestimmt tierisch lang.)

                          Kommentar


                          • #14
                            $sql = "INSERT INTO $tabelle2 :

                            gibt genau einen Insert aus und alle werte. Aber keine weiteren


                            $sql = "INSERT INTO $tabelle1:

                            Und hier macht er auch ein Insert aber bei 3 Spalten will er gleich alle Ergebnisse reinschreiben. Die würden zwar in der richtigen Spalte sein aber sollten in den nächsten Zeile stehen.

                            Aber auch wieder nur ein Insert.
                            PR4 Webkatalog

                            Kommentar


                            • #15
                              Dein Code ist mir etwas zu groß, wir versuchen es mal mit einem Beispiel. (current() und next() dienen als Ersatz für mysql_fetch_*() und $array ist quasi die DB.)

                              So machst du es zur Zeit:
                              PHP-Code:
                              <?php
                              $array 
                              = array(123);
                              while (
                              $row current($array)) {
                                  
                              next($array);
                                  
                              $var .= $row;
                                  echo 
                              "row=$row, var=$var<br>";
                              }
                              $sql "INSERT INTO table (col1, ...) VALUES ('$var', ...";
                              echo 
                              $sql;
                              ?>
                              So willst du es eigentlich haben:
                              PHP-Code:
                              <?php
                              $array 
                              = array(123);
                              while (
                              $row current($array)) {
                                  
                              next($array);
                                  
                              $var[] = $row;
                                  echo 
                              "row=$row, var=array(".implode(', '$var).")<br>";
                              }

                              $sql "INSERT INTO table (col1, ...) VALUES";
                              foreach (
                              $var as $val) {
                                  
                              $sql .= " ('$val', ...),";
                              }
                              $sql substr($sql0, -1);
                              echo 
                              $sql;
                              ?>

                              Kommentar

                              Lädt...
                              X