php table dropdown

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik had een vraagje, ik moet een website ontwikkelen (design) maar voordat ik wat ga ontwerpen wil ik graag weten of het mogenlijk is om zoiets te bouwen.

Wat is mijn plan?:
Ik weet wel al dat het bestaat maar als je dat met Netscape bekijkt werkt het niet. namelijk een soort drop down. Je hebt een hele lijst met vragen. Als je zo'n vraag aanklikt dan komt daaronder (en schuift hij de rest naar onderen) het antwoord.

Nou vroeg ik me af of dit mogenlijk is om in php te bouwen. Eigenlijk zou het zo simpel moeten zijn:
Je hebt een tabel.
met twee rijen, twee vragen.
als je de eerste vraag aanklikt zet het script een extra ?<tr></tr> met <td></td> tussen de eerste vraag en de tweede vraag. Alle content wordt gegenereerd uit een database.

een voorbeeld: http://www.volkswagen.nl/...faq/0,5624,_D0Lnl,00.html


Kan dit of zal dit dan moeten worden opgelost met javascript of dhtml?

als iemand mij daarbij antwoord kan geven.

Vriendelijk dank.

Arjan

Acties:
  • 0 Henk 'm!

Verwijderd

Gewoon met javascript een div tonen en verbergen... :)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Nee.. zoiets gaat nooit en te nimmer werken in PHP :) Daar heb je DHTML en javascript voor. En dan kan de content uiteraard nog makkelijk uit een DB komen.

Voorbeeldje:

http://www.polisdirect.nl/index.php?ID=29

[ Voor 41% gewijzigd door Bosmonster op 02-05-2003 15:44 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik zou het oplossen met wat javascript/dhtml. Je kunt op een <tr> een style="display:none;" zetten en deze vervolgens op "block" zetten als je 'm wilt displayen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat lijkt me behoorlijk zwaar te worden zodra je een hele grote lijst krijgt of hebt ala VW. Waarschijnlijk wordt hij zo groot.

Acties:
  • 0 Henk 'm!

Verwijderd

K heb ook ooit zoiets gemaakt en k gebruikte dhtml voor het menu en alle text (vragen & andworden) kwamen uit een DBtje

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
exusses. had niet verwacht dat er zo snel op gereageerd werd. MIJN DANK IS GROOT!!!!!!!!!!!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
weet iemand mij daarvoor een voorbeeld script te laten zien? met bijvoorbeeld twee vragen?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

RobIII schreef op 02 mei 2003 @ 15:44:
Ik zou het oplossen met wat javascript/dhtml. Je kunt op een <tr> een style="display:none;" zetten en deze vervolgens op "block" zetten als je 'm wilt displayen.
Met een TR gaat dat niet werken, daar ga je een div voor nodig hebben.. Gelukkig zijn die der ook voor bedoeld ;)
Verwijderd schreef op 02 mei 2003 @ 15:45:
Dat lijkt me behoorlijk zwaar te worden zodra je een hele grote lijst krijgt of hebt ala VW. Waarschijnlijk wordt hij zo groot.
Nee hoor, dat maakt niet zoveel uit. Als het echt heel erg veel is dan zou ik eerder gaan twijfelen aan de gebruiksvriendelijkheid ;) En het onderverdelen in subcategorieen.

Acties:
  • 0 Henk 'm!

  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 13:29
Bosmonster schreef op 02 May 2003 @ 15:44:
Nee.. zoiets gaat nooit en te nimmer werken in PHP :)
Uiteraard kan dit wel werken met php. Je hebt er dan geen javascript/dhtml voor nodig. Nadeel is dat je voor elke klik een roundtrip naar de server moet maken.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

Sjaaky schreef op 02 mei 2003 @ 15:48:
[...]


Uiteraard kan dit wel werken met php. Je hebt er dan geen javascript/dhtml voor nodig. Nadeel is dat je voor elke klik een roundtrip naar de server moet maken.
Mwah.. TS zegt dat ie een extra regel in de tabel wil zetten als je erop klikt.. dan kun je op twee manieren opvatten ;) Maar een roundtrip naar de server lijkt me al helemaal niet gewenst..

Acties:
  • 0 Henk 'm!

Verwijderd

ahem.. volgens mij snappen sommige mensen niet dat PHP een serverside programmeertaal is, dus om een divje uit te laten klappen moet je elke keer contact maken met de server om je page te updaten.. je kan dus beter gewoon Javascript gebruiken imo

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Bosmonster schreef op 02 mei 2003 @ 15:48:
[...]
Met een TR gaat dat niet werken, daar ga je een div voor nodig hebben.. Gelukkig zijn die der ook voor bedoeld ;)
[...]
Jawel hoor ;)

