PHP - Bir süre döngü değerlerini atama ve döngü dışında bunları tek tek Erişme

2 Cevap php

PLATFORM:

PHP, MySQL

WHAT I HAVE:

Ben bir veritabanı tablo var. Benim uygulama içinde, ben tüm satırlarını mümkün duyuyorum. Ben veritabanı sorgulama olduğum zaman, ben kayıtlarını dinamik sınırı getirme belirledik.

WHAT I AM TRYING TO DO:

Ben sınırı bir döngü içinde, ulaşıldığında getirme kaydının kadar tüm veri satırları çekmeye çalışıyorum. Ben döngü dışında, bu yeni dizi ile bu değerleri erişebilirsiniz böylece (döngüde) başka bir dizi için bu sonuçları atamak istiyorum. Ben bunu yapmak için PHP code gerekir. I apply the same logic of coding in Javascript edebilmek istiyorum. Bu mümkün olacak mı?

EXAMPLE:

//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'];
    }

DESIRED OUTPUT:

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

Şimdiden teşekkür ederim.

2 Cevap

Eğer PHP sorgu bit değiştirirseniz ...

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

... Gitmek iyi olmalıdır. (Şu anda, her zaman tek bir dize içine içeriğini ekleme ediyoruz.)

Bu arada, ben çıkış hiç bir kaçış olarak görünmüyor gibi bu veriler, 'iyi bilinen' olduğunu tahmin. (Çapraz site scripting, vb kötü)

middaparka's cevap hakkı olmasına rağmen, ilk while döngüsü girmeden önce bireysel yeni diziler bildirmek için emin olun:

$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']
}