database gegevens in 2 tabellen weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Rick

rick

12/05/2009 11:31:00
Quote Anchor link
Hoe krijg ik nu automatisch die rechter kolom dan als mijn A4 vol is???
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

// onderstaand array is dus jouw database
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
$max = mysql_num_rows($query);

// aantal kolommen die je wilt hebben
$kolommen = 2;

// afblijven
$stap = ceil($max / $kolommen);

echo '<table>';
for($i=0; $i<$stap; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $stap)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            while($row = mysql_fetch_array( $query )) {
            $id = $row['id'];
                        
            $sql2 = "SELECT * FROM intern WHERE id=$id";
            $query2 = mysql_query($sql2);
            if (!$query2) {
            echo "Foutje in je query: ".mysql_error().".<br />De query was: ".$query;
            }

            
            while($row2 = mysql_fetch_array( $query2 )) {
                $naam = $row2['naam'];
            }

                        
            echo "<td width='140'>" . $row['naam']. '</td>';
            echo "<td width='100'>" . $row['nummer'] . '</td>';
            echo '</tr>';
            }
        }

        else
        {
            echo '<td> </td>';
        }
    }

    echo '</tr>';
}

echo '</table>';
?>
 
PHP hulp

PHP hulp

26/11/2024 04:32:33
 

12/05/2009 11:38:00
Quote Anchor link
rick schreef op 12.05.2009 11:31:
Hoe krijg ik nu automatisch die rechter kolom dan als mijn A4 vol is???

Ik denk niet dat dat gaat...
 
- SanThe -

- SanThe -

12/05/2009 11:38:00
Quote Anchor link
De echo kun je uiteraard uitbreiden.
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

// onderstaand array is dus jouw database
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
$max = mysql_num_rows($query);

// aantal kolommen die je wilt hebben
$kolommen = 2;

// afblijven
$stap = ceil($max / $kolommen);

echo '<table>';
for($i=0; $i<$stap; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $stap)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            $row2 = mysql_fetch_array( $query ));
            echo '<td width="100">' . $row2['naam'] . '</td>';
        }

        else
        {
            echo '<td> </td>';
        }
    }

    echo '</tr>';
}

echo '</table>';
?>
 
Rick

rick

12/05/2009 11:49:00
Quote Anchor link
Hij doet het hartstikke bedankt voor jullie hulp.
Mijn uiteindelijke code:
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

// onderstaand array is dus jouw database
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
$max = mysql_num_rows($query);

// aantal kolommen die je wilt hebben
$kolommen = 2;

// afblijven
$stap = ceil($max / $kolommen);
?>

<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
<tr align='left'>
    <td width="100"><b>Naam</b></td>
    <td width="10"><b>Telnr.</b></td>
    <td width="10"><b>Inlog</b></td>
    <td width="120"><b>Afdeling</b></td>
    <td width="10"><b>Groep</b></td>
    
    <td width="100"><b>Naam</b></td>
    <td width="10"><b>Telnr.</b></td>
    <td width="10"><b>Inlog</b></td>
    <td width="120"><b>Afdeling</b></td>
    <td width="10"><b>Groep</b></td>
</tr>
<?php
for($i=0; $i<$stap; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $stap)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            $row2 = (mysql_fetch_array( $query ));
            echo '<td width="100">' . $row2['naam'] . '</td>';
            echo '<td width="10">' . $row2['nummer'] . '</td>';
            echo '<td width="10">' . $row2['inlog'] . '</td>';
            echo '<td width="120">' . $row2['afdeling'] . '</td>';
            echo '<td width="10">' . $row2['groep'] . '</td>';
        }

        
        else
        {
            echo '<td> </td>';
        }
    }

    echo '</tr>';
}

echo '</table>';
?>
 
- SanThe -

- SanThe -

12/05/2009 11:55:00
Quote Anchor link
Graag gedaan en mooi dat je tevreden bent.
 
Rick

rick

12/05/2009 14:19:00
Quote Anchor link
Ik zit nu een beetje te proberen weer met het script. Nu wordt de alfabetische volgorde van links naar rechts gedaan en zo de gehele lijst door. Nu ben ik aan het proberen om de volgorde van boven naar beneden te krijgen. En wanneer de linker tabel 79 rows telt de rechter tabel te openen.

