Aufgelistete Daten als Hyperlink

Aufgelistete Daten als Hyperlink

am 12.10.2004 00:40:42 von fabio.marti

Hallo letzte-hilfe-team!

ich habe eine buch db. ich erfasse diese per formular (mit allen
details). ich möchte eine "hauptseite" haben, auf der alle buchnamen
aufgelistet sind. das funktioniert auch. aber ich möchte, dass die
buchnamen als hyperlink erscheinen, damit ich drauf klicken kann um
die details zu sehen (auf einer anderen seite).
als html ist es ja kein problem, aber wenn die daten aus einer db
kommen schaff ich's nicht diese zu verlinken. vor allem weis ich nicht
wie es funktionieren sollte, wenn ein neues buch dazu kommt (code und
so...). der hyperlink ergänzt sich wohl nicht automatisch, oder?
(habe die katze gefragt... gibt aber <1 antwort)

danke für die tips und codes! alle faq's und tips von allem möglichen
seiten aus büchern und net haben nix geholfen (darum von mir auch kein
code vorhanden).

"der mit der maus wirft"
Fabio

Re: Aufgelistete Daten als Hyperlink

am 12.10.2004 09:00:15 von Stefan Ey

Fabio schrieb:
> Hallo letzte-hilfe-team!
>
> ich habe eine buch db. ich erfasse diese per formular (mit allen
> details). ich möchte eine "hauptseite" haben, auf der alle buchnamen
> aufgelistet sind. das funktioniert auch. aber ich möchte, dass die
> buchnamen als hyperlink erscheinen, damit ich drauf klicken kann um
> die details zu sehen (auf einer anderen seite).
> als html ist es ja kein problem, aber wenn die daten aus einer db
> kommen schaff ich's nicht diese zu verlinken. vor allem weis ich nicht
> wie es funktionieren sollte, wenn ein neues buch dazu kommt (code und
> so...). der hyperlink ergänzt sich wohl nicht automatisch, oder?
> (habe die katze gefragt... gibt aber <1 antwort)
>
> danke für die tips und codes! alle faq's und tips von allem möglichen
> seiten aus büchern und net haben nix geholfen (darum von mir auch kein
> code vorhanden).
>
> "der mit der maus wirft"
> Fabio

ich habe das mit zwei verschiedenen scripts gelöst (geht vielleicht auch
anders).

