smart23: Daten dynamisch ein/ausblenden

Servus miteinander

Um ohne große Umschweife auf mein Problem zu kommen:

Ich habe eine Adressdatenbank bzw. eine Liste die die Daten per PHP aus einer Mysql Datenbank ausliest und anzeigt. so weit so gut

Bisher habe ich solche Dinge immer so gelöst das nur z.b. der Name angezeigt wird und dieser mit einer Ausgabeseite verlinkt ist der dann alle Daten zu diesem Eintrag anzeigt.

Neu ist jetzt dass nach dem Klick auf den Link die Daten direkt auf der gleichen Seite (entweder gleich darunter oder in einem extra Kasten) angezeigt werden sollen ohne neu Laden der Seite.

Nach meiner Google-Recherche hätt ich 2 Ausführmöglichkeiten ins Auge gefasst:

1. gleich alle Daten auslesen und anschließend per CSS die details ausblenden und dann per Javascript die passenden details einblenden

2. nur die Namen auslesen und nach Klick per AJAX Funktion die entsprechenden Daten aus der DB holen und diese dann in das detail div schreiben

Folgende Fragen hätt ich:
Welche dieser Möglichkeiten ist die bessere (hinsichtlich erschweren des automatischen Auslesens der Daten)?
Habt ihr vielleicht passende Code-Schnipsel (bzw. Links zu passenden Tutorials)?

Natürlich sollten beide Varianten auch eine Hintertür haben für jene die Javascript deaktiviert haben.

Hoff ich hab mein Anliegen verständlich erklärt und ihr könnt mir weiterhelfen!?

Mfg smart

  1. Hi,

    Nach meiner Google-Recherche hätt ich 2 Ausführmöglichkeiten ins Auge gefasst:

    ja, sie entsprechen meinen Vorschlägen.

    Welche dieser Möglichkeiten ist die bessere

    Wie lauten die Anforderungen?

    (hinsichtlich erschweren des automatischen Auslesens der Daten)?

    Damit ist die CSS-Variante ausgeschlossen.

    Habt ihr vielleicht passende Code-Schnipsel (bzw. Links zu passenden Tutorials)?

    Suche nach prototype.js.

    Natürlich sollten beide Varianten auch eine Hintertür haben für jene die Javascript deaktiviert haben.

    Also die Verlinkungs-Technik. Übrigens ist "JavaScript deaktiviert" ein Set von sehr, sehr vielen Konfigurationszuständen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Neu ist jetzt dass nach dem Klick auf den Link die Daten direkt auf der gleichen Seite (entweder gleich darunter oder in einem extra Kasten) angezeigt werden sollen ohne neu Laden der Seite.

    Schau dir mal diese Seite an:
    http://www.holidaycheck.de/hotel.php?hid=36088&agent=hc.bs.hb.pb&ch=ra&refresh=&abreise=28.05.2006&rueckreise=31.01.2007&buchungsTyp=pauschal&abflughafen=-1&ktag=28&kmonat=05.2006&erwachsene=2&kind2=-1&dauer=-1&rueckktag=31&rueckkmonat=01.2007&kind1=-1&kind3=-1&Reiseangebotsvergleich=Preisvergleich+starten

    Da wird nach Klick auf eine Schaltfläche (Verfügbarkeitskontrolle einer Reise) ein Bereich eingeschoben und in dem Bereich, ganz offensichtlich mit AJAX eine Abfrage gestartet und angezeigt.

    Nach Ausschalten von Javascript wird zwar noch der Button "Termin prüfen" angezeigt, aber er funktioniert nicht. Dann sollte man den Button auch nicht anbieten.

    Kalle

  3. Hi,

    1. gleich alle Daten auslesen und anschließend per CSS die details ausblenden und dann per Javascript die passenden details einblenden

    Keine gute Idee! Denn ...

    Natürlich sollten beide Varianten auch eine Hintertür haben für jene die Javascript deaktiviert haben.

    ... das gebietet, die Daten nicht per CSS aus- und per JS einzublenden, sondern mit JS *ein-* und auszublenden!

    Habt ihr vielleicht passende Code-Schnipsel (bzw. Links zu passenden Tutorials)?

    Coding: Darstellungswechsel - Un-/Sichtbare Elemente: Ein-/Ausklappen, Verstecken, Transparenz, Farbe
    Coding: CSS-Regeln auslesen & ändern
    showMore

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!