De linkerkant gaat maar tot 79 rows maar nu moet ik de rest van de rows nog in de rechter tabel plaatsen.

Dit stukje code heb ik tot nu toe:
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
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

echo '<b>Interne nummers op naam</b>';


// onderstaand array is dus jouw database
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");
$aantal = mysql_num_rows($query);

// aantal kolommen die je wilt hebben
$kolommen = 2;


?>

<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
<tr align='left'>
    <td width="100"><b>Naam</b></td>
    <td width="10"><b>Telnr.</b></td>
    <td width="10"><b>Inlog</b></td>
    <td width="120"><b>Afdeling</b></td>
    <td width="10"><b>Groep</b></td>
    
    <td width="100"><b>Naam</b></td>
    <td width="10"><b>Telnr.</b></td>
    <td width="10"><b>Inlog</b></td>
    <td width="120"><b>Afdeling</b></td>
    <td width="10"><b>Groep</b></td>
</tr>
<?php
// afblijven
$max = 79;

for($links=0; $links<$max; $links++)
{

    echo '<tr>';

       // if($max < $aantal)

    if ($links < $max)
    {

            // hier moet je fetchen en de data neerzetten
            $row2 = (mysql_fetch_array( $query ));
            echo '<td width="100">' . $row2['naam'] . '</td>';
            echo '<td width="10">' . $row2['nummer'] . '</td>';
            echo '<td width="10">' . $row2['inlog'] . '</td>';
            echo '<td width="120">' . $row2['afdeling'] . '</td>';
            echo '<td width="10">' . $row2['groep'] . '</td>';    
    }

    else
    {
        echo '<td> </td>';
    }      
}


echo '</table>';
?>
 
- SanThe -

- SanThe -

12/05/2009 14:45:00
Quote Anchor link
Dit zou het moeten doen.
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

echo '<b>Interne nummers op naam</b>';

// onderstaand de query
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");

// aantal kolommen die je wilt hebben
$kolommen = 2;

// dit is mysql_num_rows()
$max = mysql_num_rows($query);;

// aantal uitgerekende rijen
//$stap = ceil($max / $kolommen);
// vast aantal rijen

$stap = 79;

echo '<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
        <tr align="left">
            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>

            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>
        </tr>'
;

for($i=0; $i<$stap; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $stap)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            $row2 = (mysql_fetch_array( $query ));
            echo '<td width="100">' . $row2['naam'] . '</td>';
            echo '<td width="10">' . $row2['nummer'] . '</td>';
            echo '<td width="10">' . $row2['inlog'] . '</td>';
            echo '<td width="120">' . $row2['afdeling'] . '</td>';
            echo '<td width="10">' . $row2['groep'] . '</td>';
        }

        else
        {
            echo '<td width="100"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="120"> </td>';
            echo '<td width="10"> </td>';
        }
    }

    echo '</tr>';
}

echo '</table>';
?>

Edit: Script gewijzigd.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Rick

rick

12/05/2009 14:52:00
Quote Anchor link
Ik had even rijen veranderd ipv 2 naar 79. Hij pakt nu wel precies 79 rijen alleen de alfabetische volgorde is nog steeds van links naar rechts.
Deze moet nu nog van boven naar beneden worden. Ik probeer het ook als ik het weet post ik het.

Dus resultaat moet worden:

a f
b g
c h
d i
e j

Het resultaat is nu:

a b
c d
e f
g h
i j



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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

echo '<b>Interne nummers op naam</b>';

// onderstaand de query
$query = mysql_query("SELECT * FROM intern ORDER BY naam ASC");

// aantal rijen die je wilt hebben
$rijen = 79;

// dit is mysql_num_rows()
$max = mysql_num_rows($query);;

// afblijven
$kolommen = ceil($max / $rijen);

echo '<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
        <tr align="left">
            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>
            
            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>
        </tr>'
;
        
