XML File nur geänderter Datensätze erzeugen

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

  • XML File nur geänderter Datensätze erzeugen

    Hallo Allerseits,
    komme an die Grenzen meiner bescheidenen PHP Erfahrungen und weiss einfach nicht weiter, obwohl der Ansatz eigentlich ganz einfach wäre. Bin schon froh, dass ich eine einfache Abfrage irgendwie hinbekommen habe.

    Ich möchte eine XML Datei erzeugen, die nur geänderte Datensätze ausgibt und nicht die ganze Datenbank. Da ich nach hundert Versuchen eigentlich überhaupt keinen Plan habe, wo ich da ansetzen muss.

    Hier der Code, der für die Gesamtabfrage verantwortlich ist:
    PHP-Code:
    <?php

    /**
     * @author Basisplanbasis.de
     * @copyright 2008
     */
    header("Content-Type: application/xml; charset=ISO-8859-1");
    ?>
    <?php
    // 1. Verbindung zur Datenbank aufbauen: -------------------------------------------------------------
    $hostname "localhost";
    $username "xxx";
    $password "xxx";
    if(!
    $conn mysql_pconnect($hostname$username$password)) {
        die(
    "Verbindung zur Typo3 Datenbank konnte nicht hergestellt werden. Errorcode: ".mysql_error());
    }
    else {
        
    //echo("Die Verbindung zur Datenbank wurde erfolgreich hergestellt.<br/>");
    }
    // ----------------------------------------------------------------------------------------------------

    // 2. Datenbank auswählen: ----------------------------------------------------------------------------
    $db "kundentypo3";
    if(!
    mysql_select_db($db)) {
        die(
    "Die Datenbank $db konnte nicht ausgewaehlt werden. Errorcode: ".mysql_error());
    }
    else {
        
    //echo("Die Datenbank $db wurde erfolgreich ausgewaehlt.<br/>");
    }
    // ----------------------------------------------------------------------------------------------------

    // 3. SQL-Statement und Abfrage erzeugen und nur  geänderte Datensätze ausgeben: -------------------------------------------------------------
    $sql "SELECT * FROM fe_users";
    if(!
    $query mysql_query($sql)) {
        die(
    "Das SQL-Statement konnte nicht durchgefuehrt werden. Errorcode: ".mysql_error());
    }
    else {
        
    //echo("Das SQL-Statement:<br/>$sql<br/>wurde erfolgreich abgesetzt.");
    }
    // ----------------------------------------------------------------------------------------------------

    // 4. Daten auslesen und ausgeben: --------------------------------------------------------------------

    echo('<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>');
    ?>
    <XML-Kundenliste>
        <Kunden>
        <?php
        
    while($theData mysql_fetch_array($query)) {

            echo(
    "<Kunde>");
            echo(
    "<Behandlerid>".$theData["behandler_id"]."</Behandlerid>");
            echo(
    "<Vorname>".$theData["first_name"]."</Vorname>");
            echo(
    "<Nachname>".$theData["last_name"]."</Nachname>");
            echo(
    "<Anrede>".$theData["anrede"]."</Anrede>");
            echo(
    "<Titel>".$theData["last_name"]."</Titel>");
            echo(
    "<Firma>".$theData["company"]."</Firma>");
            echo(
    "<Adresse>".$theData["address"]."</Adresse>");
            echo(
    "<PLZ>".$theData["zip"]."</PLZ>");
            echo(
    "<Ort>".$theData["city"]."</Ort>");
            echo(
    "<Telefon>".$theData["telephone"]."</Telefon>");
            echo(
    "<Fax>".$theData["fax"]."</Fax>");
            echo(
    "</Kunde>");
        }
        
    ?>
        </Kunden>
    </XML-Kundenliste>
    lieben Dank für Eure Mühen schon mal im Vorraus,
    liebe Grüsse,
    Matthias (drpunk)
    www.basisplanbasis.de

  • #2
    Naja, es muss ja irgendwo ein Kriterium geben, woran sich erkennen lässt, dass ein Datensatz geändert wurde. Das ist aus deinem Quelltext und auch aus deinem Post nicht ersichtlich.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Ei - sorry - natürlich:

      es gibt da noch die Tabelle 'crdate' - die kommt jetzt im XML output gar nicht vor.
      Es müsste nach 'crdate' ausgelsen werden.
      www.basisplanbasis.de

      Kommentar


      • #4
        Dann speicherst du irgendwo, wann du das letzte mal ausgelesen hast und holst dir nur die Einträge, bei denen crdate größer ist als der Zeitpunkt des letzten auslesen.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          hui - kling einfacht.

          aber wie programmiert man sowas in php? leider keinen plan
          www.basisplanbasis.de

          Kommentar


          • #6
            Das meiste davon ist SQL. Wie du ausliest und wie du einfügst wirst du sicherlich wissen. Ansonsten solltest du dir evtl. entsprechende Grundlagen anarbeiten. Fertigen Code bekommst du hier nicht. Generell passt der Thread hier eher in Projekthilfe. Da ist es auch schon wahrscheinlicher, dass man dir konkret Code gibt.

            OffTopic:
            Ich finde es auch immer wieder traurig, dass offensichtliche kommerzielle Anbieter hier kostenlosen Support wollen
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              hupsti - ich wollte Dich nicht verärgern und auch keine Vorurteile erzeugen...

              Das mit den Grundlagen, da gebe ich Dir recht, dass habe ich ja auch gleich zu anfang bemerkt. Und daher könnte sich auch der Schluss ergeben, dass sich da kommerziell eh nicht viel machen ließe... *lol*

              Ich bin php-mäßig ein absoluter Laie und daher NICHT kommerziell unterwegs in dieser Hinsicht. - (das sollen die dann machen, die sich damit auskennen) - das würde sich bei mir daher gar nicht lohnen *lol*

              In meiner php "naivität" habe ich mir eben eingebildet, dass es sich hier um eine einfache if klausel handeln könnte - aber gut - dann lass ich dass sein, eine einfache Abfrage tut es auch.

              Trotzdem danke für Deine Mühen,
              liebe Grüsse,
              Matthias
              www.basisplanbasis.de

              Kommentar

              Lädt...
              X