datenbankausgabe per link und formatiert

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

  • datenbankausgabe per link und formatiert

    ich arbeite zur zeit an einem projekt und habe folgendes problem:
    es gibt eine unmenge von links zu einzelnen orten (ca.300), die dann jeweils auf einer eigenen
    seite im gestaltungsraster angezeigt werden sollen.
    ich suche nun eine möglichkeit einer db anbindung (php/mysql), welche aus den vorgegebenen html links
    die entsprechenden datensätze aus der db holt und formatiert auf einer seite wieder ausgibt.

    ich habe zu demozwecken mal unter http://www.literarisch-reisen-rlp.de in der rubrik "Orte" mein vorhaben
    statisch dokumentiert, doch wie funktioniert so etwas dynamisch?

    (wie lege ich die datensätze und text an dass die formatierung erhalten bleibt, wie lese ich die hyperlinks aus, und, und, und...)

    mfg, crisdoe

  • #2
    ? Irgendwie verstehe ich dich noch immer nicht, du willst also die gesamten html Seiten in einer DB speichern oder wie ? Also dann machste halt ein text Feld und speicherst den gesamten html Code darin, du musst nur auf sonderzeichen achten. Also am besten den Text mit dem Befehl addslashes codieren und in die DB schreiben und dann nach dem auslesen mit stripslashes wieder in den originalzustand zurückschreiben.

    Wenn du das irgendwie anderst gemeint hast dann machs mir nochmal genauer deutlich

    Kommentar


    • #3
      o.k., gebe zu nicht so ganz nachvollziehbar. bin in sachen php und vorallem db noch grün hinter den ohren..
      also, im prinzip stell ich mir die sache so vor:
      von einer html seite auf der alle orte namentlich stehen soll man durch klick auf einen
      dieser namen eine db abfrage starten, die den entsprechenden ortsnamen, den link auf dessen website sowie den zugehörigen text auf einer neuen seite ausgibt. soweit so gut. nun denke ich mir dass so: eine funktion auf der auswahlseite die aus dem ortsnahmen(hyperlink) zB: "Eifel" dynamisch einen entsprechenden link generiert welcher aus der db dann diesen ortsnahmen, url, text rauszieht...
      die rohdaten sind immer in der form: ort,url,text und können noch beliebig für z.B: csv formatiert werden. aber wie gestaltet man eine solche db bzw die notwendigen php/mysql routinen.
      vielleicht ist dass so auch ein falscher ansatz, ich suche einfach eine möglichkeit die mir meine arbeit vereinfacht denn es gibt ca. 300 Ortseinträge und dann nochmal in englisch (600 html seiten ehrenamtlich codieren kann nicht sinn der sache sein)

      hoffe ihr versteht mich jetzt besser
      mfg, crisdoe

      Kommentar


      • #4
        Hi crisdoe..
        ..so sieht der code zum einlesen der datei aus:


        $file = fopen('dbase.dat','r');
        while ( ! feof($file))
        {
        $line = fgets($file,999999);
        $line = trim($line);
        $mtext = explode("|",$line);
        $ort = $mtext[0];
        $link = $mtext[1];
        $text = $mtext[2];
        require("table.inc.php");
        }


        Die variablen kannst du dann in eine tabelle einbauen..
        In diesem fall heisst die datei in der sich der html-code für die tablle befindet: table.inc.php
        da schreibst du den code für EINE tabelle.. das script erzeugt dann für jede zeile der dbase.dat eine tabelle..


        ..Und so der datei-inhalt selbst:

        Mannheim|http://www.mannheim.de|Und hier der text passend zur stadt... aber darauf achten dass keine zeilenumbrüche entstehen! notfalls mit <br> umbrechen..
        Koeln|http://www.koeln.de|Und hier der text passend zur stadt... aber darauf achten dass keine zeilenumbrüche entstehen! notfalls mit <br> umbrechen..
        Heidelberg|http://www.heidelberg.de|Und hier der text passend zur stadt... aber darauf achten dass keine zeilenumbrüche entstehen! notfalls mit <br> umbrechen..

        Usw.Usw..

        Viel spass

        Kommentar


        • #5
          @tRaX4u
          Er wollte es mit DBs und nicht als Files speichern.

          @crisdoe
          Aha,
          so in etwas hatte ich nmir das fast gedacht, also das ist eigentlich sehr einfach.
          Du brauchst eigentlich nur eine Seite zu generieren die den geplanten Ausgabeaufbau hat, diese Seite lässt du dann per DB füllen.

          In die Datenbank kommen alle dynamischen Daten rein die sich ändern , da legst du eine Tabelle an mit den Feldern die du brauchst, zB. Ortsname,link,erstelldatum,textausgabe...... alses was halt so dazu gehört.

          Das problem welches ich sehe und das dir auch die DB nicht abnimmt ist das formatieren des Textes, denn das musst du trotzdem vorformatieren und die Tags komplett mit in die DB speichern, oder du machst genaue vorgaben auf der Seite und splittest dann jeden Text genau so in die Teile, hat beides vor und nachteile, erstere Methode ist aufwendig ein zu geben dafür ist sie wesendlich individueller als die zweite wo dann jeder Ort gleich aussieht

          Ich hoffe du kennst dich etwas mit php aus, ansonsten einfach fragen, die scripte sollten eigentlich nicht so gross werden Aber für jemanden der noch nie sowas gemacht hat steht zuerst mal vorm Mount Everrest

          Kommentar


          • #6
            ich weiss.. aber so isses für ihn am einfachsten .. wahrscheinlich ..

            wenn er sich mit db's auskennt.. ok

            Kommentar


            • #7
              vom mount everest zum k2, bzw. so langsam fang ich an zu begreifen...
              also ich hab eine db (rlp) angelegt, eine tabellle (ortsregister) erzeugt und dann noch die felder (ort,url,txt) definiert.in den einzelnen felder liegen jeweils die rohdaten in der form: [ortsname], [http://www.ortsname.de], [text].
              nun hab ich meine ausgabeseite erstellt und siehe da, bin mit der ausgabe auch optisch einverstanden obwohl erstmal keine html tags mit in der db sind, ein schritt in die richtige richtung...

              (hier das script "datenbank.php" in reduzierter form):

              <?
              $server ="localhost";
              $benutzer ="";
              $kennwort ="";
              $verbindung = mysql_connect ($server, $benutzer, $kennwort);
              mysql_select_db("rlp", $verbindung);
              $result = mysql_query("SELECT * FROM ortsregister WHERE ort='Altenahr'", $verbindung) or die ("nix");
              ?>
              <html>
              <head>
              <title>database</title>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
              </head>
              <body bgcolor="#FFFFFF" text="285780">
              <table width="500" border="0" cellspacing="0" cellpadding="0">
              <tr>
              <td>
              <? while ($row = mysql_fetch_array($result))
              { echo "
              <font face=Verdana, Arial size=2><b>$row[ort]</b></font><br>
              <font face=Verdana, Arial size=2><a href= $row[url] target=_blank>$row[url]</a></font><br>
              <font face=Verdana, Arial size=2>$row[txt]</font>
              "; }
              ?>
              </td>
              </tr>
              </table>
              </body>
              </html>

              ...hat leider aber den nachteil das in der variable $result direkt der ortsname definiert ist.
              im prinzip stell ich mir die sache nun so vor:
              auf der ausgangs"ortauswahlseite" wird bei click auf einen ort z.B. "Altenahr" eine funktion gestartet welche den eben geklickten namen aus dem html code der seite "ausliest", und diesen an das datenbank.php script weitergibt. in diesem vorhandenen script müsste dann wohl nur noch [mysql_query("SELECT * FROM ortsregister WHERE ort='Altenahr'", $verbindung)] angepasst werden, im sinne von "ersetze Altenahr durch übergebene variable".

              ????...???..??.?
              danke
              mfg, crisdoe

              Kommentar


              • #8
                hmm,
                joo genau, nur das du die $row["url"] <== also in einem assoziativem Array um Anführungszeichen bitte setzen ! ansonsten anstatt BadNeuenahr einfach $ortoderwieauchimmer einsetzen, aber auch in anführungszeichen, MySQL ist da etwas 'eigen' finde ich.

                Kommentar


                • #9
                  thanxs...

                  Kommentar

                  Lädt...
                  X