Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Datenbankabfrage und tabellenanzeige mit ausblendung

  1. #1
    HTML Newbie
    Registriert seit
    02.12.2009
    Ort
    München
    Alter
    30
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Datenbankabfrage und tabellenanzeige mit ausblendung

    Hi,
    hätte mal eine zwecks Tabellendarstellung.
    hab unten mal auch den code angehängt.
    es geht eigentlich um 2 probleme.

    -die erste sache ist, dass ich ich versuchen will, daten von einer datenbank in einer tabelle in html darzustellen bzw das gelingt auch. nur möchte ich, dass bei der abfrage nicht alle 11 spalten der tabelle angezeigt werden, sondern nur die ersten 4 spalten und die weiteren 7 erst, wenn ich auf die entsprechende zeile in den ersten vier spalten klicke. also wenn ich eine zeile anklicke, von den ersten 4 spalten, dann sollen die anderen spalten aufpoppen oder in irgendeiner form dargestellt werden.
    wäre super, wenn mir jemand einen ansatz geben kann.
    die header-spalten sind im <th>-tag definiert.

    -das zweite problem geht um die darstellung von den datensätzen, welche anfangs beschränkt sind, sprich es sollen pro seite 10 sätze angezeigt werden und für die restlichen soll man weiterspringen können auf die weiteren seiten. begrenzen geht mit mit LIMIT im Sql-befehl aber es sollen alle datensätze angezeigt werden, nur nicht auf einer seite.

    vielen dank für die tipps, nadine






    if ("send_data".equals(strMode)) {
    String entryid = request.getParameter("entryid");
    String clause = new String();
    String sql = new String();

    //user contraints
    ResultSet constraint = statement.executeQuery("SELECT attribute, operator, value FROM gugubarra_opt.constraint_user_topics WHERE sessionid='"+session.toString()+"' AND data_typ='user';");

    while (constraint.next()) {
    int attribute = Integer.valueOf(constraint.getObject(1).toString() ).intValue();
    int operator = Integer.valueOf(constraint.getObject(2).toString() ).intValue();
    String value = constraint.getObject(3).toString();
    clause += clause.length()>0 ? " AND " : "";
    String strAttribute = ATTRIBUTES_USER[attribute];

    if (operator==0) {
    clause += "("+ATTRIBUTES_USER[attribute]+"<='"+value+"'";
    }
    else if (operator==1) {
    clause += "("+ATTRIBUTES_USER[attribute]+"<'"+value+"'";
    }
    else if (operator==2) {
    clause += "("+ATTRIBUTES_USER[attribute]+"='"+value+"'";
    }
    else if (operator==3) {
    clause += "("+ATTRIBUTES_USER[attribute]+">'"+value+"'";
    }
    else if (operator==4) {
    clause += "("+ATTRIBUTES_USER[attribute]+">='"+value+"'";
    }
    }

    sql = "SELECT a.user_id FROM gugubarra_opt.user a "+(clause.length()>0?" WHERE "+clause:"");

    //topics contraints
    constraint = statement.executeQuery("SELECT attribute, operator, value FROM gugubarra_opt.constraint_user_topics WHERE sessionid='"+session.toString()+"' AND data_typ='topics';");

    while (constraint.next()) {
    int attribute = Integer.valueOf(constraint.getObject(1).toString() ).intValue();
    int operator = Integer.valueOf(constraint.getObject(2).toString() ).intValue();
    String value = constraint.getObject(3).toString();

    sql = ("SELECT b.user_id FROM gugubarra_opt.nops_topics a, gugubarra_opt.user_nops b WHERE a.nop_id=b.nop_id AND a.topic_id='"+attribute+"' AND a.weight"+(operator==0?"<":">")+value+" AND b.user_id IN ("+sql+")");
    }

    ResultSet result = statement.executeQuery("SELECT a.user_id, a.login, a.name, a.surname, a.birthday, a.street, a.city, a.zip, a.email, a.phone, a.nationality FROM gugubarra_opt.user a WHERE a.user_id IN ("+sql+") ORDER BY a.user_id;");
    %>

    <table border="1">
    <thead>
    <tr>
    <th class="table1">User-ID</th>
    <th class="table1">Login</th>
    <th class="table1">Name</th>
    <th class="table1">Surname</th>
    <th class="table1">Birthday</th>
    <th class="table1">Street</th>
    <th class="table1">City</th>
    <th class="table1">Zip</th>
    <th class="table1">Email</th>
    <th class="table1">Phone</th>
    <th class="table1">Nationality</th>
    </tr>
    </thead>
    <tbody>
    <% while(result.next()) { %>
    <tr>
    <td align="center" valign="middle" class="table2"><%= result.getObject(1) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(2) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(3) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(4) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(5) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(6) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(7) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject( %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(9) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(10) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(11) %></td>
    </tr>
    <% } %>
    </tbody>
    </table>
    <% } %>
    <br>
    </div>
    </body>
    </html>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Also, wenn ich das richtig verstanden haben, meinst du cirka sowas:
    http://dodo.bplaced.net/ueber_mich/musik/
    (keine kritik am design, bitte ;D muss ich mal überarbeiten^^

    Also du machst das so, dass du die <tr> mittels CSS versteckst. "display:none;"
    Und wenn man auf einen Link klickt, wird ein JavaScript gestartet, das alle betreffenden Zeilen auf "style.display = 'table-row'" setzt.
    Dazu gibst du am besten den <tr> einen Namen und gehst mittels document.getElementsByName("hiddenTR") alle in einer Schleife durch.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Für den IE muss man jedoch "display" auf "block" setzen statt auf "table-row", wenn man das auch in diesem Browser erreichen möchte.

  4. #4
    Naddi
    Gast

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Ich habe mal folgendes gemacht, was aber nicht klappt...
    das in der tabelle quasi 4 spalten angezeigt werden und die restlichen nicht, was auch klappt. dann klick ich auf den link den ich für eine spalte eingebaut habe, nämlich für User_id, also elemente für user_id die von der datenbank abgeholt werden sind mit einer link unterlegt, jedoch passiert nichts beim anklicken.
    habe auch anstatt style.display style.visibility="visible"; probiert.



    <script type="text/javascript">
    function onoff() {


    if(document.getElementByID)

    document.getElementID("hiddenTR").style.display = "table-row";



    }
    </script>


    tr><th class="table1">User-ID</th>
    <th class="table1">Login</th>
    <th class="table1">Name</th>
    <th class="table1">Surname</th></tr>

    <tr style="display:none"; id="hiddenTR">
    <th class="table1">Birthday</th>
    <th class="table1">Street</th>
    <th class="table1">City</th>
    <th class="table1">Zip</th>
    <th class="table1">Email</th>
    <th class="table1">Phone</th>
    <th class="table1">Nationality</th>
    </tr>
    </thead>
    <tbody>
    <% while(result.next()) { %>

    <tr><td align="center" valign="middle" class="table2"><a href="#" onclick="onoff()"><%= result.getObject(1) %></a></td>


    <td align="center" valign="middle" class="table2"><%= result.getObject(2) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(3) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(4) %></td></tr>

    <tr style="display:none"; id="hiddenTR">

    <td align="center" valign="middle" class="table2"><%= result.getObject(5) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(6) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(7) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject( %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(9) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(10) %></td>
    <td align="center" valign="middle" class="table2"><%= result.getObject(11) %></td>
    </tr>

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    hast du einen link?
    Bitte benutze den BB-HTML-Tag vom Forum.

    Du kannst mit Firefox oder Opera auch eine Fehlerkonsole anzeigen lassen (unter Extras)
    Die zeigt die alle JavaScript-Fehler
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    Nadi22
    Gast

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Hey,
    lag mit der Schweinegrippe flach;((

    BB-Tag?Hmm, muss ich das kennen.
    ALso die Link zu deiner HP war gut, sowas meinte ich ja....
    ICh habe jetzt quasi eine Tabelle mit 4 Spalten: user id, login, name , surname.
    darunter werdend eren elemente abgerufen und darunter ist eine zeile, die ich verstecke mit display:none im tr-tag, wie du es beschrieben hattest. diese zeile besteht quasi aus einer neuen tabelle(zeigt die anderen 8 attribute als kopf und darunter die passenden elemente.

    was ich will ist, dass wenn ich zum bsp auf den ersten datensatz klicke in der zelle mit user-id, dass sich dann diese versteckte zeile öffnet und bei einem zweiten klick wieder versteckt.
    user_id ist deshalb passend, weil alle elemente die ich von der datenbank abrufe eindeutig sind. ich muss irgendwie prüfen ind er java skript funktion, welche zelle ich gerade angeklickt habe, damit das programm weiß, welche versteckte zeile er den öffnen soll?
    habe aber grad keinen plan wie das umzusetzen ist weiter. kopiere mal einige codezeilen hier rein: vielleicht ist mein ansatz ja total falsch.

    das habe ich als skript:

    <script type="text/javascript" language="javascript">

    function setVisibility(popup) {

    if(popup)
    document.getElementById(popup).style.visibility = "visible";
    }

    </script>

    ----------------------------------------------------------------------------------

    hier eine zeile wo das "onclick" eingebaut ist. in dieser zeile ruft er alle elemente für den kopf user_id auf.

    <td class="table4" onclick="setVisibility(popup)" ><%= result.getObject(1) %></td>

    ------------------------------------------------------------------------------------

    hier die zeile, wo der ganze bereich versteckt werden soll anfangs. in dem tr-tag sind wie gesagt die anderen 8 spalten eingebaut inklusive der elemente die abgerufen werden.

    <tr id="popup" style="display:none">


    müsste er da nicht schon was machen jetzt? also wenn ich quasi auf irgendeine zelle in der spalte user_id(eindeutig) klicke, dass er dann das entsprechende versteckte feld aufpoppt?
    bzw irgendeins zumindest, denn er weiß ja nicht, was er wo aufmachen soll....

    stehe gerade irgendwie auf dem schlauch..

    vielleicht lieg ich aber auch ganz falsch gerade?

    danke und lieben gruß

  7. #7
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Dazu musst Du die ID in der Funktion in Anführungszeichen schreiben, sonst denkt JavaScript "popup" wäre eine Variable.

    Code:
    setVisibility('popup')
    Bitte auch mal an der Fehlerkonsole nachschauen, wenn Du Probleme hast - denn dort wäre dir das sofort aufgefallen. Falls Du nicht weißt was die Fehlerkonsole ist, dann such im Forum oder bei Google

  8. #8
    HTML Newbie
    Themenstarter

    Registriert seit
    02.12.2009
    Ort
    München
    Alter
    30
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Hi danke für die Antwort.
    Sollte auch eine VAriable sein....habe es jetzt anders gelöst...nach 2 Tagen:/..schwere Geburt.
    Habe noch ein anders Problem, wo ich nicht weiß ob soweit der Ansatz richtig ist.

    Problem:
    In meiner Tabelle ruf ich Werte von einer Datenbank auf....ich will, dass immer nur 10 Sätze pro Seite angezeigt werden.
    Somit habe ich in meiner Sql-Abfrage in Java Server Pages im Sql-Befehl folgendes noch drinstehen: LIMIT 0,10. Damit zeigt er mir auch schonmal die ersten 10 nur an.
    Jetzt habe ich einen zweiten SQL-Befehl daruntergeschrieben nur mit count* und ohne LIMIT, wo er die Datensaätze alle zählt.
    Diesen Wert kann ich doch jetzt in eine Variable speichern vom Typ Object und den Wert auslesen. Dann muss ich im HTML-Code wo die Tabelle dargestellt wird, also den ganzen Code in eine For-schleife setzen, die entsprechend dem Wert von count* durchgeführt wird......?? oder?
    wie sag ich HTML aber, dass er blättern soll bzw wie realisiere ich das Seitenblättern in Html?
    Vielleicht hat jemand eine super Idee....
    Danke und viele Grüße

  9. #9
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    Siehe: http://phpperformance.de/sql_calc_fo...ionen-umsetzt/
    und viele andere Seiten die sich mit auf mysql basierenden seitenweisen Anzeigen beschäftigen

    Tipp: es kommt drauf an was im Link übergeben und im SQL-Statement bei Limit verwendet wird.

  10. #10
    König(in) Avatar von Grevas
    Registriert seit
    20.04.2009
    Ort
    In meiner Wohnung.
    Alter
    30
    Beiträge
    1.039
    Danke
    0
    Bekam 5 mal "Danke" in 5 Postings

    Standard AW: Datenbankabfrage und tabellenanzeige mit ausblendung

    PHP-Code:
    $limit 10;
    $page $_GET['page'];
    $start_at $page $limit;
    $sql "... LIMIT $start_at$limit"
    So mach ich das meistens, ist so auch recht simpel. Man braucht aber noch eine 2te Abfrage in dem Fall um zu überprüfen ob es einen Link für die nächste Seite geben soll oder nicht (oder man macht den Limit um 1 höher und zeigt das letzte Ergebniss nicht an).

Ähnliche Themen

  1. Datenbankabfrage durchnummerieren
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 21.11.2009, 22:13
  2. Downloadfunktion in Datenbankabfrage
    Von homer im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 17.01.2009, 13:08
  3. Datenbankabfrage sicher?
    Von lolman im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 24.10.2006, 15:34
  4. Ein- und AUsblendung
    Von Phill im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 19.04.2004, 14:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •