2014-11-24 16 views
1

Я пытаюсь получить данные из моей базы данных с помощью php ... В настоящее время у меня есть две кнопки отправки, которые вы нажимаете для извлечения данных. Один из них, чтобы вернуть тематические исследования, и один, чтобы вернуть образы images.'retrieve.php 'извлечения данных из таблицы под названием «P_CASE_STUDIES», и это работает. Однако, когда я пытаюсь получить содержимое из второй таблицы с именем «P_IMAGES» ... оно не отображается. Может кто-то сказать мне, что я делаю неправильно.Как получить данные из моей базы данных?

Вот код моей страницы images.php:

<?php 

function images() 
{ 

    // Connect to the SQL DB 
    $conn = new SQL_connection("webservice"); 
    $conn->connect(); 

    // Create SQL query 
    $sql = "SELECT * FROM P_IMAGES"; 

    // Execute query 
    $result = mysqli_query($conn->link(), $sql); 

    // Loop over all result rows 
    $result_array = array(); 

    while($post = mysqli_fetch_assoc($result)) 
    { 

     $result_array[] = $post; 

    } 

    // Write to JSON 
    header('Content-type: application/json'); 
    echo json_encode($result_array); 

} 

Вот код для моего retrieve.php (P_CASE_STUDIES): страница

<?php 

function retrieve() 
{ 

    // Connect to the SQL DB 
    $conn = new SQL_connection("webservice"); 
    $conn->connect(); 

    // Create SQL query 
    $sql = "SELECT * FROM P_CASE_STUDIES;"; 

    // Execute query 
    $result = mysqli_query($conn->link(), $sql); 

    // Loop over all result rows 
    $result_array = array(); 

    while($post = mysqli_fetch_assoc($result)) 
    { 

     $result_array[] = $post; 

    } 

    // Write to JSON 
    header('Content-type: application/json'); 
    echo json_encode($result_array); 

} 

Веб-сервисы :

<?php 

    class Webservice 
    { 

     var $link; 

     //Switch statement to call relevant function 

     function __construct() 
     { 

      require __DIR__."/sql_connection.php"; 

      switch ($_POST['action']) 
      { 

      case 'retrieve': 
       require "retrieve.php"; 
       retrieve(); 
       break; 

      case 'images': 
       require "images.php"; 
       images(); 
       break; 

      default: 
       echo "Error"; 
       break; 
      } 

     } 


    } 

    $go = new Webservice(); 

?> 

И, наконец, мой index.html:

<!DOCTYPE html> 
<html> 
    <head> 

     <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <title>Pinder</title> 

    </head> 
    <body> 

     <form action="webservice.php" method="POST"> 
      <table> 
       <tr> 

        <td><input name="action" value="retrieve" type="hidden"></td> 

        <td><input type="submit" value="submit" class="button"></td> 
       </tr> 
      </table> 
     </form> 



       <form action="webservice.php" method="POST"> 
      <table> 
       <tr> 

        <td><input name="action" value="images" type="hidden"></td> 

        <td><input type="submit" value="submit" class="button"></td> 
       </tr> 
      </table> 
     </form> 

    </body> 

</html> 
+0

'не display'. Что он не отображает? Вы можете добавить несколько инструкций echo(), чтобы увидеть, как выполняется сценарий и запрос. – greenapps

+0

Что было бы результатом json_encode(), если массив был пуст? Вы все равно получите то, что я думаю. – greenapps

+0

@greenapps вижу, что я не знаю, где эхо ... im new to php! Этот бит кода объединяется источниками из Интернета –

ответ

1

Вы заменяете массив каждый раз с $ размещать

вопрос! Сколько строк в P_CASE_STUDIES?

while($post = mysqli_fetch_assoc($result)) 
{ 

    $result_array[] = $post; 

} 

Должно быть что-то вроде:

var i = 0; 
while($post = mysqli_fetch_assoc($result)) 
{ 

    $result_array[$i] = $post; 
    $i++; 
} 
+0

Хотя у меня уже есть один поиск данных? –

+0

Мне не нужен курс. Но вы можете эхо() его увидеть количество строк во время отладки. – greenapps

+0

@greenapps на другом где-то еще есть функция для загрузки изображений ... строки никогда не остановятся. –

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