HTML tabel vullen met msql data

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wim Selles

Wim Selles

18/09/2008 21:49:00
Quote Anchor link
Hallo,

Ik heb een vraag omtrent het vullen van een tabel welke bestaat uit 3 kolommen welke per kolom automatisch gevuld moet worden met waarden uit een kolom van de mysql tabel welke voldoet aan een bepaalde waarde uit een andere kolom uit de tabel (hopelijk hebben jullie hem nog :D)

Ik ben nog geen php en mysql held, dus vergeef mij onnodige code.

de 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
<?php
//uitvoeren van een query op de database
    $res_customer_buttons=mysql_db_query("$db","$sql_customer_buttons",$mysql_id);
    
    // indien een fout
    $error;                                            
                
    // hier worden alle rijen uit de database geteld
    $aantal_rijen_customer_buttons=mysql_num_rows($res_customer_buttons);

?>


<table border="1">
    <tr>
        <td>MWE</td>
        <td>JKO</td>
        <td>HJK</td>
    </tr>

<?php    
        
    for($i=0;$i<$aantal_rijen_customer_buttons;$i++)
    {

        // haal de informatie uit de rijen van de database
        $row_customer_buttons=mysql_fetch_row($res_customer_buttons);
            
        $namebutton=$row_customer_buttons[0];
        $name_customer=$row_customer_buttons[1];
        $client_partner=$row_customer_buttons[2];
    
        echo "<tr>\n";
        echo "<td>"; if ($client_partner=="MWE"){include 'customer_list.php';}echo "</td>\n";
        echo "<td>"; if ($client_partner=="HJK"){include 'customer_list.php';}echo "</td>\n";
        echo "<td>"; if ($client_partner=="JKO"){include 'customer_list.php';}echo "</td>\n";
        echo "</tr>\n";
    }

?>

</table>


Zoals ik deze code nu heb worden de rijen niet goed gevuld. Het zou er voor mij zo uit moeten zien:
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
<table border="1">
    <tr>
        <td>MWE</td>
        <td>JKO</td>
        <td>HJK</td>
    </tr>
    <tr>
        <td>Waarde uit db die hoort bij MWE</td>
        <td>Waarde uit db die hoort bij JKO</td>
        <td>Waarde uit db die hoort bij HJK</td>
    </tr>
    <tr>
        <td>Waarde uit db die hoort bij MWE</td>
        <td>Waarde uit db die hoort bij JKO</td>
        <td>Waarde uit db die hoort bij HJK</td>
    </tr>
    <tr>
        <td>Waarde uit db die hoort bij MWE</td>
        <td>Waarde uit db die hoort bij JKO</td>
        <td>Waarde uit db die hoort bij HJK</td>
    </tr>
</table>

Alleen ziet het resultaat er nu zo uit:

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
<table border="1">
    <tr>
        <td>MWE</td>
        <td>JKO</td>
        <td>HJK</td>
    </tr>
    <tr>
        <td>Waarde uit db die hoort bij MWE</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td>Waarde uit db die hoort bij MWE</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td>Waarde uit db die hoort bij JKO</td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td>Waarde uit db die hoort bij JKO</td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td>Waarde uit db die hoort bij HJK</td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td>Waarde uit db die hoort bij HJK</td>
    </tr>
</table>


Hope anyone can help. Tnx for viewing

Wim
 
PHP hulp

PHP hulp

24/11/2024 23:57:38
 
- SanThe -

- SanThe -

18/09/2008 22:23:00
Quote Anchor link
Gooi je eigen script niet weg!!!
Ik heb geen idee of het werkt, probeer het eens.
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

    $helparray = array("MWE", "HJK", "JKO");
    $aantalkolommen = count($helparray);
    $res_customer_buttons=mysql_db_query($db, $sql_customer_buttons, $mysql_id);
    echo '<table border="1">';
    echo "<tr>\n";
    for($j=0;$j<$aantalkolommen;$j++)
    {

        echo '<td>' . $helparray[$j] . '</td>';
    }

    echo "</tr>\n";
    $array=array();
    while(current($helparray))
    {

        $array[key($helparray)] = array();
        next($helparray);
    }

    while($row_customer_buttons=mysql_fetch_row($res_customer_buttons))
    {

        $array[$row_customer_buttons[2])[] = $row;
    }

    $countarray = array_count_values($array);
    rsort($countarray);
    $aantal_rijen = $countarray[0];

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

        echo "<tr>\n";
        for($j=0;$j<$aantalkolommen;$j++)
        {

            echo "<td>";
            if(isset($array[$helparray[$j]][$i]))
            {

                $namebutton=$array[$helparray[$j]][$i][0];
                $name_customer=$array[$helparray[$j]][$i][1];
                $client_partner=$array[$helparray[$j]][$i][2];
                include('customer_list.php');
            }

            echo "</td>\n";
        }

        echo "</tr>\n";
    }

    echo '</table>';
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Wim Selles

Wim Selles

