Tabellenfelder auslesen.... Newbee Problem

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

  • #16
    Hau mal für die DB-Connection meinen Text rein:

    Code:
    // Datenbank-Konfiguration
    $dbhost= "";
    $dbuser= "";
    $dbpass= "";
    $dbname= "";
    
    
    // Verbinden mit Datenbank
    $conn = @mysql_connect( "$dbhost", "$dbuser", "$dbpass");
    if (!$conn) {
    	die ("Unable to connect to database server...$dbhost");
    	}
    
    
    // Datenbank wählen
    $db = @mysql_select_db( "$dbname" );
    if (!$db) {
    	die ( "Unable to select database...$dbname");
    	}

    Kommentar


    • #17
      Das nächste Problem: Du hast die geschwungenen Klammern beim if vergessen
      Code:
      if (mysql_select_db("ZZZZZZ", $conn)) { 
         echo("Datenbankserver bereit!"); 
      } else {
         die("FEHLER!");
      }

      Kommentar


      • #18
        Ich sach ja, nehm mal oben genannten code. der funzt!

        Kommentar


        • #19
          *räusper*

          ähhhh..

          War mein Fehler....
          Habe eine Variable falsch benannt.

          Muß so lauten: FROM orders_products WHERE orders_id = $rechnungsnummer";

          Nun läuft das auch.
          Das kleine Skript, daß die Datenbankverbindung prüft, habe ich nun entfernt.

          Nun habe ich noch eine Frage.

          Wenn ich nun die ausgelesenen Daten Zeilenweise darstellen will, wie muß ich das machen???
          Mit "echo $name[$counter];" funzt das nicht...

          Kommentar


          • #20
            Machs einmal so:
            Code:
            <? 
            include("mysqldb.php"); 
            print "<head><title>Rechnungsansicht</title></head>";
            include("rechnungsansch.php"); 
            $conn = mysql_connect("localhost","XXX","YYY"); 
            mysql_select_db("ZZZZZZ", $conn); 
            $query = "SELECT products_name, products_quantity, products_price FROM orders_products WHERE orders_id = $rechnungsnummer"; 
            $result = mysql_query($query,$conn); 
            $counter = 0;
            while ($zeile = mysql_fetch_array($result)) {
            	$counter++; 
            	$name[$counter] = $zeile["products_name"]; 
            	$anzahl[$counter] = $zeile["products_quantity"]; 
            	$preis[$counter] = $zeile["products_price"]; 
            	// echo("$name[$counter]<br>$anzahl<br>[$counter]<br>$preis[$counter]"); 
            } 
            ?>
            Wenn "orders_id" numerisch ist wirds hoffentlich funzen.

            [Editiert von hand am 04-01-2002 um 23:06]

            Kommentar


            • #21
              Dein gepostetes Skript kann gar nicht gefunzt haben. Hinter der Schleife war ein ; anstatt {
              Nimm mal meinen Code vielleicht erübrigen sich dann die anderen Probleme.

              Kommentar


              • #22
                das mit dem ; hab ich weiter oben ja auch schon gesagt. hatte mich auch gewundert. aber die { war eine zeile tiefer und das ist vollkommen okay.

                aber zu deinem echo:
                Code:
                echo "$name[$counter]";

                Kommentar


                • #23
                  hmm,

                  Original geschrieben von hand
                  while ($zeile = mysql_fetch_array($result));

                  ",mysql_assoc" aus o.a. Zeile entfernen
                  Das ist Sinnlos und verbraucht nur Ressourcen, MYSQL_ASSOC ist dazu da das $zeileholen ein assoziatives Array wird, lässt du MYSQL_ASSOC weg werden wie bei MYSQL_BOTH sowohl ein assoziatives Array als auch ein Numerisches Array erzeugt, aber da nur ein assozitives Array weiterverwendet wird ist es sinnvoll MYSQL_ASSOC mit an zu geben.

                  Denn der Fehler lag an dem ; hinter der Whileschleife, denn durch das Semikolon ist der Whilebehl schon abgeschlossen und er geht garnichtmehr in den { Anweissungsblock } hinein.
                  Original erstellt von Börnie :

                  Wenn ich nun die ausgelesenen Daten Zeilenweise darstellen will, wie muß ich das machen???
                  Mit "echo $name[$counter];" funzt das nicht...
                  echo $name[$counter] sollte gehen, warum denn nicht ?

                  Kommentar


                  • #24
                    Zeilenweise Ausgabe:
                    Code:
                    ....
                    print "<table><tr><th>Produkt</th><th>Anzahl</th><th>Preis</th></tr>";
                    while ($zeile = mysql_fetch_array($result)) { 
                    	print "<tr><td>$zeile["products_name"]</td>"; 
                    	print "<td>$zeile["products_quantity"]</td>"; 
                    	print "<td>$zeile["products_price"]</td></tr>"; 
                    }
                    print "</table>"; 
                    ...

                    Kommentar


                    • #25
                      So,

                      erstmal 1000 Dank an alle Helferlein!

                      Aber es geht noch immer nicht...

                      Hier nun mein quelltext:

                      Code:
                      <?php
                         
                        include("mysqldb.php");
                        
                       ?>
                       <head><title>Rechnungsansicht</title></head>
                       
                       <?php
                      // hier wird nun die Anschrift ausgegeben
                      include("rechnungsansch.php");
                      // hier werden die Rechnungsdaten ausgegeben
                      $conn = mysql_connect("localhost","username","passwd");
                      if(!$conn) die("Keine Verbindung zum Datenbankserver.");
                      if (mysql_select_db("dbname", $conn)) {
                         echo("");
                      } else {
                      die("FEHLER!");
                      }
                      $query = "SELECT products_name, products_quantity, products_price FROM orders_products WHERE orders_id = $rechnungsnummer"; 
                      $result = mysql_query($query,$conn);
                      //dann mit einer Whileschleife alles in ein Array lesen :
                      $counter= 1;
                      while ($zeile = mysql_fetch_array($result,mysql_assoc)){
                      
                       $name[$counter] = $zeile["products_name"];
                       $anzahl[$counter] = $zeile["products_quantity"];
                       $preis[$counter] = $zeile["products_price"];
                       echo $name[$counter];
                      $counter++;
                      }
                      $counter--;
                      
                      echo("<br>Rechnungsnummer: 2002$rechnungsnummer")
                      ?>
                      der befehel echo $name[$counter] sollte doch wohl irgend etwas bewirken, oder??


                      Ich sollte wohl doch lieber bei meinem CASIO Tischrechner bleiben....

                      Kommentar


                      • #26
                        Und nun nur für mich. Entferne bitte das ",mysql_assoc" und dann funzt es - wetten?

                        oder ",MYSQL_ASSOC" in Großbuchstaben schreiben, dann funzt es auch.

                        [Editiert von hand am 05-01-2002 um 00:06]

                        Kommentar


                        • #27
                          Ich habe das MYSQL_ASSOC nun entfernt und.....
                          TATAAAA!

                          Es funktioniert!

                          Vielen Dank an Euch alle!

                          Ist ein cooles Forum!

                          THX!!

                          Kommentar


                          • #28
                            Fazit: Ich würde vorschlagen sich zu entscheiden:

                            Entweder
                            mysql_fetch_assoc()
                            oder
                            mysql_fetch_array()
                            zu verwenden.

                            mysql_fetch_array($result,MYSQL_ASSOC) entspricht mysql_fetch_assoc($result) aber man kann eben kleine Fehler dabei machen (case sensitive) und syntaktisch ist es nicht so schlüssig lesbar (Wartbarkeit)

                            Kommentar


                            • #29
                              hmm,

                              leider ist mir der Befehl mysql_fetch_assoc nicht bekannt, und im php Manual steht er auchnicht drin, wo kommt er also her ? Kompatibel kann er nicht sein, mysql_fetch_array($foo,MYSQL_ASSOC) dagegen ist definitiv nix besonderes sonder der Standard würd ich sagen !

                              Kommentar


                              • #30
                                Siehe: http://www.php.net/manual/en/functio...etch-assoc.php
                                mysql_fetch_assoc() is equivalent to calling mysql_fetch_array() with MYSQL_ASSOC for the optional second parameter.
                                Hauptsache es funzt.

                                [Editiert von hand am 05-01-2002 um 08:36]

                                Kommentar

                                Lädt...
                                X