//Bücher auf der Hauptseite
$tmp_query = "SELECT * FROM buecher;
$tmp_result = mysql_query($tmp_query) or die("Anfrage fehlgeschlagen

".$tmp_query."
".mysql_error());
while ($tmp_row = mysql_fetch_array($tmp_result)) {
$tmp_id = $tmp_row['id'];
$tmp_title = $tmp_row['titel'];
//hier der Link auf das Buch
echo "

  • ";
    }
    mysql_free_result($tmp_result);

    //Buch auf der Detailseite
    $id = $_GET['id'];
    $tmp_query = "SELECT * FROM buecher WHERE id=$id;
    $tmp_result = mysql_query($tmp_query) or die("Anfrage fehlgeschlagen

    ".$tmp_query."
    ".mysql_error());
    $tmp_row = mysql_fetch_assoc($tmp_result);
    mysql_free_result($tmp_result);
    //ab hier kannst Du mit den Daten des Buches, die in $tmp_row stehen
    machen was Du willst
    $tmp_id = $tmp_row['id'];
    ....
    $tmp_title = $tmp_row['titel'];

    Gruß Stefan

    Re: Aufgelistete Daten als Hyperlink

    am 12.10.2004 12:04:02 von Michael Rittweger

    Hallo, Fabio!

    > buchnamen als hyperlink erscheinen, damit ich drauf klicken kann um
    > die details zu sehen (auf einer anderen seite).

    1. Schritt: Per SQL werden die benötigten Daten für die "Übersicht" geholt
    und in einer tabellarischen Form ausgegeben. Dazu brauchst Du z.B. etwas in
    der Art von

    "select id, nachname [, weitere] from t_personen;"

    Dein html/php bastelt daraus die Übersicht ungefaehr so:

    [liste.php]
    ....


    solange es noch Datensätze gibt: einlesen in $row ?>


    ... --> ggf. weitere Spalten anzeigen




    ....

    Dabei ersetzt Du:
    [ref] -->
    [nachmame] -->

    Damit werden auch neu aufgenommene Datensätze immer mit angezeigt und Du
    mußt nicht "händisch" an der Übersicht herumschrauben.

    2. Schritt: Jetzt brauchst Du die Detail-Anzeige. Dafür kann das Script über
    den id-Parameter gezielt den gewünschten Datensatz aus der Tabelle
    herausfischen. Also sowas in der Art von

    "select id, nachname [, weitere] from t_personen where id='" . $_GET['id'] .
    "';"

    [details.php]
    ....







    ... --> ggf. weitere Details anzeigen
    Nachname: [nachname]


    ....

    Dabei ersetzt Du wieder:
    [nachmame] -->

    Noch ein paar Anmerkungen:

    Sicherheitsabfragen, ob Verbindung zu Server, Datenbank und Tabelle besteht,
    setze ich mal voraus. Auch 'leere Tabelle' sollte sauber abgefangen werden.

    Als Grundgerüst benutze ich ganz gerne:

    $db_server = "";
    $db_name = "";
    $db_user = "";
    $db_passwort = "";
    $db = @mysql_connect($db_server,$db_user,$db_passwort);
    if ($db) {
    $db_select = @mysql_select_db($db_name);
    if ($db_select) {
    $sql = "SELECT ...";
    $result = mysql_query($sql);
    if ($result) {
    $menge = mysql_num_rows($result);
    if ($menge) {
    // ...
    } else {
    echo "

    keine Datensätze

    ";
    }
    } else {
    echo "

    Abfrage nicht erfolgreich

    ";
    }
    } else {
    echo "

    Keine Verbindung zur Datenbank

    ";
    }
    } else {
    echo "

    Keine Verbindung zum Server

    ";
    }

    Sollten es viele Datensätze in der Übersicht werden, empfiehlt es sich, die
    Datensätze auf x / Seite zu begrenzen und eine vorwärts/zurück-Navigation
    einzubauen.

    Das Detail-Formular sollte bei fehlendem id-Parameter genauso wenig quer
    schießen, wie bei ungültiger id (URL von Hand manipuliert z.B.), für die es
    keinen Datensatz gibt.

    Entsprechendes "order by" oder "where" für die Übersicht wirst Du selbst
    wissen, was nötig ist.

    Ich setze "id" als "unique"-Feld (primary-key?) voraus, z.B.
    "auto-increment". Ev. noch etwas stilvoller ist ein "limit 1" in der
    detail-query.

    Mehr fällt mir jetzt so auf Anhieb nicht ein. Hab ich was vergessen oder
    übersehen?

    > Fabio

    Gruß, Michael

    Re: Aufgelistete Daten als Hyperlink

    am 13.10.2004 08:23:45 von fabio.marti

    Besten Dank Leute! Es funkzt!!! juhhuuu!!!!

    Fabio




    "Michael Rittweger" wrote in message news:...
    > Hallo, Fabio!
    >
    > > buchnamen als hyperlink erscheinen, damit ich drauf klicken kann um
    > > die details zu sehen (auf einer anderen seite).
    >
    > 1. Schritt: Per SQL werden die benötigten Daten für die "Übersicht" geholt
    > und in einer tabellarischen Form ausgegeben. Dazu brauchst Du z.B. etwas in
    > der Art von
    >
    > "select id, nachname [, weitere] from t_personen;"
    >
    > Dein html/php bastelt daraus die Übersicht ungefaehr so:
    >
    > [liste.php]
    > ...
    >
    >


    > solange es noch Datensätze gibt: einlesen in $row ?>
    >
    >
    > ... --> ggf. weitere Spalten anzeigen
    >
    >
    >

    >
    > ...
    >
    > Dabei ersetzt Du:
    > [ref] -->
    > [nachmame] -->
    >
    > Damit werden auch neu aufgenommene Datensätze immer mit angezeigt und Du
    > mußt nicht "händisch" an der Übersicht herumschrauben.
    >
    > 2. Schritt: Jetzt brauchst Du die Detail-Anzeige. Dafür kann das Script über
    > den id-Parameter gezielt den gewünschten Datensatz aus der Tabelle
    > herausfischen. Also sowas in der Art von
    >
    > "select id, nachname [, weitere] from t_personen where id='" . $_GET['id'] .
    > "';"
    >
    > [details.php]
    > ...
    >
    >
    >
    >
    >
    >
    >
    > ... --> ggf. weitere Details anzeigen
    >
    Nachname:[nachname]

    >
    > ...
    >
    > Dabei ersetzt Du wieder:
    > [nachmame] -->
    >
    > Noch ein paar Anmerkungen:
    >
    > Sicherheitsabfragen, ob Verbindung zu Server, Datenbank und Tabelle besteht,
    > setze ich mal voraus. Auch 'leere Tabelle' sollte sauber abgefangen werden.
    >
    > Als Grundgerüst benutze ich ganz gerne:
    >
    > $db_server = "";
    > $db_name = "";
    > $db_user = "";
    > $db_passwort = "";
    > $db = @mysql_connect($db_server,$db_user,$db_passwort);
    > if ($db) {
    > $db_select = @mysql_select_db($db_name);
    > if ($db_select) {
    > $sql = "SELECT ...";
    > $result = mysql_query($sql);
    > if ($result) {
    > $menge = mysql_num_rows($result);
    > if ($menge) {
    > // ...
    > } else {
    > echo "

    keine Datensätze

    ";
    > }
    > } else {
    > echo "

    Abfrage nicht erfolgreich

    ";
    > }
    > } else {
    > echo "

    Keine Verbindung zur Datenbank

    ";
    > }
    > } else {
    > echo "

    Keine Verbindung zum Server

    ";
    > }
    >
    > Sollten es viele Datensätze in der Übersicht werden, empfiehlt es sich, die
    > Datensätze auf x / Seite zu begrenzen und eine vorwärts/zurück-Navigation
    > einzubauen.
    >
    > Das Detail-Formular sollte bei fehlendem id-Parameter genauso wenig quer
    > schießen, wie bei ungültiger id (URL von Hand manipuliert z.B.), für die es
    > keinen Datensatz gibt.
    >
    > Entsprechendes "order by" oder "where" für die Übersicht wirst Du selbst
    > wissen, was nötig ist.
    >
    > Ich setze "id" als "unique"-Feld (primary-key?) voraus, z.B.
    > "auto-increment". Ev. noch etwas stilvoller ist ein "limit 1" in der
    > detail-query.
    >
    > Mehr fällt mir jetzt so auf Anhieb nicht ein. Hab ich was vergessen oder
    > übersehen?
    >
    > > Fabio
    >
    > Gruß, Michael