พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

มีวิธี output ข้อมูลจาก mysql_fetch_array นอกจากใช้ while ไหมครับ

+1 vote
ปกติจะใช้   while($row = mysql_fetch_array($result))  ลอง print_r ก็ออกมาแถวเดียว
ถามเมื่อ Apr 16, 2012 in PHP & MySQL & Ajax โดย Krissanawat Kaewsanm (153 คะแนน)
   

5 Answers

+4 votes
ยังมีอีกวิธีที่ให้ผลเป็น object ครับ คือ mysql_fetch_object
วิธีการใช้ก็เช่น

$row = mysql_fetch_object($result);
echo $row->column1;
echo $row->column2;
ตอบเมื่อ Apr 16, 2012 โดย K. Chaowanawatee (565 คะแนน)
กลับมาอ่านอีกทีแล้ว รู้สึกว่าผมจะเข้าใจคำถามผิดนะครับ
+1 vote

ลองใช้ foreach ดูได้นะครับ

while($arr = mysql_fetch_array($run, MYSQL_ASSOC)){
                                   
$table .= "\t\t<tr>\n";
                                   
                                    foreach (
$arr as $val_col) {
                                   
$table .= "\t\t\t".'<td>'.$val_col.'</td>'."\n";
                                    }
                                       
                                   
$table .= "\t\t</tr>\n";                                       
                            }

ตอบเมื่อ Apr 16, 2012 โดย Eggvalue (1,179 คะแนน)
+1 vote
ลองใช้ for โดยให้อินเด็กเทียบ กับ mysql_num_rows($result) เป็นขอบเขตในการ loop ก็ได้นะครับ
ตอบเมื่อ Apr 16, 2012 โดย anonymous
+1 vote

เรามั่นใจหรือยังว่า SELECT id, name FROM mytable   มันไม่ได้ออกมา row เดียว ลองเอา sql ไปคิวรี่ดูก่อนครับ ถ้าไม่ได้ออกมา row เดี่ยว ตอนทำ while มันก็ต้องทำจนหมดอยู่แล้ว 

ตัวอย่างนะครับ เอามาจากเว็บ PHP เค้าเลย 

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

 

ตอบเมื่อ Apr 17, 2012 โดย Wisit Paew (247 คะแนน)
Step แรกของปัญหา ตามที่ว่านี้เลยครับ

ลองเอา Query ที่โยนให้ MySQL แล้วปั่นออกมาได้เป็น $result ไป Query ใน MySQL เองก่อนครับ
จะเป็น phpMyAdmin หรือเครื่องมืออื่น ๆ ก็ตามแต่
+1 vote

ตามคุณ Wisit Paew เลยครับ
แต่สิ่งที่ผมจะแนะนำ คือ ใช้ mysql_fetch_assoc แทน mysql_fetch_array ครับ
การใช้ mysql_fetch_array จะทำให้ข้อมูลเป็น 2 เท่าครับ

ตอบเมื่อ Apr 18, 2012 โดย phajvaj (113 คะแนน)
ก็ว่าครับตอนที่ print_r ก็งงว่าทำไมมันมีคี 0 1 2 3 โผล่มาด้วย

Related questions

0 votes
1 คำตอบ
805 views ถามเมื่อ Oct 6, 2012 in PHP & MySQL & Ajax โดย Eggvalue (1,179 คะแนน)
+1 vote
1 คำตอบ
...