PHP - Назначение значений в цикле while и индивидуальный доступ к ним вне цикла - PullRequest
2 голосов
/ 09 января 2010

ПЛАТФОРМА:

PHP, mySQL

ЧТО Я ИМЕЮ:

У меня есть таблица базы данных. В моем приложении я могу получить все строки. Когда я запрашиваю базу данных, я устанавливаю лимит выборки записей динамически.

Что я пытаюсь сделать:

Я пытаюсь вытянуть все строки данных, пока не будет достигнут предел выборки записи, в цикле. Я хочу присвоить эти результаты другому массиву (в цикле), чтобы я мог получить доступ к этим значениям через этот новый массив вне цикла. Мне нужен код PHP для этого. Я хочу иметь возможность применять ту же логику кодирования в Javascript . Это будет возможно?

Пример:

//TABLE STRUCTURE
fname   lname    city
Ed       Al      SA
Bob     B       MN
Chris     V       KJ

PHP QUERY:

$result = mysql_query("SELECT fname, lname, city FROM table LIMIT 3");

while( $row = mysql_fetch_array($result) ) {    

        $new_rows_data['fname'] .= $row['fname'];
        $new_rows_data['lname'] .= $row['lname'];
        $new_rows_data['city']  .= $row['city'];
    }

желаемый выход:

echo $new_rows_data['fname'][0].'   '.$new_rows_data['lname'][0].'   '.$new_rows_data['city'][0].
//Want the above to show: Ed        Al      SA
echo $new_rows_data['fname'][1].'   '.$new_rows_data['lname'][1].'   '.$new_rows_data['city'][1].
//Want the above to show: Bob       B       MN
echo $new_rows_data['fname'][2].'   '.$new_rows_data['lname'][2].'   '.$new_rows_data['city'][2].
//Want the above to show: Chris     V       KJ

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 09 января 2010

Хотя ответ middaparka правильный, обязательно сначала объявите отдельные новые массивы перед входом в цикл while:

$result = mysql_query("SELECT fname, lname, city FROM table LIMIT 3");

$new_rows_data['fname'] = array();
$new_rows_data['lname'] = array();
$new_rows_data['city'] = array();
while( $row = mysql_fetch_array($result) ) {
    // the following (two brackets []), automatically pushes a value on the end of the array
    $new_rows_data['fname'][] = $row['fname'];
    $new_rows_data['lname'][] = $row['lname'];
    $new_rows_data['city'][]  = $row['city']
}
3 голосов
/ 09 января 2010

Если вы измените биты PHP-запроса на ...

$new_rows_data['fname'][] = $row['fname'];
$new_rows_data['lname'][] = $row['lname'];
$new_rows_data['city'][]  = $row['city'];

... тебе должно быть хорошо идти. (На данный момент вы каждый раз добавляете содержимое в одну строку.)

Между прочим, я предполагаю, что эти данные «известны как хорошие», так как вы, похоже, вообще не выводите их за пределы. (Межсайтовый скриптинг плох и т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...