Announcement

Collapse
No announcement yet.

tabellenanzeige mit aus und einblendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • tabellenanzeige mit aus und einblendung

    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>

  • #2
    hätte mal eine zwecks Tabellendarstellung.
    eine Was??

    Wie man den Code hier formatiert??

    Dann musst du entweder mit Javascript und CSS arbeiten oder einen neuen Request auslösen, der auf einer anderen Seite alles darstellt
    Christian

    Comment


    • #3
      Hallo,
      Originally posted by user0022 View Post
      ...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.
      Ansatz: Mittels CSS die betreffenden Zellen ausblenden (z.B. mit display: none und beim onclick auf eine sichtbare Spalte per JavaScript die Zellen wieder sichtbar machen. (z.B. mit display: table-cell).

      Originally posted by user0022 View Post
      ...
      -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.
      LIMIT 0, 10 liefert 10 DS ab dem ersten DS. LIMIT 10, 10 liefert 10 DS ab dem 11. DS, LIMIT 20, 10 liefert 10 DS ab dem 21. DS, ...

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment

      Working...
      X