++ wil niet tellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jurgen B

Jurgen B

23/11/2008 16:35:00
Quote Anchor link
Dag Mensen,

Ik heb een script waarin ik iets uit de database haal. Nou gebruik ik een stukje javascript voor het open klappen van de items.

Alleen als ik bij de onClick dezelfde waarde heb dan vouwt het systeem alleen de bovenste open en niet degene waar ik op klik! Nou probeer ik dat op te losse door alle waardes bij de onClick een ander getal mee te geven, maar dat werkt ook al niet! Wat doe ik daar fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <meta name="author" content="www.prodes.nl" />
<script type="text/javascript">
     function kadabra(zap) {
       if (document.getElementById) {
       var abra = document.getElementById(zap).style;
        if (abra.display == "block") {
        abra.display = "none";
        } else {
        abra.display= "block";
       }
       return false;
       } else {
       return true;
      }
     }
</script>
    <title>Untitled 2</title>
    <style type="text/css">
#tekst {
display:none;
width: 250px;
border: 1px solid black;
background-color: #EEE;
padding: 5px;
font-size: 12px;
}
</style>
</head>

<body>

<?php


include('config.php');
$test = "
    SELECT
        woord,
        uitleg
    FROM
        vragen
    ORDER BY
        woord
"
;




$res = mysql_query($test);
while($resultaat = mysql_fetch_assoc($res)){
    $i=1;
    $varnr = $i++;
    $content .=<<<EOF
    <a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst">{$resultaat['uitleg']}</p>
EOF
;
echo $varnr;
}


echo $content;



?>


</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Jurgen B
 
PHP hulp

PHP hulp

18/09/2020 12:15:23
 
Crispijn -

Crispijn -

23/11/2008 16:40:00
Quote Anchor link
Dit komt omdat je definitie van $i in je while staat. Elke keer wordt hij dus weer naar 1 gereset. Wanneer je $i = 1; op regel 55 zet, dus boven je while komt 't helemaal op orde.
 
Jurgen B

Jurgen B

23/11/2008 17:04:00
Quote Anchor link
Bedankt voor je oplossing! het werkt. alleen nu werkt het openen en sluiten weer niet. Bij geen van beide.
 
Aron K

Aron K

23/11/2008 17:37:00
Quote Anchor link
Waarschijnlijk zal dit komen omdat je ID niet uniek is in de whilelus.
 
Jurgen B

Jurgen B

23/11/2008 17:41:00
Quote Anchor link
Hoe bedoel je dat precies? Het is nu 1,2,3 enz. enz.
 
Aron K

Aron K

23/11/2008 17:47:00
Quote Anchor link
Je roept je js-functie aan met een $varid, het js gaat zoeken naar een element met het id $varid, maar in jouw code zie ik nergens een element waar in staat: id="$varid".
 
Jurgen B

Jurgen B

23/11/2008 17:57:00
Quote Anchor link
Ik zie $varid nergens hoor.

Dit is het origineel btw
http://www.html-site.nl/uitklappen.php
 
Jurgen B

Jurgen B

23/11/2008 19:13:00
Quote Anchor link
Of bedoel je met $varid varibel id?

Maar dan nog snap ik het niet (A)
 
Maarten Slenter

Maarten Slenter

23/11/2008 19:46:00
Quote Anchor link
Als we dit nou eens doen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$content
.=<<<EOF
    <a href="#" onclick="return kadabra('{$varnr}');">{$resultaat['woord']}</a><br /><p id="tekst_{$varnr}">{$resultaat['uitleg']}</p>
EOF
;
?>


en ook

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
var abra = document.getElementById('tekst_'+zap).style;
[\code]

als het goed is zou het zo moeten werken, maar het is niet echt handig programmeren zo:P
 
Jurgen B

Jurgen B

23/11/2008 20:38:00
Quote Anchor link
Dan komen we al een stuk verder. Zou je zo vrij willen zijn om ook even uit te leggen wat ik nu precies doe met die code, want ik snap de werking niet precies. Anders leer ik alleen kopiëren en plakken :p

maar nu is de situatie als volgt:
Er wordt bij het openen getoond:
test <= waar ik op moet klikken
Hier staat dus uitleg over wat een test precies is

Dan klik ik op test en gebeurd er niets .. Als ik nog een keer op test klik klapt ie pas in.

Dus de volgorde van openklappen is verkeerd.

Volgens mij ligt dat er aan dat ie nu de stylesheet niet kan vinden die hidden heeft.

De generated source bevat het volgende: <p id="tekst_1"> dus vandaar dat het openklappen e.d. niet goed werkt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.