2014-10-06 104 views
0

我对这张桌子有麻烦。我需要for循环生成的每一行也生成一个新的单元格(无法上传屏幕截图),每个for循环迭代生成位于表格右侧的太多单元格。我该如何解决它?由于扭曲的表格与for循环

  <?php 
       $maxsize = ini_get("upload_max_filesize"); 
       $firstrow = <<<firstrow 
        <TABLE class="table2" align="center"> 
         <TR> 
         <TH scope="row"> 

          Puoi caricare massimo 5 file per volta <br> Dimensione massima per file: {$maxsize} 
         <TD>  
          <form enctype="multipart/form-data" method="POST"> 
           <select name="opzioni"> 
            <option value="1">1</option> 
            <option value="2">2</option> 
            <option value="3">3</option> 
            <option value="4">4</option> 
            <option value="5">5</option> 
           </select> 
           <input type="submit" value="Invio"> 
          </form> 
         </TD> 
         </TR> 
firstrow; 
echo $firstrow; 

if (isset($_POST['opzioni'])) { 
$openform = '<form enctype="multipart/form-data" action="fileinfo.php" method="POST">' . "\r\n"; 
$closeform = <<<form 
<input type="submit" value="Invio"> 
</form><br> 
form; 
$opz  = $_POST['opzioni']; 

echo $openform; 

for ($i = 0; $i < $opz; $i++) { 
echo '<TR>'; 
    echo '<TH scope="row">'; 
    echo '<input name="doc' . $i . '" type="file"><br />' . "\r\n"; 
    echo '<TD rowspan="'.$i.'">'; 
    echo $closeform; 
    echo '</TD>'; 
echo '</TR>'; 

} 
} 

      echo '</TABLE>'; 
       ?> 

这是fileinfo.php代码

<?php 

    $max_file_size=ini_get("upload_max_filesize"); 
$mult=strtolower(substr($max_file_size,strlen($max_file_size)-1)); 
$val=strtolower(substr($max_file_size,0,strlen($max_file_size)-1)); 
$max_file_size=$val; 
switch($mult){ 
case 'g': 
$max_file_size*=1024; 
case 'm': 
$max_file_size*=1024; 
case 'k': 
$max_file_size*=1024; 
} 

$infotxt = <<<infotxt 
    <TABLE class="table1" align="center"> 
    <TR><th scope="row">Scaricare file .txt contenente le info?<TD><form method="POST"> <input type="submit" value="Download" name="downloadtxt"></form></TD></TR> 
    <TR><th scope="row">Ricevere file .txt contenente le info via email?<TD><form method="POST" action="mail.php">Inserisci email <input type="text" name="tomail"><input type="submit" value="Invia Email"></form></TD></TR> 
    </TABLE> 
infotxt; 
echo $infotxt.'<br>'; 


foreach($_FILES as $k=>$v) 
{ 
if (isset($_FILES[$k]) && $_FILES[$k]['error'] == 0) { 
$_SESSION['pastepath'] = 'uploads/' .$_FILES[$k]['name']; 
if ($_FILES[$k]['size'] > $max_file_size) { 
    echo $_FILES[$k]['size'].' &egrave; troppo grande'; 
} 
else 
{ 
    $_SESSION['nomefile']  = $_FILES[$k]['name']; 
    $_SESSION['size']  = $_FILES[$k]['size']/1000; 
    $_SESSION['tipo']  = $_FILES[$k]['type']; 
    $_SESSION['dataupload']  = date("d/M/Y H:i:s O"); 
    require_once 'formato.php'; 
    $_SESSION['descrtipo'] = descmime($_SESSION['tipo']); 
    $info  = <<<info 
<TABLE class="table1" align="center"> 
<TR><th scope="row">Nome originale:<TD>{$_SESSION['nomefile']}</TD></TR> 
<TR><th scope="row">Dimensione:<TD>{$_SESSION['size']} kB</TD></TR> 
<TR><th scope="row">Tipo MIME:<TD>{$_SESSION['tipo']}</TD></TR> 
<TR><th scope="row">Data e ora caricamento:<TD>{$_SESSION['dataupload']}</TD></TR> 
<TR><th scope="row">Programma da utilizzare:<TD>{$_SESSION['descrtipo']}</TD></TR> 
<TR><th scope="row">Rinomina file e scarica<TD><form method="POST">Inserisci il nuovo nome <input type="text" name="newname"><input type="submit" value="Download"></form> </TD></TR> 
</TABLE> 
info; 
    echo $info.'<br>'; 


    if (isset($_FILES['tomail'])) 
    $_SESSION['tomail'] = $_FILES['tomail']; 
    if (isset($_FILES['newname'])) 
    $_SESSION['newname'] = $_FILES['newname']; 

} 

} 
     else 
     echo 'Nessun file caricato'; 
} 
?> 
+0

你不关闭你的标签,而且我不确定为什么你甚至使用TH时,它应该是富。 TR =表格行。 TD =表格单元格。 TH =表格标题单元。所有标签必须关闭。 – 2014-10-06 22:17:11

+0

我使用的是,因为我使用了表格模板,只需要它用css制作不同的样式 – Antonio102 2014-10-06 22:21:07

+0

请参阅下面的我的文章。使用TH不是一个问题,但不是每一行。 TH用于标题行。我已经提供了一个关于如何工作的简单例子。如果您正在寻找每个记录中第一行的样式,可以在我的示例中看到使用td:first-child。 – 2014-10-06 22:26:42

回答

0

下面是正确的表设计的例子。

table, td, th { 
 
    border: 1px solid green; 
 
    width: 250px; 
 
} 
 

 
th { 
 
    background-color: green; 
 
    color: white; 
 
} 
 

 
td:first-child { 
 
    background-color: green; 
 
    color: white; 
 
} 
 

 
td { 
 
    padding: 5px; 
 
}
<table> 
 
    <tr> 
 
    <th>Month</th> 
 
    <th>Savings</th> 
 
    </tr> 
 
    <tr> 
 
    <td>January</td> 
 
    <td>$100</td> 
 
    </tr> 
 
    <tr> 
 
    <td>February</td> 
 
    <td>$80</td> 
 
    </tr> 
 
</table>

+0

我已经改变了桌子,向你展示了我的想法。用户可以选择他将上传多少个文件。在我设置3的片段中,所以for循环将生成3行和3​​必须分组,其中将有提交按钮。我希望以一种好的方式解释我的想法 – Antonio102 2014-10-06 22:46:31

+0

我讨厌成为“那个人”来问一个问题“你为什么不使用X”,但是......为什么不使用像dropzone.js或uploadify这样的处理程序,并且消除了用户一次痛苦地选择一个文件的需要? – 2014-10-06 23:16:35

+0

我已经将dropzone.js添加到我的脚本中,但现在不需要弄清楚如何使我的fileinfo.php代码有效。其目的是打印一个包含MIME类型等信息的表格,以及用于由用户上传非常文件的应用程序打开它的表格 代码高于 – Antonio102 2014-10-07 15:03:50