2015-04-16 1 views
0

Я пытаюсь читать данные из моей базы данных, но я не знаю, что это не работает, и покажите мне эту ошибкуPHP проблема с чтением данными из базы данных

Примечание: Массив для преобразования строки в C: \ Users \ VladxD \ Desktop \ Xampp \ HTDOCS \ Web (рабочее пространство) \ Test \ show_animation.php на линии 65

Вот мой код:

mysql_connect:

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpassword = ''; 
$conn = mysqli_connect($dbhost, $dbuser, $dbpassword, "portofoliu_database") or die ("<div id='err'>Could not connect:</div> "); 

Код:

<?php session_start(); ?> 
<!doctype html> 
<html> 

<head> 
    <meta charset="UTF-8"> 
    <title>Directory Contents</title> 
    <link rel="stylesheet" href="show_folder.css"> 
    <link rel="stylesheet" href="NewFile.css"> 
</head> 
<body> 
<div id=wapper> 
    <?php include 'Menu.php'; 
    include 'MySQL_connect.php'; ?> 

    <div class="box"> 
     <div id="container"> 

      <table class="sortable"> 
       <thead> 
       <tr> 
        <th>File name</th> 
        <th>Uplaod time</th> 
       </tr> 
       </thead> 
       <tbody> 
       <?php 
       // Opens directory 
       $user = @$_SESSION ['account']; 
       $dir = @$_SESSION ['account'] . '/image/'; 
       if (is_dir($dir) == true) { 
        $myDirectory = opendir($dir); 
        // Gets each entry 
        while ($entryName = readdir($myDirectory)) { 
         $dirArray [] = $entryName; 
        } 
        // Closes directory 
        closedir($myDirectory); 
        // Counts elements in array 
        $indexCount = count($dirArray); 
        // Sorts files 
        sort($dirArray); 
        // Loops through the array of files 
        for ($index = 0; $index < $indexCount; $index++) { 
         // Allows ./?hidden to show hidden files 
         if ($_SERVER ['QUERY_STRING'] == "hidden") { 
          $hide = ""; 
         } else { 
          $hide = "."; 
         } 
//------------------------------------------------------------------------------------------------- 
         //$modtime=date("M j Y g:i A", filemtime($dir.$dirArray[$index])); 
         $modtime_test = mysqli_query($conn, "SELECT file_upload_time FROM users WHERE file_name ='$dirArray[$index]'"); 
         $modtime = mysqli_fetch_assoc($modtime_test); 
         $timekey = date("YmdHis", filemtime($dir . $dirArray[$index])); 
//------------------------------------------------------------------------------------------------- 
         if (substr($dirArray [$index], 0, 1) != $hide) { 
          // Gets File Names 
          $name = $dirArray [$index]; 
          // Print 'em 
          echo " 
           <tr class='file'> 
            <td><a href=#' onclick='showImage(\"$index\")'>$name</a></td> 
            <td sorttable_customkey='$timekey'><a href='#'>$modtime</a></td> 
           </tr>"; 

         } 
        } 
       } 
       ?> 
       </tbody> 
      </table> 
     </div> 
     <div id="imageHolder"> 

      <?php if (is_dir($dir) == false) 
       echo("<div id = 'noFile'>Your folder it's empty, upload file</div>"); 
      ?> 

      <script> 
       var array = [ 
        <?php 
         foreach ($dirArray as $item) 
          { 
          echo "\"$dir{$item}\","; 
         } 
        ?> 
       ]; 
       function showImage(index) { 
        var url = array[index]; 
        url = "<img src='" + url + "'>"; 
        document.getElementById("imageHolder").innerHTML = url; 
       } 

      </script> 
     </div> 
    </div> 

</div> 
</body> 
</html> 

Я хочу, чтобы мое время данные из моей базы данных и показать его на моей папке

Вот мой элемент из базы данных: http://i.imgur.com/kYciFQJ.png

и вот мой сайт: http://i.imgur.com/HeEv1yG.png Если вы видите ниже «Время загрузки», у меня есть этот текст «Массив», но я хочу получить данные из базы данных и положить туда.

+0

Это выглядит как уведомление/предупреждение PHP, а не ошибка базы данных. (Или, возможно, исправление предупреждения PHP исправит ваш запрос на db. – jpaugh

+0

Также похоже, что вы пытаетесь отбросить массив где-нибудь, возможно в строке 65. – Patrick

ответ

0

Как mysqli_fetch_assoc возвращает массив, не одно значение, даже если есть одно поле возвращается ... попробуйте изменить

$modtime = mysqli_fetch_assoc($modtime_test); 

в

$results = mysqli_fetch_assoc($modtime_test); 
$modtime = $results["file_upload_time"]; 
+0

ЧТО РЛИ РАБОТАЕТ !!! THX SO MUSH: DU SAVE MY DAY :) –

+0

Рад это слышать! не стесняйтесь отмечать это как принятый ответ ;-) – dbinns66

+0

Я буду отмечать ответ ур через 6 минут после того, как смогу: D –

0

У вас есть PHP уведомление, «PHP-массив для преобразования строк».

<tr class='file'> 
    <td><a href=#' onclick='showImage(\"$index\")'>$name</a></td> 
    <td sorttable_customkey='$timekey'><a href='#'>$modtime</a></td> 
    </tr>"; 

В этом коде $modtime есть массив. Вам нужно использовать $modtime['file_upload_time'].

Смежные вопросы