簡體   English   中英

PHP動態返回多維數組

[英]PHP Dynamically returning multidimensional arrays

我在學習如何動態返回多維數組方面做了大量工作,但是我似乎無法弄清楚如何嵌套它們。

我有兩個表,每個表具有相同的格式:ID,名稱。

表一:SSC-sscid-sscname

表二:SRV-srvid-srvname

我想做的是在表一列表的每個項目下打印表二中的所有項目。

表一的項是標題,表二的項作為復選框(以srvid為值)和label(srvname)返回。

我可以將其全部打印在一起,但這是一個。 一個巨大的結果列表,它在一個

| checkbox | table 1: name | table 2: name | format. 

一點都不漂亮(盡管這對我來說是進步的)。

運行查詢並獲得結果后,我的代碼如下所示:

現在,我對概念re的設計有了一些其他想法:數據庫表已經存在,但是我閱讀的所有內容都表明它們確實需要放在自己的表上,並且應該可以通過鍵引用它們。一個表中的鍵和另一個表中的鍵(最終以帶有用戶ID引用的聯合表結束)因為它們是數字索引的,所以我不知道為什么這對我來說會成為問題; 但是我似乎無法正常工作。

我應該提到的是,當我更改代碼以使ssc_name跨度為2 cols並使它更像標題時,它為每個復選框/ srv行而不是所有復選框/ srv行返回一個標題行。

if($result) {
    echo '<table border="1" align="center" cellspacing="3" cellpadding="3" width="300">
    <tr><th colspan="2"><h3>Options</h3></th></tr>
    <tr><td></td><td align="left"><b>Services</b></td></tr>';
    $numfields = mysql_num_fields($result);
    $data = array();
    $flist = array();
    for($i=0;$i<$numfields;$i++)$flist[] = mysql_field_name($result,$i);
    $data[0] = $flist;
    while($row = mysql_fetch_assoc($result)) {
        $data[] = $row;
        echo '<tr><td colspan="2" align="center"><b>' . $row['ssc_name'] .'</b><td></tr>
        <tr><td align="center"><input type="checkbox" value="'. $row['ssv_id'] .'" / </td>
        <td align="left">' . $row['ssvname'] . '</td>
        </tr>';
    }
    echo '</table>';
}

有人可以幫我解決這個問題嗎?

您在此行上缺少一個>

<tr><td align="center"><input type="checkbox" value="'. $row['ssv_id'] .'" / </td>

應該

<tr><td align="center"><input type="checkbox" value="'. $row['ssv_id'] .'" /></td>

您可能可以使用更好的格式來學習...

<?php

    if ($result) {      
        echo <<<EOD
<table border="1" align="center" cellspacing="3" cellpadding="3" width="300">
    <tr>        
        <th colspan="2"><h3>Options</h3></th>       
    </tr>       
    <tr>    
        <td></td>       
        <td align="left"><b>Services</b></td>       
    </tr>
EOD;
        while ($row = mysql_fetch_assoc($result)) {         
            echo <<<EOD
    <tr>        
        <td colspan="2" align="center"><b>{$row['ssc_name']}</b><td>            
    </tr>       
    <tr>        
        <td align="center"><input type="checkbox" value="{$row['ssv_id']}" /></td>          
        <td align="left">{$row['ssvname']}</td>         
    </tr>           
EOD;
        }       
        echo '</table>';
    }

?>

而且我不確定這些陣列中的任何一個正在從事什么業務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM