Ankündigung

Einklappen
Keine Ankündigung bisher.

frage zum Abrufen von Datenbankdaten

Einklappen

Neue Werbung 2019

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

  • frage zum Abrufen von Datenbankdaten

    Hallo,

    ich arbeite hauptsächlich mit Flash. Um mit Flash Daten von einer Datenbank herunterzuladen muss man eine PHP Datei laden, die die Daten der Datenbank in XML Format tut. Die XML kann Flash dann öffnen. Kann mir jemand sagen, wie ich ein PHP Script schreibe, dass mir aus einer Tabelle alle Eigenschaften mit Werten in ne XML einbettet?

    Meine Tabelle hat mehrere Spalten, aber nur eine Zeile.

    also aus:

    Prop1 ---- Prop2 ---- Prop3
    Value1 --- Value2 --- Value3

    wird:

    <?xml version="1.0" encoding="utf-8"?>
    <contents>
    <Prop1>Value1</Prop1>
    <Prop2>Value2</Prop2>
    <Prop3>Value3</Prop3>
    </contents>

    Kann mir jemand sagen, wie das geht? Tut mir leid, ich bin ziemlicher PHP - Anfänger.

    Vielen Dank im Vorraus,
    Fellkneul

  • #2
    eine simple schleife...
    schau dir einfach ma be iquaknet oder so das php tut da besonders das wegen mysql und dann solltest du es sehen...i
    Under Construktion

    Kommentar


    • #3
      Bei einer Zeile brauchst du nicht mal ne Schleife. Verbindung zur DB vorausgesetzt:
      PHP-Code:
      $sql = '
          SELECT
              prop1,
              prop2,
              prop3
          FROM
              tabelle';
      $res = mysql_query($sql) or exit(mysql_error());
      $data = mysql_fetch_obj($res);
      $xml = "<?xml version='1.0' encoding='utf-8'?>
          <contents>      
          <Prop1>$obj->prop1</Prop1>
          <Prop2>$obj->prop2</Prop2>
          <Prop3>$obj->prop2</Prop3>
          </contents>";
      Gruss
      L

      Kommentar


      • #4
        Datenbankfunktionen + SimpleXML-Funktionen, siehe php.net

        [edit]
        natürlich nur wenn es um komplexere Datenbanken geht, bei ganz einfachen Sachen tue einfach das was meine Vorgänger bereits sagten

        Kommentar


        • #5
          also was das QuakeNet Tutorial betrifft, das hab ich durchgearbeitet.

          Frage is jetzt: versteh ich das richtig? ich soll mit for und while mehrfache abfragen mache? ich kapiers leider nich. Die Frage ist halt, wie sorge ich dafür das er alles ausließt und er mir auch die Namen der Felder sagt?

          Kommentar


          • #6
            also sry @lazydog: danke für die Antwort. aber ich wollte nen Script erstellen, dass mir automatisch alles ausließt. also ohne das ich angebe welche Properties gespeichert sind. Solch ein ähnliches Script habe ich bereits

            Kommentar


            • #7
              PHP-Code:
              <?php
                  
              include "connect.php";
                  
                  
              $action "SELECT *
                              FROM
                                  main;"
              ;
                  
                  
              $result mysql_query($action) OR die("Error: ".mysql_error());
                  
              $array mysql_fetch_row($result) OR die("Error:".mysql_error());
                  
                  
              $answer "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<contents>\n   <stage_height>".$array[0]."</stage_height>\n   <stage_width>".$array[1]."</stage_width>\n   <grundfarbe>".$array[2]."</grundfarbe>\n   <unterfarbe>".$array[3]."</unterfarbe>\n   <nebenfarbe>".$array[4]."</nebenfarbe>\n   <abstand>".$array[5]."</abstand>\n   <link_height>".$array[6]."</link_height>\n   <link_width>".$array[7]."</link_width>\n   <tweenspeed>".$array[8]."</tweenspeed>\n   <fadespeed>".$array[9]."</fadespeed>\n   <startpage>".$array[10]."</startpage>\n</contents>";
                  
                  echo(
              $answer);
              ?>
              ich würd nur gern die sache so machen, dass cih nich immer array[0] usw schreiben muss, sondern einfach sagen kann

              PHP-Code:
               for($i 0$i anzahl$i++)
              {
                   
              $anwser $anwser."<".$name[$i].">".$val[$i]."</".$name[$i].">\n";

              Kommentar


              • #8
                D.h du kennst die Tabelle gar nicht, bist aber sicher, dass sie nur einen Satz enthält? Dann:
                PHP-Code:
                $sql = "SELECT * FROM tabelle";  // ausnahmsweise
                $res = mysql_query($sql) or exit(mysql_error());
                $data = mysql_fetch_assoc($res);
                $xml = "<?xml version='1.0' encoding='utf-8'?>
                    <contents>\n";
                foreach ($data as $key => $val){
                    $xml .= "<$key>$val</$key>\n";
                }
                $xml .= "</contents>\n";
                Gruss
                L

                Kommentar


                • #9
                  ja genau so. danke, ich werde das sofort testen.


                  vielen Dank!

                  Kommentar


                  • #10
                    vielen Dank,
                    hat optimal funktioniert.

                    Kommentar

                    Lädt...
                    X