2011-01-18 20 views
6

Tüm bunları dizilere eklemek için mysql'den veri yakalamaya çalışıyorum. Varsayalım : BuradaMySQL tablo verisini bir diziye seç

users table 
    ----------------------- 
    id| name | code 
    ---------------------- 
    1| gorge | 2132 
    2| flix | ksd02 
    3| jasmen | skaod2 

    $sql = mysql_query("select id, name, code from users"); 
    $userinfo = array() 
    while($row_user = mysql_fetch_array($sql)){ 
    $userinfo = $row_user[name] 
    } 
------------------------- 
foreach($userinfo as $usinfo){ 
echo $usinfo."<br/>"; 
} 

aynı dizideki tüm verileri eklemek için lütfen bana yardımcı ben sadece userinfo dizide ayrıca kod & id kullanıcı adı ama cant insert ekleyebilirsiniz sorundur.

[P.S] Nesne yönelimli değil lütfen.

+0

cevabımı güncelledi, bu yardımcı olur mu? –

cevap

28
$sql = mysql_query("select id, name, code from users"); 
$userinfo = array(); 

while ($row_user = mysql_fetch_assoc($sql)) 
    $userinfo[] = $row_user; 

Bu aşağıdaki yapıya sahip bir dizi olarak size $userinfo verecektir:

[ 
    [id => 1, name => 'gorge', code => '2123'], 
    [id => 2, name => 'flix', code => 'ksd02'], 
    [id => 3, name => 'jasmen', code => 'skaod2'] 
] 

çıktısını verileri isterseniz:

foreach ($userinfo as $user) { 
    echo "Id: {$user[id]}<br />" 
     . "Name: {$user[name]}<br />" 
     . "Code: {$user[code]}<br /><br />"; 
} 
+0

thats hakkında ne sormak değil tekrar benim qu oku –

+0

Bu gerçekten hızlı yazdığınızdan eminim, ancak mysql_query'yi iki kez kullanıyorsunuz. Bu işe yaramayacak. – Christa

+0

@Christa, whoops! – jasonbar

4
while($row_user = mysql_fetch_assoc($sql)){ 
    $userinfo[] = $row_user; 
} 

foreach($userinfo as $usrinfo){ 
    echo "Id: ".$usrinfo['id']."<br />"; 
    echo "Name: ".$usrinfo['name']."<br />"; 
    echo "Code: ".$usrinfo['code']."<br />"; 
} 
+2

Yeni bir dizi oluşturmaya gerek yok. Mysql_fetch_assoc'ı kullanın veya mysql_fetch_array'a MYSQL_ASSOC kodunu geçirin ve yalnızca geliştirme işlemini gerçekleştirin. Ve dizeler (dizi indeksler) tek tırnak içine alınır. Kodunuz, döngü başına 3 E_NOTICE bildirimi atar. – ThiefMaster

+0

niçin ilk cevabı güncellemem ilk yolun ikinci yoldan daha iyi olduğunu düşünüyorum ama her iki çözümün de memnuniyeti –

+0

tamam, ama sonuç = ????????? onun bana ??? ingilizce mektup –

-4
while($row_user = mysql_fetch_array($sql)){ 
    $row_id = $row_user ["id"]; 
     $row_author = $row_user ["author"]; 
     $row_code = $row_user ["code"]; 
     $userinfo[] = array("id"=> $row_id , "author"=> $row_author, "code"=> $row_code); 
    } 
foreach ($userinfo as $user) { 
    echo "Id: {$user[id]}\n" 
     . "Name: {$user[name]}\n" 
     . "Code: {$user[code]}\n\n"; 
} 
+14

Tebrikler, köşe dükkanına gitmek için ayın etrafında uçtun. – jasonbar

3

buldum bu kod ve ben günümü kurtarırım:

<?php 
$sql=mysql_query("select * from table1"); 

/*every time it fetches the row, adds it to array...*/ 
while($r[]=mysql_fetch_array($sql)); 

echo "<pre>"; 
// Prints $r as array 
print_r ($r); 
echo "</pre>"; 
?> 
+0

sadece bu çalıştı. o da gerçekten benim günümü kurtardı. –