Toon posts:

[Show div onclick] Werkt niet na invoeging PHP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Middag tweakers ;),

Ik heb een pagina gemaakt waarop gegevens uit een database teruggeven worden in een tabel.
Op deze tabel moeten bepaalde gegevens in eerste instantie niet zichtbaar zijn (pas na het aanklikken van "Details"). Ook kun je ze na het bekijken weer sluiten door op "Simpel" te klikken.

Zonder de PHP werkt dit perfect

code:
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
53
54
55
56
<script>
// browser chceck
var ns4 = (document.layers) ? true : false;
var ie4 = (document.all && !document.getElementById) ? true : false;
var ie5 = (document.all && document.getElementById) ? true : false;
var ns6 = (!document.all && document.getElementById) ? true : false;

function show(sw,obj) {
    // trigger de divs
    if (sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'visible';
    if (!sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'hidden';
    if (sw && ns4) document.layers[obj].visibility = 'visible';
    if (!sw && ns4) document.layers[obj].visibility = 'hidden';
}

</script>

<style type="text/css">
<!--
.details {
    position: relative;
    visibility: hidden;
    left: 36px;
}
//-->
</style>

<table width="592" border="0" cellspacing="1" cellpadding="5" class="tablehead">

  <tr> 
    <td class="rowA" valign="top"><strong>Prioriteit</strong></td>
    <td class="rowB">&nbsp;</td>
  </tr>
  <tr> 
    <td height="28" class="rowA">&nbsp;</td>
    <td class="rowB"><form action="" method="post" name="schakel">
        <input name="button"  class="configs" type=button onClick="show(true,'div2');" value="Details">
        <input name="button2" class="configs" type=button onClick="show(false,'div2');" value="Simpel">
        <br>
      </form> 
  </td>
  </tr>
</table>

<div id = "div2" class = "details" align="left"> 
  <table width="450" border="0" cellspacing="1" cellpadding="5" class="tablehead">
  <tr> 
    <td class="rowA"><strong>Taak id</strong></td>
    <td class="rowB">&nbsp;</td>
  </tr>
  <tr> 
    <td class="rowA" valign="top"><strong>Toelichting</strong></td>
    <td class="rowB">&nbsp;</td>
  </tr>
</table>
</div>


Met PHP
code:
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
Javascript & Style element zijn hetzelfde uiteraard

<?
$sql = "SELECT * FROM todo_algemeen WHERE emp = '$user[username]' ORDER by plan_datum desc";
$result = mysql_query($sql);

   if (!$result) {
       echo "Kon de query niet uitvoeren: " . mysql_error();
       exit;
   }
   
   if (mysql_num_rows($result) == 0) {
       echo "Geen taken gevonden.";
       exit;
   }

   while ($row = mysql_fetch_assoc($result)) {
?>

<table width="592" border="0" cellspacing="1" cellpadding="5" class="tablehead">
   <tr> 
    <td class="rowA"><strong>Prioriteit</strong></td>
    <td class="rowB"><? echo $row["prioriteit"]; ?></td>
  </tr>
   <tr> 
    <td height="28" class="rowA">&nbsp;</td>
    <td class="rowB"><form action="" method="post" name="schakel">

<input type=button value="Details" onClick="show(true,'div2');">
 <input type=button value="Simpel" onClick="show(false,'div2');">
</form>
    </td>
  </tr>
</table>

<div id = "div2" class = "details" align="left"> 
  <table width="450" border="0" cellspacing="1" cellpadding="5" class="tablehead">
  <tr> 
    <td class="rowA"><strong>Taak id</strong></td>
    <td class="rowB">&nbsp;</td>
  </tr>
  <tr> 
    <td class="rowA" valign="top"><strong>Toelichting</strong></td>
    <td class="rowB"><? echo $row["toelichting"]; ?></td>
  </tr>
</table>
</div><? } ?>


Zelf denk ik dat het aan de while-loop van PHP ligt, dat ie daarmee in de clinche ligt.
Als dit zo is, hoe zou ik dan mijn code moeten aanpassen om het werkend te krijgen?

Iemand die me hiermee kan helpen?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Erg Basic: maar hier een kleine hint.

Als de pagina gemaakt word door PHP, hoe vaak komt id div2 dan voor?

Meerdere malen, en een id moet uniek zijn, wil je hem kunnen benaderen. Dus ......

Programmer - an organism that turns coffee into software.


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Zoals LuCarD al zegt: gebruik unieke id's :)

Zet bijvoorbeeld een teller in de while die je aan de functie aanroep en aan de id toevoegd.

Verwijderd

Topicstarter
Dus stel ik zou doen:

code:
1
2
<div id = "<? echo $row["id"]; ?>" class = "details" align="left">
</div>


Zou het moeten werken?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Even opletten dan unieke id's in div's niet met een nummer mogen beginnen.

En vergeet je JS niet...

Programmer - an organism that turns coffee into software.


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Als je dan ook nog:

code:
1
2
3
<div id = "<? echo 'div' . $row["id"]; ?>" class = "details" align="left"></div>
<input type=button value="Details" onClick="show(true,'<? echo 'div' . $row["id"]; ?>');">
<input type=button value="Simpel" onClick="show(false,'<? echo 'div' . $row["id"]; ?>');">


doet wel.

[ Voor 20% gewijzigd door André op 28-04-2005 16:35 ]


Verwijderd

Topicstarter
André schreef op donderdag 28 april 2005 @ 16:34:
Als je dan ook nog:

code:
1
2
3
<div id = "<? echo 'div' . $row["id"]; ?>" class = "details" align="left"></div>
<input type=button value="Details" onClick="show(true,'<? echo 'div' . $row["id"]; ?>');">
<input type=button value="Simpel" onClick="show(false,'<? echo 'div' . $row["id"]; ?>');">


doet wel.
Thnx, het werk zo inderdaad.
LuCarD schreef op donderdag 28 april 2005 @ 16:33:
Even opletten dan unieke id's in div's niet met een nummer mogen beginnen.

En vergeet je JS niet...
In de JS wordt er geen div id genoemd, dus ik snap even niet wat je bedoeld :?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op donderdag 28 april 2005 @ 16:37:
[...]


Thnx, het werk zo inderdaad.


[...]


In de JS wordt er geen div id genoemd, dus ik snap even niet wat je bedoeld :?
onClick="show(true,'div2'); tuurlijk wel.... alleen heet hij toevallig geen div id....

Maar Andre ( heeee, sinds wanneer ben jij Mod? ) was te snel met de volledige oplossing... :)

[ Voor 20% gewijzigd door LuCarD op 28-04-2005 16:41 ]

Programmer - an organism that turns coffee into software.


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

LuCarD schreef op donderdag 28 april 2005 @ 16:39:
heeee, sinds wanneer ben jij Mod?
offtopic:
Sinds gisteren ;)

Verwijderd

Topicstarter
LuCarD schreef op donderdag 28 april 2005 @ 16:39:
[...]


onClick="show(true,'div2'); tuurlijk wel.... alleen heet hij toevallig geen div id....
Je hebt gelijk, ik dacht even dat je het over de JS in de <script>-tag had.

Ik zal jullie niet snel vergeten :*)
Congrats :P

[ Voor 23% gewijzigd door Verwijderd op 28-04-2005 16:44 ]

Pagina: 1