19/09/2008 06:12:00
Quote Anchor link
Thanxs voor je reactie. Ik moest de code iets aanpassen, hoop dat ik het goed heb gedaan, maar krijg nu een error

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

    $helparray = array("MWE", "HJK", "JKO");
    $aantalkolommen = count($helparray);
    $res_customer_buttons=mysql_db_query($db, $sql_customer_buttons, $mysql_id);
    echo '<table border="1">';
    echo "<tr>\n";
    for($j=0;$j<$aantalkolommen;$j++)
    {

        echo '<td>' . $helparray[$j] . '</td>';
    }

    echo "</tr>\n";
    $array=array();
    while(current($helparray))
    {

        $array[key($helparray)] = array();
        next($helparray);
    }

    while($row_customer_buttons=mysql_fetch_row($res_customer_buttons))
    {

        $array[$row_customer_buttons[2]][] = $row_customer_buttons;
    }

    $countarray = array_count_values($array);
    rsort($countarray);
    $aantal_rijen = $countarray[0];

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

        echo "<tr>\n";
        for($j=0;$j<$aantalkolommen;$j++)
        {

            echo "<td>";
            if(isset($array[$helparray[$j]][$i]))
            {

                $namebutton=$array[$helparray[$j]][$i][0];
                $name_customer=$array[$helparray[$j]][$i][1];
                $client_partner=$array[$helparray[$j]][$i][2];
                include('customer_list.php');
            }

            echo "</td>\n";
        }

        echo "</tr>\n";
    }

    echo '</table>';
?>


Warning: array_count_values() [function.array-count-values]: Can only count STRING and INTEGER values! in C:\wamp\www\07 CRM\index.php on line 37 (=$countarray = array_count_values($array);)

Notice: Undefined offset: 0 in C:\wamp\www\07 CRM\index.php on line 39 {=$aantal_rijen = $countarray[0];)

Hope you have time

Wim
 
Maarten Slenter

Maarten Slenter

19/09/2008 08:27:00
Quote Anchor link
Het probleem met je eigen scriptje is dat jij in dit stukje

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
echo "<tr>\n";
        echo "<td>"; if ($client_partner=="MWE"){include 'customer_list.php';}echo "</td>\n";
        echo "<td>"; if ($client_partner=="HJK"){include 'customer_list.php';}echo "</td>\n";
        echo "<td>"; if ($client_partner=="JKO"){include 'customer_list.php';}echo "</td>\n";
        echo "</tr>\n";
?>


3 keer checked of de variabele iets is, terwijl die niet zal veranderen na de echo.

Dit zorgt er echter voor dat er dus 2 keer niets komt te staan in de <td's>, want als er niet wordt voldaan aan de if, wordt er niets ge-include (dus niets ge-echo-d)

Ik weet niet precies hoe jij het wil hebben, maar misschien dat dit helpt:

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
<?php
echo "<tr>\n";
for($i=1;$i<=$aantal_rijen_customer_buttons;$i++)
{

    // haal de informatie uit de rijen van de database
    $row_customer_buttons=mysql_fetch_row($res_customer_buttons);
        
    $namebutton=$row_customer_buttons[0];
    $name_customer=$row_customer_buttons[1];
    $client_partner=$row_customer_buttons[2];

    if($client_partner == 'MWE' || $client_partner == 'HJK' || $client_partner == 'JKO')
    {

        echo "<td>\n";
        include('custumor_list.php');
        echo "</td>\n";
    }

    
    if($i % 3 == 0 && $i != $aantal_rijen_custumor_buttons)
    {

        echo "</tr>\n<tr>\n";
    }
}

echo "</tr>\n";
?>


Let op: ik heb je for loop ietsje veranderd, maakt het bij de 2de if wat makkelijker;)
Gewijzigd op 01/01/1970 01:00:00 door Maarten Slenter
 
- SanThe -

- SanThe -

19/09/2008 10:35:00
Quote Anchor link
Wim Selles schreef op 19.09.2008 06:12:
Ik moest de code iets aanpassen, hoop dat ik het goed heb gedaan, maar krijg nu een error

Ik zie niet wat je hebt aangepast.
 
Wim Selles

Wim Selles

19/09/2008 11:13:00
Quote Anchor link
sorry,

bekijk internet nu met mijn mobiel dus kan de regel niet kopieren, maar het is regel 23 uit mijn eerste code als reactie op jouw bericht.
 
- SanThe -

- SanThe -

