Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

गतिशील पंक्तियों के साथ डेटाबेस से डेटा कैसे दिखाएं

सबसे पहले मेरी खराब अंग्रेजी के लिए खेद है।

आपकी क्वेरी में, id_location . द्वारा ऑर्डर करने के बजाय , घटक के नाम से आदेश दें . इस तरह आप डायनामिक रोस्पैन को आसानी से जोड़ सकते हैं। मैंने आपका कनेक्शन प्रोग्राम नहीं बदला है, लेकिन मैंने आपका दूसरा भाग बदल दिया है। कृपया जांचें। मुझे पता है कि 3 से 4 लूप हैं। लेकिन अगर किसी शरीर को बेहतर अहंकार मिले तो कृपया मुझे बताएं।

    $sql1 = "SELECT * FROM Lokasi ORDER BY id_location";
    $stmt1 = $dbc->prepare($sql1);
    $stmt1->execute();

    while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) {
    $location++;
    echo "Location $location : ".$row1['location'];

?>



<?php
    $query = "SELECT * 
                FROM sub_component,
                     component 
               WHERE sub_component.id_component=component.id_component 
                 AND component.id_location='$data[id_location]' 
            ORDER BY component.component_name";
    $stmt = $dbc->prepare($query);
    $stmt->execute();

    # Declare two emty array
    $component     = array(); # Will store the components
    $sub_component = array(); # Will store the sub components

    $loop = 0;

    # Now if any data is fetched from previsous query, then fill
    # the above declared arrays.
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

        $component[$loop]     = $row['component'];
        $sub_component[$loop] = $row['sub_component'];

        $loop = $loop + 1;
    }

    # If no data fetched then I m telling 
    # No data fetched.
    if (!sizeof($component)) {
        echo 'Empty Data';
    } else {

        print "<table width='469px' border='1'>
                    <tr bgcolor='#00FFFF'>
                        <th width='109' class='rounded' scope='col'>Component</th>
                        <th width='109' class='rounded' scope='col'>Sub Component</th>
                    </tr>";

        # Now our main logic starts to print dynamic rowspan

        # Go for a loop.
        # Here the imporant is to use for loop

        $tmp_arr = array();

        $main_assoc_arr = array();

        for ($i = 0; $i < sizeof($sub_component); $i++) {

            array_push($tmp_arr, $sub_component[$i]);

            # If we have reached the last element
            # and in $main_assoc_arr the comonent is not exist
            # Then we will store them as following.
            if (   $i = (sizeof($sub_component)-1)
                && !array_key_exists($component[$i], $main_assoc_arr)) {

                $main_assoc_arr[ $component[$i] ] = array();
                $main_assoc_arr[ $component[$i] ] = $tmp_arr;

                # Restore the array.
                $tmp_arr = array();

                # Also get out of the loop
                break;
            }

            # If the present component is not equal to the 
            # Next component then 
            if ($component[$i] != $component[$i+1]) {

                $main_assoc_arr[ $component[$i] ] = array();
                $main_assoc_arr[ $component[$i] ] = $tmp_arr;

                # Restore the array.
                $tmp_arr = array();
            }
        }

        # Now we are going to print the table with rowspan.
        foreach ($main_assoc_arr as $comp=>$sub_comp) {

            $printed = 0;
            $rowspan = sizeof($sub_comp);

            foreach ($sub_comp as $elm) {

                print "<tr>";

                # Manke sure that the column will not print
                # in each loop as it conatins dynamic array.
                if (!$printed) {

                    print "<td rowspan='$rowspan'>$comp</td>";
                }

                print "<td>$elm</td>"
                print "</tr>";
            }
        }

        print "</table>";

    }
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉलम मान के आधार पर MySQL इनर जॉइन टेबल

  2. mp3 ऑडियो कैसे चलाएं php . का उपयोग करके मैं mysql ब्लॉब संग्रहीत करता हूं

  3. जब प्रत्येक प्रविष्टि एक मध्यम आकार के आकार के क्षेत्र में फिट होगी तो MySQL लॉन्गटेक्स्ट आकार के क्षेत्र का उपयोग करने में क्या नुकसान है?

  4. MySQL में किसी तालिका से एकल पंक्ति में शामिल हों

  5. मैं उस तालिका में डेटाटेबल में किए गए परिवर्तनों को कैसे कर सकता हूं जिससे मैंने इसे पकड़ा था?