Dit werkt (onder IE6). Ik weet bij God niet wat 'ie onder NS ofzo doet, die heb ik niet bij de hand, maar het zou me niet verbazen als het daar fout gaat ;)

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript">
        function showAnt(iAntID) {
            var theTR = document.getElementById('tr'+iAntID);
            theTR.style.display= (theTR.style.display == 'none') ? 'block' : 'none';
        }
    </script>
</head>

<body>
<table cellpadding="0" cellspacing="0" border="0">
    <tr style="cursor:hand;" onclick="showAnt(1);">
        <th>Vraag 1</th>
        <th>Bla die bla</th>
    </tr>
    <tr style="display:none;" id="tr1">
        <td>A:1</td>
        <td>Jedda jedda jedda</td>
    </tr>
    <tr style="cursor:hand;" onclick="showAnt(2);">
        <th>Vraag 2</th>
        <th>Bla die bla</th>
    </tr>
    <tr style="display:none;" id="tr2">
        <td>A:2</td>
        <td>Jedda jedda jedda</td>
    </tr>
    <tr style="cursor:hand;" onclick="showAnt(3);">
        <th>Vraag 3</th>
        <th>Bla die bla</th>
    </tr>
    <tr style="display:none;" id="tr3">
        <td>A:3</td>
        <td>Jedda jedda jedda</td>
    </tr>
    <tr style="cursor:hand;" onclick="showAnt(4);">
        <th>Vraag 4</th>
        <th>Bla die bla</th>
    </tr>
    <tr style="display:none;" id="tr4">
        <td>A:4</td>
        <td>Jedda jedda jedda</td>
    </tr>
</table>


</body>
</html>

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
geweldig zoiets bedoel ik!! wat ik dus begrijp is dat je het beter niet serverside kan doen, geen php maar client side. Dhtml of Javascript.

RobIII thanks!! ik ging het bekijken met netscape maar die doet niks, de buttons zijn niet actief. Ik heb helaas ook geen IE5 beschikbaar (alleen netscape 4.7) die gebruik ik vaan om te testen zodra ik ook compatible voor netscape moet werken.

Het is knap lastig om voor elke browser dus zoiets compatible te houden.

[ Voor 10% gewijzigd door Verwijderd op 02-05-2003 16:04 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 16:28

Bosmonster

*zucht*

TR's originele staat is geen display:block, dus dit loopt in een standaard browser in de soep ja :) Bovendien bestaat cursor: hand ook niet officieel, dit moet cursor: pointer zijn.

Netscape 4.x is ook absoluut niet interessant meer.. Als we heb over NEtscape hebben tegenwoordig hebben we het over 6+, oftewel mozilla (www.mozilla.org).

[ Voor 31% gewijzigd door Bosmonster op 02-05-2003 16:05 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 02 May 2003 @ 16:02:
geweldig zoiets bedoel ik!! wat ik dus begrijp is dat je het beter niet serverside kan doen, geen php maar client side. Dhtml of Javascript.

RobIII thanks!! ik ging het bekijken met netscape maar die doet niks, de buttons zijn niet actief. Ik heb helaas ook geen IE5 beschikbaar (alleen netscape 4.7) die gebruik ik vaan om te testen zodra ik ook compatible voor netscape moet werken.

Het is knap lastig om voor elke browser dus zoiets compatible te houden.
Daar was ik al bang voor. Misschien zijn TR's niet de beste methode, maar voor IE werkt het prima. Idd zou ik de oplossingen van Bosmonster (en zéker de source van de link die 'ie gaf) eens bekijken.
Bosmonster schreef op 02 May 2003 @ 16:04:
TR's originele staat is geen display:block, dus dit loopt in een standaard browser in de soep ja :) Bovendien bestaat cursor: hand ook niet officieel, dit moet cursor: pointer zijn.
Hier heb ik weinig aan toe te voegen ;)

[ Voor 78% gewijzigd door RobIII op 02-05-2003 16:05 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 14:39

HenkS

Da_king alias HenkS

op mijn site (zie mijn homepage hier beneden)

gebruik ik dat ook...

ik haal data op uit een tabel, de comments komen ook uit de tabel (php en mysql) en dit show ik dan ook met een <div> uitklapbox

werkt mooi met IE en mozilla , kijk maar naar de site! (en source)

als je de precieze code moet hebben (incl php) dan mail maar
Pagina: 1