PHP для циклической печати массива - PullRequest
0 голосов
/ 26 сентября 2011

Это может показаться очень простым вопросом, но это поставило меня в тупик, смеется.Я пытаюсь напечатать строки, полученные из базы данных.Я хочу сохранить строки в массиве, а затем распечатать их с помощью цикла for.Я знаю, что запрос работает, однако, когда я пытаюсь распечатать элементы массива, он печатает только массив слов.Я устал делать это с циклом foreach и простым циклом for.Если кто-то может указать мне в правильном направлении, это спасет жизнь.

Печать Php-кода

<?php

    $type = "FREE";
    $free = getTerms($type);
    echo "<p>";
    for($j = 0; $j < count($free); $j++)
    {
    echo "start".$free[$j]."end";
    }
    echo "</p>";                        
?>

получение строк из базы данных

function getTerms($type)
{
    $terms = array();
    $connection = mysql_open(); 
    $query = "select terms from terms_and_con where accountType='$type' && currentTerms='YES'";
    $results = mysql_query($query, $connection) or show_error("signUp.php", "", "");

    while($row = mysql_fetch_array($results))
    {
       $terms[] = $row;
    }
    mysql_close($connection) or show_error("signUp.php", "", "");
    return $terms;
}

Ответы [ 2 ]

5 голосов
/ 26 сентября 2011

Каждая запись в массиве $free сама является массивом (из $row).

Попробуйте

echo 'start', $free[$j]['terms'], 'end';

В качестве альтернативы, вы можете найти foreach цикл, более семантически подходящий

foreach ($free as $row) {
    echo 'start', $row['terms'], 'end';
}

Редактировать: Я бы посоветовал использовать mysql_fetch_assoc() вместо mysql_fetch_array(), если вы собираетесь использовать только ассоциативные записи из $row.

1 голос
/ 26 сентября 2011

дело в том, что функция mysql_fetch_array (как следует из названия) возвращает (в вашем случае как ассоциативный, так и числовой) массив.так что $ row на самом деле является массивом (0 => VALUE , 'term' => ' VALUE ')

Так что вы пытаетесь отобразить на самом деле массив.

Простое исправление: заменить:

$terms[] = $row;

на:

$terms[] = $row[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...