Results 1 to 10 of 10

Thread: Merkerfunktion für DB-Suchergebnisse

  1. #1
    mobilis
    Gast

    Merkerfunktion für DB-Suchergebnisse

    Versuche gerade eine Merkerfunktion mittels Sessions zu realisieren:

    User wählt Suchkriterien in einem Formular, Datensätze werden auf der Resultat-Seite in einer Tabelle (10 datensätze pro Seite) dargestellt, jede der einzelnen Zeilen enthält eine kleine Grafik, diese setzt einen Link mit der Datensatz-Id auf die Merker-Script-Seite.

    In dieser Seite wird der Datensatz-ID ausgelesen und eine Session gesetzt, welche diesen Datensatz-Id-Wert enthält, und setzt dann einen Redirect auf die Resultat-Seite, in der Resultat-Seite wird jetzt die vorher angeklickte Grafik gegen eine andere getauscht (um zu erkennen das sie bereits als gemerkt gesetzt wurde).

    Klickt man jetzt in der Resultat-Seite auf den Merker-Button gelangt man auf eine Seite wo die Session ausgelesen wird und der Datensatz den man sich merken wollte, wird dargestellt.

    Also im Prinzip würde so eine einfache Merkerfunktion funktionieren, mein Problem ist:
    Wie kann ich dieser Session mehr als einen Wert zuweisen und dann auf der Merkerseite die verschiedenen ID's auslesen ?

    Bis dato kann ich mir eben immer nur einen Datensatz merken lassen

    bye


  2. #2
    dreamworker.de Inventar
    Join Date
    04/2001
    Posts
    687

    Re: Merkerfunktion für DB-Suchergebnisse

    hi

    Session-Variablen können auch Arrays speichern
    Mirko

  3. #3
    mobilis
    Gast

    Re: Merkerfunktion für DB-Suchergebnisse

    hi Mirko, arbeite mich gerade durch so ein Tut.

    bye

    http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=63

  4. #4
    mobilis
    Gast

    Re: Merkerfunktion für DB-Suchergebnisse

    Hi, nach einem Crashkurs in Sachen Arrays kombiniert mit Sessions habe ich noch einige Probs:

    Also die ganze Merkerfunktion funkt mal:
    User klickt auf Grafik, ID des Datensatzes wird in ein Array gesetzt und dann das Array in die Session gespeichert, das ganze mit der Redimensionierung des Arrays sodas die bereits gespeicherten Werte nicht verloren gehen passt auch mal:

    so, alle diese im Array gespeicherten Werte (Datensatz-ID's) müsste ich ja jetzt in die SELECT Anweisung einbauen um dann in einer Tabelle nun alle "gemerkten" Datensätze dargestellt zu bekommen und da muss ich jetzt leider passen. D.h. ja das die SELECT-Anweisung je nach der Anzahl der gespeicherten Werte immer dynamisch aufgebaut werden müsste, tja und da fehlt leider das notwendige Know-How.

    bye

  5. #5
    kapetanov
    Gast

    Re: Re: Merkerfunktion für DB-Suchergebnisse

    hi mobilis,
    generiere deinen sqlstring aus dem array.
    mit:
    select id_xy from tbl_blabla where id_xy in ('2','3','4',....usw.) machst du die abfrage

    das "('2','3','4',....usw.)" erzeugst du
    mit for each element in array...
    sqlstring=sqlstring+array()&"','"
    ..next.

    bei dem string must du zum schluß noch die letzten beiden zeichen abschneiden und fertig ist der sqlstring. diesen dann in die sql abfrage. und schon funzt die sache.

    so in etwa muss es gehen hab es aber noch nicht ausprobiert.

    ach fast vergessen..............ahoi mirko!

    [Edited by Kapetanov on 06-16-2002 at 04:33 PM GMT]

  6. #6
    mobilis
    Gast

    Re: Merkerfunktion für DB-Suchergebnisse

    danke mal für das bauen einer zusätzlichen Gehirnwindung zwischen meinen Ohren.

    "mit for each element in array..."

    mit dem Teil hatte ich schon bereits ein wenig herumgebastetlt, um zu sehen, ob das Array mir auch die ID's richtig speichert, ob das Redim des Array's auch funkt und ob ich das ganze auch verstanden habe.

    bye

  7. #7
    mobilis
    Gast

    Re: Merkerfunktion für DB-Suchergebnisse

    "die letzten beiden zeichen abschneiden"

    also die mir bekannten "Schneidewerkzeuge" sind die Funktionen (Left(), Right() und Mid().
    Sodale wie könnte ich jetzt nur die letzten beiden Zeichen abschneiden, mit diesen Funktionen geht das ja nicht, das einzige was ich mir mal so zusammenreimen könnte ist:

    mit Len(sql) die gesamte Länge der Zeichenkette ermitteln, dann ne variable setzen: x = Len(sql)-2 und dann anwenden:

    sql = left(sql,x)

    sprich ich bekomme den String ohne die letzten beiden Zeichen, geht das eigentlich anders auch noch ??

    bye

  8. #8
    kapetanov
    Gast

    Re: Re: Merkerfunktion für DB-Suchergebnisse

    hi,
    <%
    variable = "12345"
    sqlstring = left(variable,len(variable)-2)
    response.Write(sqlstring)
    %>
    schneidet die variable ab.


    [Edited by Kapetanov on 06-17-2002 at 06:18 AM GMT]

  9. #9
    mobilis
    Gast

    Re: Merkerfunktion für DB-Suchergebnisse

    Hi Käpt'n

    habe die sache ausgiebig getestet, also die ganze Merkereigeschichte, String zusammenbauen und in die Abfrage setzen, es passt wirklich. Was mir gerade aufgefallen ist.
    Ich teste das auf zwei eigenen Seite, auf der Resultatseite können die jeweiligen Grafiken angeklickt werden um sie zu "merken" dann habe ich zwei links (test1, test2) auf der Seite test1 baue ich den String zusammen und lasse mir den String mit response.write anzeigen, auf der seite2 die eigentliche Abfrage und die darstellung der gemerkten datensätze.

    Folgendes: ich wollte mich eigentlich darum kümmern das wenn ein datensatz 2 oder öfters als "gemerkt" markiert wird das dieser datensatz in der eigentlichen Merkerliste nur einmal angezeigt wird.

    Also ich klicke z.B.: datensatz1 3mal an und datensatz2 2mal, dann ergibt sich folgender String: ('1','1','1','2','2') habe also im Array 5 Werte gespeichert. Bei der darstellung der datensätze werden mir aber "nur" der datensatz1 und der datensatz2 je einmal dargestellt. Nicht das mich das stört, ist ja auch so gewünscht und sollte nicht anders sein, mich würde nur interessieren warum das eigentlich so ist.

    bye



  10. #10
    kapetanov
    Gast

    Re: Re: Merkerfunktion für DB-Suchergebnisse

    Anzeigen:
    Webhosting ab 3,99 €
    hi,
    datensatz finden und datensatz anzeigen sind zwei paar schuhe.
    wenn du fünf mal in deiner sqlabfrage nach id 3 suchst wird dir die abfrage eben nur einmal die id 3 finden denn sie ist ja physikalisch nicht öfter vorhanden. wenn du das ändern willst kannst du das mit einem script erledigen.

Similar Threads

  1. DB und Coldfusion
    By Morpheus in forum Serverseitige Programmierung
    Replies: 1
    Last Post: 23.10.2008, 10:41
  2. Umstieg von einer Access DB auf eine Oracle
    By stefan01 in forum Datenbanken
    Replies: 1
    Last Post: 01.07.2003, 13:12
  3. Formatierter Text von Word in DB
    By OlliZ in forum Datenbanken
    Replies: 3
    Last Post: 26.06.2003, 13:54
  4. Antworten in zweiter DB zählen
    By kruemel81ch in forum Datenbanken
    Replies: 1
    Last Post: 04.06.2003, 18:58

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •