несколько значений массив php - Mssql - PullRequest
0 голосов
/ 05 февраля 2020

Я извлекаю данные из ms sql. Данные, которые я собрал, это больше, чем один. Он записывает только одну информацию в массив. Как вы можете видеть на фотографии, существует более одного контента с soru_tur = 1. Как я могу сохранить данные soru_baslik и soru_icerik в массив? Я показываю данные, которые я собрал в своем быстром приложении. Снимок экрана базы данных был добавлен с выводом var_dump.

"json [" soru_baslik "]" >> Я хочу распечатать его из swift. Снимок экрана с выводом выглядит следующим образом

<code>            <?php
          ...
            $conn = sqlsrv_connect( $serverName, $connectionInfo );
            if( $conn === false ) {
                die( print_r( sqlsrv_errors(), true));
            }
            $json = file_get_contents('php://input');    
            $sql = "SELECT soru_baslik, soru_icerik FROM ... WHERE soru_tur = 1";
            $stmt = sqlsrv_query( $conn, $sql );
            if( $stmt === false) {
                die( print_r( sqlsrv_errors(), true) );
            }
        $soruArray = array();
        $soruicerikArray = array();
      $array = array();


   while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
     $results[] = Array("soru_baslik" => $row['soru_baslik'], "soru_icerik" => $row['soru_icerik']);
   }
    //var_dump($array);

   echo '<pre>'; print_r($results); echo '
'; sqlsrv_free_stmt ($ stmt); ?>

database new output

1 Ответ

0 голосов
/ 05 февраля 2020

Если я правильно понимаю ваш вопрос, одна проблема с вашим кодом заключается в том, что вы инициализируете переменную $result на каждой итерации. Вам нужно инициализировать эту переменную один раз, а затем добавлять элементы на каждой итерации. Вы можете попробовать следующие подходы:

Пример 1 (получить только два указанных столбца c):

<?php
    $conn = sqlsrv_connect( $serverName, $connectionInfo );
    if( $conn === false ) {
        die( print_r( sqlsrv_errors(), true));
    }
    $json = file_get_contents('php://input');    
    $sql = "SELECT soru_baslik, soru_icerik FROM ... WHERE soru_no = 1";
    $stmt = sqlsrv_query($conn, $sql);
    if ($stmt === false) {
        die( print_r( sqlsrv_errors(), true) );
    }

    $results = array();
    while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
        $results[] = array(
            "..._baslik" => $row['..._baslik'], 
            "s..._icerik" => $row['..._icerik']
        );
    }

    header("Content-Type: application/json");
    echo json_encode($results);

    sqlsrv_free_stmt( $stmt);
?>

Пример 2 (получить все столбцы):

<?php
    $conn = sqlsrv_connect( $serverName, $connectionInfo );
    if( $conn === false ) {
        die( print_r( sqlsrv_errors(), true));
    }
    $json = file_get_contents('php://input');    
    $sql = "SELECT soru_baslik, soru_icerik FROM ... WHERE soru_no = 1";
    $stmt = sqlsrv_query($conn, $sql);
    if ($stmt === false) {
        die( print_r( sqlsrv_errors(), true) );
    }

    $results = array();
    while ($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
        $a = array();
        foreach($row as $column => $value) {
            $a[$column] = $value;   
        }   
        $results[] = $a;
    }

    header("Content-Type: application/json");
    echo json_encode($results);

    sqlsrv_free_stmt( $stmt);
?>
...