19/09/2008 13:15:00
Quote Anchor link
Dit moet het zijn. Getest.
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

    $helparray = array("MWE", "HJK", "JKO");
    $aantalkolommen = count($helparray);
    $res_customer_buttons=mysql_db_query($db, $sql_customer_buttons, $mysql_id);
    echo '<table border="1">';
    echo "<tr>\n";
    for($j=0;$j<$aantalkolommen;$j++)
    {

        echo '<td>' . $helparray[$j] . '</td>';
    }

    echo "</tr>\n";
    $array=array();
    foreach($helparray as $value)
    {

        $array[$value] = array();
    }

    while($row_customer_buttons=mysql_fetch_row($res_customer_buttons))
    {

        $array[$row_customer_buttons[2]][] = $row_customer_buttons;
    }

    $countarray = array();
    foreach($array as $value)
    {

            $countarray[] = count($value);
    }

    rsort($countarray);
    $aantal_rijen = $countarray[0];

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

        echo "<tr>\n";
        for($j=0;$j<$aantalkolommen;$j++)
        {

            echo "<td>";
            if(isset($array[$helparray[$j]][$i]))
            {

                $namebutton=$array[$helparray[$j]][$i][0];
                $name_customer=$array[$helparray[$j]][$i][1];
                $client_partner=$array[$helparray[$j]][$i][2];
                include('customer_list.php');
            }

            echo "</td>\n";
        }

        echo "</tr>\n";
    }

    echo '</table>';
?>
 
Wim Selles

Wim Selles

19/09/2008 13:28:00
Quote Anchor link
Yep, this works.

Bedankt. Hier kan ik weer verder mee.
 
- SanThe -

- SanThe -

19/09/2008 13:35:00
Quote Anchor link
$helparray = array("MWE", "HJK", "JKO");

Als je deze regel uitbreidt, bijvoorbeeld
$helparray = array("MWE", "HJK", "JKO", "ABC");

dan pas de rest zich vanzelf aan en krijg je 4 kolommen.
 
Wim Selles

Wim Selles

12/10/2008 09:48:00
Quote Anchor link
Ben dit weekend even wezen pielen en wilde het graag zo maken dat de bovenste tijd van de tabel bestond uit een naam ipv een code.

Ik heb het voor elkaar gekregen met de volgende 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
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
<?php
//------------------------------------------------------------------------------------
// bepalen waarden uit tabel crm_xx van rij genaamd 'name'
//------------------------------------------------------------------------------------

    $sql_sel_fo_name="SELECT * FROM crm_xx WHERE cp='ja'";
    $res_sel_fo_name=mysql_db_query("$db","$sql_sel_fo_name",$mysql_id);
    //---------------------------------------------------------------
    // namen uit tabel in array plaatsen
    //---------------------------------------------------------------

    $collect_name_array = array();
    while ($count_row_fo_name=mysql_fetch_array($res_sel_fo_name))
    {

           $collect_name_array[] = $count_row_fo_name['name'];
    }

    $count_rows2 = count($collect_name_array);
    //---------------------------------------------------------------
    // opbouwen van tabelhoofd en het plaatsen van namen
    //---------------------------------------------------------------

    echo "<br />\n<br />\n";
    echo '<table>';
    echo "<tr>\n";
    for($j=0;$j<$count_rows2;$j++)
    {

        echo '<td width=\"175\"><h2>' . $collect_name_array[$j] . '</h2></td>';
    }

    echo "</tr>\n";
    //------------------------------------------------------------------------------------
    // bepalen waarden uit tabel crm_xx van rij genaamd 'code'
    //------------------------------------------------------------------------------------

    $sql_sel_foid="SELECT * FROM crm_xx WHERE cp='ja'";
    $res_sel_foid=mysql_db_query("$db","$sql_sel_foid",$mysql_id);    
    //---------------------------------------------------------------
    // codes uit tabel in array plaatsen
    //---------------------------------------------------------------

    $collect_code_array = array();
    while ($count_row_foid=mysql_fetch_array($res_sel_foid))
    {

           $collect_code_array[] = $count_row_foid['code'];
    }

    $count_rows = count($collect_code_array);
    //---------------------------------------------------------------
    // bepalen namen van klanten uit tabel crm_customer
    //---------------------------------------------------------------

    $sql_customer_buttons="SELECT * FROM crm_company";
    $res_customer_buttons=mysql_db_query($db, $sql_customer_buttons, $mysql_id);
    //---------------------------------------------------------------
    // opbouwen van de rest van tabel en vullen met buttons
    //---------------------------------------------------------------    

    $array=array();
    foreach($collect_code_array as $value)
    {

        $array[$value] = array();
    }

    while($row_customer_buttons=mysql_fetch_array($res_customer_buttons))
    {

        $array[$row_customer_buttons[1]][] = $row_customer_buttons;
    }

    $count_array = array();
    foreach($array as $value)
    {

            $count_array[] = count($value);
    }

    rsort($count_array);
    $amount_rows = $count_array[0];

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

        echo "<tr>\n";
        for($j=0;$j<$count_rows;$j++)
        {

            echo "<td>";
            if(isset($array[$collect_code_array[$j]][$i]))
            {

                $namebutton=$array[$collect_code_array[$j]][$i]['companyid'];
                $name_customer=$array[$collect_code_array[$j]][$i]['company_name'];
                $client_partner=$array[$collect_code_array[$j]][$i]['xxid'];
                include('view/customer_list.php');
            }

            echo "</td>\n";
        }

        echo "</tr>\n";
        echo "<tr>\n<td height=\"5\"></td></tr>\n";
    }

    echo '</table>';
?>


Iedereen hartelijk dank voor jullie inbreng.
 



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.