for($i=0; $i<$rijen; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $rijen)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            $row2 = (mysql_fetch_array( $query ));
            echo '<td width="100">' . $row2['naam'] . '</td>';
            echo '<td width="10">' . $row2['nummer'] . '</td>';
            echo '<td width="10">' . $row2['inlog'] . '</td>';
            echo '<td width="120">' . $row2['afdeling'] . '</td>';
            echo '<td width="10">' . $row2['groep'] . '</td>';
        }

        else
        {
            echo '<td width="100"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="120"> </td>';
            echo '<td width="10"> </td>';
         }
    }

    echo '</tr>';
}

echo '</table>';
?>
 
- SanThe -

- SanThe -

12/05/2009 15:06:00
Quote Anchor link
Ik heb mijn script gewijzigd. Zou nu goed moeten zijn.
 
Rick

rick

12/05/2009 15:09:00
Quote Anchor link
SanThe schreef op 12.05.2009 15:06:
Ik heb mijn script gewijzigd. Zou nu goed moeten zijn.


Nog steeds hetzelfde probleem.

Het resultaat is nu:

a b
c d
e f
g h
i j

En het resultaat moet worden:

a f
b g
c h
d i
e j
Gewijzigd op 01/01/1970 01:00:00 door rick
 
- SanThe -

- SanThe -

12/05/2009 15:17:00
Quote Anchor link
Hier werkt ie wel. Script uit post van 12.05.2009 14:45

Edit: Ik test natuurlijk met het array() en dat werkt. Je zou de resultaten (id's) eerst in een array() kunnen zetten.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Rick

rick

12/05/2009 15:23:00
Quote Anchor link
Ik zal het proberen. Nu ziet het er zo uit:
http://rickvanderheiden.nl/telefoonlijst/internopnaamprint1.php
 
- SanThe -

- SanThe -

12/05/2009 15:27:00
Quote Anchor link
Zo dan?
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//includes
include('config.php');
include('dbcon.php');

echo '<b>Interne nummers op naam</b>';

// onderstaand de query
$query = mysql_query("SELECT naam, nummer, inlog, afdeling, groep FROM intern ORDER BY naam ASC");

// array vullen met resultaten
$array = array();
while($array[] = mysql_fetch_array( $query ));

// aantal kolommen die je wilt hebben
$kolommen = 2;

// dit is mysql_num_rows()
$max = mysql_num_rows($query);;

// aantal uitgerekende rijen
//$stap = ceil($max / $kolommen);
// vast aantal rijen

$stap = 79;

echo '<table BORDER="0" ALIGN="left" STYLE="font-size: 5.5pt;">
        <tr align="left">
            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>

            <td width="100"><b>Naam</b></td>
            <td width="10"><b>Telnr.</b></td>
            <td width="10"><b>Inlog</b></td>
            <td width="120"><b>Afdeling</b></td>
            <td width="10"><b>Groep</b></td>
        </tr>'
;

for($i=0; $i<$stap; $i++)
{

    echo '<tr>';
    for($j=0; $j<$kolommen; $j++)
    {

        if(($i + ($j * $stap)) < $max)
        {

            // hier moet je fetchen en de data neerzetten
            $row2 = $array[$i + ($j * $stap)];
            echo '<td width="100">' . $row2['naam'] . '</td>';
            echo '<td width="10">' . $row2['nummer'] . '</td>';
            echo '<td width="10">' . $row2['inlog'] . '</td>';
            echo '<td width="120">' . $row2['afdeling'] . '</td>';
            echo '<td width="10">' . $row2['groep'] . '</td>';
        }

        else
        {
            echo '<td width="100"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="10"> </td>';
            echo '<td width="120"> </td>';
            echo '<td width="10"> </td>';
        }
    }

    echo '</tr>';
}

echo '</table>';
?>
 
Rick

rick

12/05/2009 15:31:00
Quote Anchor link
Het script werkt nu wel =)
Super bedankt nogmaals.
Kwam het nou alleen omdat de resultaten niet in een array() stonden?
 
- SanThe -

- SanThe -

12/05/2009 15:36:00
Quote Anchor link
Ja. Dit: $i + ($j * $stap) geeft de juiste index van het array, maar dat werkt niet op een result van een query. Zoals je ziet wordt nu eerst alles in een array gezet en dan wordt het array doorlopen met de for's.
 

Pagina: « vorige 1 2



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.