Functie aanroepen via <tr onClick>

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Jans

Bart Jans

24/12/2013 11:09:02
Quote Anchor link
Hallo,

ik probeer om iets te schrijven dat gegevens van een klant (site) opent als je op een bepaalde rij in een tabel klikt. De tabel staat zelf in een omvattende tabel die ik ipv frames gebruik. De bedoeling is dat gegevens van de geselecteerde rij opgeslagen worden, dat de bestaande tabel gecleared wordt en eigenlijk vervangen wordt in de omvattende tabel met gegevens van de geselecteerde klant.
Heb al vanalles geprobeerd, maar tot op heden krijg ik dit niet opgelost.

Mijn code dusver :
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
<BODY>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
function SubmitThisRow()
{
    <?php
    //$data=0;
    ?>

}

</script>

Code van de tabel :
        print ("<TABLE border=2>
                <th>Country</th>
                <th>Site Name</th>
                <tr>");
                $classtr= 1;
                while ($gegevens = mysql_fetch_object($data))
                {
                    print ("<tr class=\"tr$classtr\" onClick='SubmitThisRow(this)' onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                <td>$gegevens->Country</td>
                <td>$gegevens->Site</td>
                </tr>
            ");
            $classtr=($classtr == 1) ? 2 : 1;
        }
        print ("</TABLE>");



- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Gewijzigd op 24/12/2013 14:55:07 door - Ariën -
 
PHP hulp

PHP hulp

25/09/2021 09:01:49
 
Kris Peeters

Kris Peeters

24/12/2013 14:52:46
Quote Anchor link
Een aantal dingen:

- Een tabel werk niet zoals jij toont.
Een tabel werkt zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<table>
  <tr>
    <th>hoofding 1</th>
    <th>hoofding 2</th>
  </tr>
  <tr>
    <td> ... </td>
    <td> ... </td>
  </tr>
</table>


Een cel in een rij. Een rij in een tabel.
Jij zet niet alle cellen in een rij.

Bart Jans op 24/12/2013 11:09:02:
De bedoeling is dat gegevens van de geselecteerde rij opgeslagen worden, dat de bestaande tabel gecleared wordt en eigenlijk vervangen wordt in de omvattende tabel met gegevens van de geselecteerde klant.


Okay, toon even een voorbeeld van die gegevens.
Toon eens een <table>, met gegevens ingevuld. 2 of 3 rijen

Wat moet er precies gebeuren als de gebruiker op de tweede rij klikt?
Welke gegevens moeten gelezen worden? Moet er iets geschreven worden in de DB?

---
Toon trouwens die SQL string. Dat vertelt misschien al veel
Gewijzigd op 24/12/2013 14:55:16 door Kris Peeters
 
Bart Jans

Bart Jans

24/12/2013 15:14:44
Quote Anchor link
Dag Kris Peeters,

dank voor de snelle reactie!

Als tabel heb ik iets dergelijks :

Country | Site
----------------
Belgium | Klant1
Germany | Klant2
Austria | Klant3

Dit werkt reeds. Nu is de bedoeling dat je door een muisklik op bv. rij 2 extra gegevens krijgt die bij deze klant horen, zoals contact personen van de klant, ... . Deze info zit in een andere tabel van de DB en is teveel om in 1 tabel op te lossen. Momenteel probeer ik via javascript function "SubmitThisRow", maar werkt niet. bovenstaande staat er enkel iets in comment, dus is normaal, maar zelfs al doe ik bv. een echo gebeurt er niks.

Bijkomende info : bovenstaande voorbeeld tabel wordt geopend in een andere (omvattende) tabel. Hiermee bedoel ik, heb geen gebruik gemaakt van HTML frames voor header en linker info, maar een tabel. (Heb ooit gehoord dat dit dynamischer is, vandaar :) )

Ziet er zo ongeveer uit :

Dit is mijn site
---------------------------------------------------------------
klant data| Country | Site
optie 2 | --------------
optie 3 | Belgium | klant1

Door op "klant data" te klikken krijg je de tabel met country+site (werkt reeds).
En dus door in dit geval op rij van klant1 te klikken zou deze tabel van het scherm moeten 'verdwijnen' en alle data van klant1 in de plaats tonen. Hopelijk is dit wat duidelijk :) Heb al jaren niks meer geprogrammeerd en ben ook geen expert, dus is voor mij nogal zoeken :)
 
Kris Peeters

Kris Peeters

24/12/2013 15:23:25
Quote Anchor link
En dat alles met javascript; met Ajax?

Bart Jans op 24/12/2013 15:14:44:
Door op "klant data" te klikken krijg je de tabel met country+site (werkt reeds).


Toon eens hoe je dat gedaan hebt.

---
Ik zal al eens een voorbeeld tonen
 
Bart Jans

Bart Jans

24/12/2013 15:31:19
Quote Anchor link
session_start();
include("Connections/db.php");
mysql_select_db($database_db, $db);
$maxrows = 20;
$currentpage = $_SERVER["PHP_SELF"];
$pagenr = 0;
$totalrows=0;
$totalen=0;
$totalpages=0;
$user = $_SESSION['user'];
$password = $_SESSION['pass'];
$sql="SELECT Surname FROM users WHERE Username='$user' and Password='$password'";
$result=mysql_query($sql) or die (mysql_error());
$result2=mysql_fetch_array($result);
$surname= $result2[0];
if (isset ($_GET['data']))
{
$data=$_GET['data'];
}
else
{
$data=0;
}
if (isset ($_GET['pagenr']))
{
$pagenr=$_GET['pagenr'];
}
else
{
$pagenr = 0;
}
$startrow = $pagenr * $maxrows;
?>

<HTML>
<HEAD>
<TITLE>Information Center</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="pragma" content="no-cache">
<link href="clm.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
function SubmitThisRow()
{
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    //$data=0;
    echo $gegevens->Country;
    echo $gegevens->Site;
    ?>

}

</script>

<table width="100%">
<td align="left"><img src="Pictures\Systems.jpg" height="110" width="250"></td>
<td align="left"><font style="font-family:sans-serif; font-size:16px; color:white;"><b>Information Center</b></font></td>
<td align="right"><img src="Pictures\logo.jpg"></td>
</table>
<table border="0" width="100%">
<tr>
<td>
<table border="0" width="150">
<tr><tr><tr>
<td align="center"><h3><b>Welcome,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ($surname) ?>
</b></h3></td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ("?data=1"); ?>
">
Login Data
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">Troubleshoot guide</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ("?data=2"); ?>
">
<img src="Pictures\FP.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ("?data=3"); ?>
">
<img src="Pictures\US_pic1.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ("?data=4"); ?>
">
<img src="Pictures\pic1.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf ("?data=5"); ?>
">
<img src="Pictures\Max.jpg">
</a>
</td>
</tr>
</table>
</td>
<td>
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
switch ($data)
{
    case
0 : echo "Awaiting instructions";
    break;
    case
1 :
        $rights="SELECT Region from users where Username = '$user'";
        $right=mysql_query ($rights) or die (mysql_error());
        $rights2=mysql_fetch_array($right);
        $right= $rights2[0];
        if ($right == 'HQ')
        {

            $aantal=0;
            $querystring = "";
            if (!empty($_SERVER['QUERY_STRING']))
            {

                $params= explode("&",$_SERVER['QUERY_STRING']);
                $newparams= array();
                foreach ($params as $param)
                {

                    if (stristr($param,"pagenr") == false && stristr($param,"totalrows") == false)
                    {

                        array_push($newparams,$param);
                    }
                }

                if (count($newparams) != 0)
                {

                    $querystring = "&" .implode("&",$newparams);
                }
            }

            $sql2 = "SELECT Country, Site from account order by Region, Country, Site";
            $landen = mysql_query ($sql2) or die (mysql_error());
            $limiet = sprintf("%s LIMIT %d, %d",$sql2,$startrow,$maxrows);
            $data = mysql_query ($limiet) or die (mysql_error());
            $sql3 = "SELECT * from account";
            $totaal = mysql_query ($sql3) or die (mysql_error());
            $totalrows = mysql_num_rows($totaal);
            $totalpages = ceil ($totalrows/$maxrows)-1;
                print ("<TABLE border=2>
                        <th>Country</th>
                        <th>Site Name</th>
                        <tr>"
);
                $classtr= 1;
                while ($gegevens = mysql_fetch_object($data))
                {
                    ?
Site=$gegevens->Site;
                    ?
Country=$gegevens->Country;
                    print ("<tr class=\"tr$classtr\" onClick='SubmitThisRow(this)' onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$gegevens->Country</td>
                        <td>$gegevens->Site</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

                print ("</TABLE>");
        }

        else
        {
            $aantal=0;
            $querystring = "";
            if (!empty($_SERVER['QUERY_STRING']))
            {

                $params= explode("&",$_SERVER['QUERY_STRING']);
                $newparams= array();
                foreach ($params as $param)
                {

                    if (stristr($param,"pagenr") == false && stristr($param,"totalrows") == false)
                    {

                        array_push($newparams,$param);
                    }
                }

                if (count($newparams) != 0)
                {

                    $querystring = "&" .implode("&",$newparams);
                }
            }

            $sql2 = "SELECT Country, Site from account where Region = '$right' order by Region, Country, Site";
            $landen = mysql_query ($sql2) or die (mysql_error());
            $limiet = sprintf("%s LIMIT %d, %d",$sql2,$startrow,$maxrows);
            $data = mysql_query ($limiet) or die (mysql_error());
            $sql3 = "SELECT * from account where Region = '$right' ";
            $totaal = mysql_query ($sql3) or die (mysql_error());
            $totalrows = mysql_num_rows($totaal);
            $totalpages = ceil ($totalrows/$maxrows)-1;
                print ("<TABLE border=2>
                        <th>Country</th>
                        <th>Site Name</th>
                        <tr>"
);
                $classtr= 1;
                while ($gegevens = mysql_fetch_object($data))
                {

                    print ("<tr class=\"tr$classtr\" onClick='SubmitThisRow(this)' onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$gegevens->Country</td>
                        <td>$gegevens->Site</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

                print ("</TABLE>");
        }

    break;
    case
2 : include ("FP.html");
    break;
    case
3 : include ("PM.html");
    break;
    case
4 : include ("G.html");
    break;
    case
5 : include ("Max.html");
    break;
$querystring = "";    
$querystring = sprintf ("&totalrows=%d%s",$totalrows,$querystring);
}

?>

</td>
<table align="center">
<tr><td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($pagenr > 0) { ?>
<td align="center"><a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf("%s?pagenr=%d%s",$currentpage,0,$querystring); ?>
"><img src="Pictures\First.gif"></a>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($pagenr > 0) { ?>
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf("%s?pagenr=%d%s",$currentpage,max(0,$pagenr-1),$querystring); ?>
"><img src="Pictures\Previous.gif"></a>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($pagenr < $totalpages) { ?>
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf("%s?pagenr=%d%s",$currentpage,min($totalpages,$pagenr+1),$querystring); ?>
"><img src="Pictures\Next.gif"></a>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
</td>
<td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ($pagenr < $totalpages) { ?>
<a href="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php printf("%s?pagenr=%d%s",$currentpage,$totalpages,$querystring); ?>
"><img src="Pictures\Last.gif"></a></td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
</td>
</table>
</tr>
</table>
</BODY>
</HTML>


Toevoeging op 24/12/2013 15:35:19:

Beste,

dit is mijn code tot nu. Eigenlijk log je in, en kom je op deze page terecht.
Hier, als je dus op klant data (login data eigenlijk) klikt in de linkerkolom krijg je de tabel, en hangt er vanaf welke rechten de user heeft. 'HQ' zal alles kunnen zien, en iemand met minder rights (hangt van regio van de persoon af) zal ie enkel de klanten voor die regio zien

Toevoeging op 24/12/2013 15:58:11:

O ja, ivm Ajax. Wil niet persé via javascript werken, zocht gewoon wat info via google over hoe ik best data via onClick doorgeef en kwam daar op uit ...
 
Kris Peeters

Kris Peeters

24/12/2013 16:12:04
Quote Anchor link
onClick IS javascript.
Javascript die contact maakt met een server heet Ajax.

------

Kijk hier eens naar. Een voorbeeld van Ajax.
Al een beetje in de vorm waar je naartoe wil

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
<?php
if (isset($_GET['ajax'], $_GET['id'])) {
  $content = '';
  // TO DO: connectie gegevens in orde brengen
  // zorg dat de SQL klopt met jouw gegevens en veldnamen...

  $sql = "SELECT id, country, extra FROM account WHERE id=" . (int) $_GET['id'];
  /*
  $res = mysql_query($sql);
  if($row = mysql_fetch_assoc($res)) {
    $content = '<tr><td>' . $row['country'] . '</td><td>' . $row['extra'] . '</td></tr>';
  }
  // de echo die we hier sturen, is de return dieAjax krijgt, in de success callback
  echo $content;
  */

  // zorg dat de SQL klopt, en alles goed is aangesloten ... verwijder dan de commentaar tekens en voer die statements uit.
  // nu toon ik, als voorbeeld, gewoon de SQL string

  echo $sql;  // en verwijder dan deze lijn ...
  exit;
}

?>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {      // wordt uitgevoerd wanneer de pagina (de DOM) geladen is
  $('#my_table tr').click(function() { // wordt uitgevoerd wanneer de gebruiker op een <tr> van #my_table klikt
    // $(this) is de <tr> waar de gebruiker op heeft geklikt
    // id lezen van de <tr> .  Wordt gelezen uit de data-id waarde
    var id = $(this).data('id');
    // we sturen een Ajax verzoek.  We sturen de id mee, en verwachten om de gegevens van die klant terug te krijgen van de server
    $.ajax({
      url: 'index.php?ajax=1',
      data: {id: id},
      success: function(data) {
        // we steken data in #result
        $('#result').html(data);
      }
    });
  });
});
</script>
<table id="my_table">
  <tr>
    <th>Country</th>
    <th>Site</th>
  </tr>
  <tr data-id="15">
    <td>Belgium</td>
    <td>Klant1</td>
    <td></td>
  </tr>
  <tr data-id="17">
    <td>Germany</td>
    <td>Klant2</td>
    <td></td>
  </tr>
  <tr data-id="21">
    <td>Austria</td>
    <td>Klant3</td>
    <td></td>
  </tr>
</table>
<div id="result"></div>
Gewijzigd op 24/12/2013 16:15:51 door Kris Peeters
 
- Pepijn  -

- Pepijn -

24/12/2013 16:14:34
Quote Anchor link
Schrijf het de volgende keer tussen de code tags, zodat het leesbaar is.
Gewijzigd op 24/12/2013 16:15:43 door - Pepijn -
 
Bart Jans

Bart Jans

24/12/2013 16:20:54
Quote Anchor link
Thanks ! Ga ik zo snel mogelijk proberen. :)
Zal wel niet meer voor vandaag zijn, moet naar een feestje.

Bedankt alleszins, en prettige feesten !

Toevoeging op 25/12/2013 13:18:13:

Beste,

is het mogelijk om ipv <tr data-id="integer"> hier data-id "klant2" of "klant1" te hebben ?
Dit omdat er in de $sql query moet gezocht worden naar waar de klantnaam overeen komt, de rijen hebben geen nummer, en vermits verschillende users andere rijen zien kan dit ook niet.

Thanks, begint er op te lijken !
 
Bart Jans

Bart Jans

26/12/2013 13:43:36
Quote Anchor link
Beste(n),

de code werkt prima !
Het probleem nu is dat alle extra info die ik via de klik op een van de rijen oproep onder de tabel terecht komt.
Ik zou graag hebben dat de eerste tabel van het scherm verdwijnt en de extra info dan op 2 pagina's komt.
Is dit mogelijk ?

Nu zoekt de code eerst hoeveel rijen er in de eerste tabel moeten, en toont ze dan per 20 per pagina. Je klikt van de ene pagina naar de andere door middel van knopjes beneden het scherm.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

26/12/2013 13:51:38
Quote Anchor link
Beste bart,

Een HTML element met zijn inhoud kun je simpel aan het oog onttrekken door er de volgende css class toe te voegen aan het element:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
.verberg-mij {
    display:none;
}


in javascript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
var d = document.getElementById("my_table");
d.className = d.className + " verberg-mij";


Wat bedoel je met twee pagina's? We praten immers altijd over één pagina tegelijk..
Gewijzigd op 26/12/2013 13:53:01 door Frank Nietbelangrijk
 
Bart Jans

Bart Jans

26/12/2013 14:17:54
Quote Anchor link
Pagina's is misschien het verkeerde woord hiervoor.
Komt er op neer dat mijn tabel pakweg 80 rijen heeft. Ik wou deze niet alle 80 tegelijk op het scherm, en vandaar heb ik code geschreven die 20 rijen weergeeft per 'pagina'. Je gaat naar de volgende 20 rijen door een klik op knopje beneden het scherm of weer terug.
Indien nodig copy/paste ik mijn code hier terug, tussen code tags deze keer zodat het leesbaarder is :)

Vanuit die tabel met 20 rijen moet je dus kunnen klikken op een rij, dat dan extra info oproept. Nu lukt dat wel dankzij ajax, maar de data komt onderaan de tabel terecht ipv op een lege 'pagina'. Ik zou graag ook deze extra info op 2 'pagina's' krijgen, wederom voor de leesbaarheid.

Toevoeging op 26/12/2013 15:38:07:

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
<?php
session_start();
include("Connections/db.php");
mysql_select_db($database_db, $db);
$maxrows = 20;
$currentpage = $_SERVER["PHP_SELF"];
$pagenr = 0;
$totalrows=0;
$totalen=0;
$totalpages=0;
$user = $_SESSION['user'];
$password = $_SESSION['pass'];
$sql="SELECT Surname FROM users WHERE Username='$user' and Password='$password'";
$result=mysql_query($sql) or die (mysql_error());
$result2=mysql_fetch_array($result);
$surname= $result2[0];
if (isset ($_GET['data']))
{

    $data=$_GET['data'];
}

else
{
    $data=0;
}

if (isset ($_GET['pagenr']))
{

    $pagenr=$_GET['pagenr'];
}

else
{
    $pagenr = 0;
}

$startrow = $pagenr * $maxrows;

if (isset($_GET['ajax'], $_GET['id'])) {
  $aantal=0;
  $content = '';
  $waarde=$_GET['id'];
  $sql = "SELECT Accountname FROM account WHERE Site= '$waarde' ";
  $accountname = mysql_query($sql) or die (mysql_error());
  $accountname = mysql_fetch_array($accountname);
  $accountname = $accountname[0];
  $sql2= "SELECT Site,ConfigID,Address,ZIP,City,Country,Contact,Phonenumber from account where Accountname='$accountname' ";
  $accountgeg = mysql_query($sql2) or die (mysql_error());
  print ("<TABLE border=2>
                        <th>Site Name</th>
                        <th>Config ID</th>
                        <th>Address</th>
                        <th>ZIP</th>
                                 <th>City</th>
                        <th>Country</th>
                        <th>Contact</th>
                        <th>Phone Number</th>
                        </tr>"
);
    $classtr= 1;
    while ($row = mysql_fetch_object($accountgeg))
                {

                    print ("<tr class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$row->Site</td>
                        <td>$row->ConfigID</td>
                        <td>$row->Address</td>
                        <td>$row->ZIP</td>
                        <td>$row->City</td>
                        <td>$row->Country</td>
                        <td>$row->Contact</td>
                        <td>$row->Phonenumber</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

    print ("</TABLE>");    
    print ("Info <br>");
    print ("<TEXTAREA name='poi' rows='4' cols='80'></TEXTAREA><br>");
    print ("<INPUT TYPE = 'Submit' Name = 'Submit1' VALUE = 'Save'>");
    $sql2= "SELECT Type,SerialNR,PCName,IPAddress,LoginID,Loginpassword, Adminuser,Adminpassword, Domainuser,Domainpassword, VNCpassword from instrument where Accountname='$accountname' order by Type";
    $instrumentgeg = mysql_query($sql2) or die (mysql_error());
    print ("<TABLE border=2>
                        <th>Type</th>
                        <th>Serial Number</th>
                        <th>PC Name</th>
                        <th>IP Address</th>
                                  <th>Login ID</th>
                        <th>Login Password</th>
                        <th>Admin User</th>
                        <th>Admin Password</th>
                        <th>Domain User</th>
                        <th>Domain Password</th>
                        <th>VNC Password</th>
                        </tr>"
);
    $classtr= 1;
    while ($row = mysql_fetch_object($instrumentgeg))
                {

                    print ("<tr class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$row->Type</td>
                        <td>$row->SerialNR</td>
                        <td>$row->PCName</td>
                        <td>$row->IPAddress</td>
                        <td>$row->LoginID</td>
                        <td>$row->Loginpassword</td>
                        <td>$row->Adminuser</td>
                        <td>$row->Adminpassword</td>
                        <td>$row->Domainuser</td>
                        <td>$row->Domainpassword</td>
                        <td>$row->VNCpassword</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

    print ("</TABLE>");    
    $sql2= "SELECT Type,ID,Password,VM from connection where Accountname='$accountname'";
    $connectioninfo = mysql_query($sql2) or die (mysql_error());
    print ("<TABLE border=2>
                        <th>Connection Type</th>
                        <th>Login ID</th>
                        <th>Password</th>
                        <th>VM</th>
                        </tr>"
);
    $classtr= 1;
    while ($row = mysql_fetch_object($connectioninfo))
                {

                    print ("<tr class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$row->Type</td>
                        <td>$row->ID</td>
                        <td>$row->Password</td>
                        <td>$row->VM</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

    print ("</TABLE>");    
    $sql2= "SELECT Subnet,Gateway,DNS,DNS2,SMTP from extra where Accountname='$accountname'";
    $extrainfo = mysql_query($sql2) or die (mysql_error());
    print ("<TABLE border=2>
                        <th>Subnet</th>
                        <th>Gateway</th>
                        <th>DNS</th>
                        <th>Alternate DNS</th>
                        <th>SMTP Server</th>
                        </tr>"
);
    $classtr= 1;
    while ($row = mysql_fetch_object($extrainfo))
                {

                    print ("<tr class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$row->Subnet</td>
                        <td>$row->Gateway</td>
                        <td>$row->DNS</td>
                        <td>$row->DNS2</td>
                        <td>$row->SMTP</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

    print ("</TABLE><br>");    
    print ("Connection Info <br>");
    print ("<TEXTAREA name='coninfo' rows='8' cols='80'></TEXTAREA><br>");
    print ("<INPUT TYPE = 'Submit' Name = 'Submit2' VALUE = 'Save'>");
  exit;
}

?>


<HTML>
<HEAD>
<TITLE>Information Center</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="pragma" content="no-cache">
<link href="clm.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {      
  $('#my_table tr').click(function() {
    var id = $(this).data('id');
    $.ajax({
      url: 'MainPage.php?ajax=1',
      data: {id: id},
      success: function(data) {
        $('#result').html(data);
      }
    });
  });
});
</script>

<table width="100%">
<td align="left"><img src="Pictures\Systems.jpg" height="110" width="250"></td>
<td align="left"><font style="font-family:sans-serif; font-size:16px; color:white;"><b>Information Center</b></font></td>
<td align="right"><img src="Pictures\logo.jpg"></td>
</table>
<table border="0" width="100%">
<tr>
<td>
<table border="0" width="150">
<tr><tr><tr>
<td align="center"><h3><b>Welcome, <?php printf ($surname) ?> </b></h3></td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="<?php printf ("?data=1"); ?> ">
Login Data
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">Troubleshoot guide</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="<?php printf ("?data=2"); ?> ">
<img src="Pictures\FP.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="<?php printf ("?data=3"); ?> ">
<img src="Pictures\US_pic1.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="<?php printf ("?data=4"); ?> ">
<img src="Pictures\screening_pic1.jpg">
</a>
</td>
</tr>
<tr><tr>
<tr>
<td align="center">
<a href="<?php printf ("?data=5"); ?> ">
<img src="Pictures\Max.jpg">
</a>
</td>
</tr>
</table>
</td>
<td>

<?php
switch ($data)
{
    case
0 : echo "Awaiting instructions";
    break;
    case
1 :
        $rights="SELECT Region from users where Username = '$user'";
        $right=mysql_query ($rights) or die (mysql_error());
        $rights2=mysql_fetch_array($right);
        $right= $rights2[0];
        if ($right == 'HQ')
        {

            $aantal=0;
            $querystring = "";
            if (!empty($_SERVER['QUERY_STRING']))
            {

                $params= explode("&",$_SERVER['QUERY_STRING']);
                $newparams= array();
                foreach ($params as $param)
                {

                    if (stristr($param,"pagenr") == false && stristr($param,"totalrows") == false)
                    {

                        array_push($newparams,$param);
                    }
                }

                if (count($newparams) != 0)
                {

                    $querystring = "&" .implode("&",$newparams);
                }
            }

            $sql2 = "SELECT Country, Site from account order by Region, Country, Site";
            $landen = mysql_query ($sql2) or die (mysql_error());
            $limiet = sprintf("%s LIMIT %d, %d",$sql2,$startrow,$maxrows);
            $data = mysql_query ($limiet) or die (mysql_error());
            $sql3 = "SELECT * from account";
            $totaal = mysql_query ($sql3) or die (mysql_error());
            $totalrows = mysql_num_rows($totaal);
            $totalpages = ceil ($totalrows/$maxrows)-1;
                print ("<TABLE border=2 id='my_table'>
                        <th>Country</th>
                        <th>Site Name</th>
                        </tr>"
);
                $classtr= 1;
                while ($gegevens = mysql_fetch_object($data))
                {

                    print ("<tr data-id='$gegevens->Site' class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$gegevens->Country</td>
                        <td>$gegevens->Site</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

                print ("</TABLE><div id='result'></div>");
        }

        else
        {
            $aantal=0;
            $querystring = "";
            if (!empty($_SERVER['QUERY_STRING']))
            {

                $params= explode("&",$_SERVER['QUERY_STRING']);
                $newparams= array();
                foreach ($params as $param)
                {

                    if (stristr($param,"pagenr") == false && stristr($param,"totalrows") == false)
                    {

                        array_push($newparams,$param);
                    }
                }

                if (count($newparams) != 0)
                {

                    $querystring = "&" .implode("&",$newparams);
                }
            }

            $sql2 = "SELECT Country, Site from account where Region = '$right' order by Region, Country, Site";
            $landen = mysql_query ($sql2) or die (mysql_error());
            $limiet = sprintf("%s LIMIT %d, %d",$sql2,$startrow,$maxrows);
            $data = mysql_query ($limiet) or die (mysql_error());
            $sql3 = "SELECT * from account where Region = '$right' ";
            $totaal = mysql_query ($sql3) or die (mysql_error());
            $totalrows = mysql_num_rows($totaal);
            $totalpages = ceil ($totalrows/$maxrows)-1;
                print ("<TABLE border=2 id='my_table'>
                        <th>Country</th>
                        <th>Site Name</th>
                        </tr>"
);
                $classtr= 1;
                while ($gegevens = mysql_fetch_object($data))
                {

                    print ("<tr data-id='$gegevens->Site' class=\"tr$classtr\" onMouseOver=\"this.className='trover'\" onMouseOut=\"this.className='tr$classtr'\">
                        <td>$gegevens->Country</td>
                        <td>$gegevens->Site</td>
                        </tr>
                    "
);
                    $classtr=($classtr == 1) ? 2 : 1;
                }

                print ("</TABLE><div id='result'></div>");
        }

    break;
$querystring = "";    
$querystring = sprintf ("&totalrows=%d%s",$totalrows,$querystring);
}

?>

</td>
<table align="center">
<tr><td><?php if ($pagenr > 0) { ?><td align="center"><a href="<?php printf("%s?pagenr=%d%s",$currentpage,0,$querystring); ?>"><img src="Pictures\First.gif"></a> <?php } ?></td>
    <td><?php if ($pagenr > 0) { ?> <a href="<?php printf("%s?pagenr=%d%s",$currentpage,max(0,$pagenr-1),$querystring); ?>"><img src="Pictures\Previous.gif"></a> <?php } ?></td>
    <td><?php if ($pagenr < $totalpages) { ?> <a href="<?php printf("%s?pagenr=%d%s",$currentpage,min($totalpages,$pagenr+1),$querystring); ?>"><img src="Pictures\Next.gif"></a> <?php } ?></td>
    <td><?php if ($pagenr < $totalpages) { ?> <a href="<?php printf("%s?pagenr=%d%s",$currentpage,$totalpages,$querystring); ?>"><img src="Pictures\Last.gif"></a></td> <?php } ?></td>
</table>
</tr>
</table>
</BODY>
</HTML>
 
Bart Jans

Bart Jans

02/01/2014 09:52:13
Quote Anchor link
Niemand een idee ?
Als ik op data in mijn eerste tabel klik krijg ik de juiste data, maar wordt onder de tabel gezet.
Zou dit op een lege nieuwe 'page' willen.

Hulp is zeker welkom :)
 
Kris Peeters

Kris Peeters

02/01/2014 10:00:41
Quote Anchor link
O ja, ik zal nog eens kijken.

Kan je me een SQL-export geven; met de structuur + een aantal rijen ...

Misschien best via PM of mail

Dan kan ik ook alle losse eindjes aan mekaar knopen
(Ik test dit soort dingen eerst altijd met dummy data; aan de post van de topic starter probeer ik te reconstrueren welke HTML en data kunnen passen bij de code die ze posten).
 



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.