Как показать все файлы из БД по горизонтали, используя php? - PullRequest
2 голосов
/ 04 февраля 2020

Я загрузил файлы в каталог и в базу данных, и я хочу показать файлы в браузере и сделать загружаемыми, но в одном файле отображается в браузере. Как он показывает один файл в браузере . Вот как выглядит база данных База данных . Вот каталог моих файлов Каталог изображений И код, который я написал

<?php
     $Year = mysqli_query($link, "SELECT distinct `Year` FROM `returndocs` WHERE EmailAddress='$name'");
     $Returns = 'Returns';
     if($Year->num_rows>0)
         {
            while ($row=$Year->fetch_assoc())
                {
                   echo "<button type='button' class='collapsible'>
                           <div style='display:flex'>
                              <div><img src='../Assets/images/icons/folder-icon.png' width='18' height='18'></div>
                                <div style='margin-left:5px;'>".$row['Year'].' '.$Returns."</div>
                           </div>
                         </button>";
                }
          }
     else{
             echo "<h6 style='color:#bf9038;'>No returns Submitted!</h6>";
         }
// Viewing files from Db and from directory 
$SelectUploadedFiles = mysqli_query($link, "SELECT * FROM `returndocs` where EmailAddress='$name';");
if($SelectUploadedFiles->num_rows > 0)
   {
       while($file=$SelectUploadedFiles->fetch_assoc())
            {
               echo "<div class='content'>
                      <table>
                          <tr><a href=".$file['ReturnDir']." download>".$file['ReturnName']."</a></tr>
                      </table>
                  </div>";
             }
    }
?>

Как я могу сделать изображения в горизонтальном стиле, например, movies.txt, за которыми следует procurement.pdf et c. как это Файл Procument должен быть в файле movies.txt .

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

Определите вашу таблицу вне l oop, а внутри l oop только строки.

Пример:

if($SelectUploadedFiles->num_rows > 0) {
    // Define the div and table opening elements
    $ouput = '<div class="content"><table>';
    while($file=$SelectUploadedFiles->fetch_assoc()) {
        // Append for each entry a new table row
        $output .= '<tr><td><a href="' . $file['ReturnDir'] . '"> ' . $file['ReturnName'] . '</a></td></tr>';
    }
    // Close the table and div elements
    $output .= '</table></div>';
    // Show the table
    echo $output;
}

Кстати. Ваш код уязвим для SQL инъекций!

1 голос
/ 07 февраля 2020

Я видел, что вы получили ответ на этот вопрос, но я хотел бы добавить к этому некоторую дополнительную информацию ;

Всегда желательно избегать таблиц в HTML в наши дни, поскольку у них много проблем, которые могут быть легко решены другими HTML тегами, такими как ul, li et c.

Для получения более подробной информации : https://www.lifewire.com/dont-use-tables-for-layout-3468941

Если вы посмотрите на большинство современных веб-сайтов, то используются div и ul , так как они имеют меньше кода, гибки и просты в использовании. управлять. Опять же, HTML просто для того, чтобы разместить ваши данные на месте.

Здесь вы хотите отобразить их горизонтально, что должно быть задачей, назначенной для CSS. Это так просто, все, что вам нужно сделать, это использовать flex и упомянуть, как вы хотите, и он делает это для вас самым простым и быстрым способом.

    ul li{
    display:block;
    text-decoration:none;
    }

    ul{
    display:flex;
    flex-direction: column;
    }
    
    .reverse {
    flex-direction:column-reverse;
    }
    <h4>Listing Horizontally</h4>
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
 </ul>
    <h4 >Listing Horizontally in Reverse</h4>
    <ul class="reverse">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
 </ul>

Вот и все .. Всегда используйте бэкэнд для извлечения данных и отображения периода. Как отобразить это CSS

Надеюсь, это имеет смысл для вас ...

...