fetch ข้อมูลเดิม ซ้ำหลาย ๆ ครั้ง ยังไง

เริ่มโดย Kizmo, 08 สิงหาคม 2010, 10:05:47

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Kizmo

คือผมต้องเอา loop <tr></tr> ออกมา 10 row แล้วในแต่ละ row จะมี loop fetch อยู่ข้างใน วนอีก 10 รอบเพื่อแสดงรายชื่อ 10 รายชื่อ

แต่มัน fetch ออกแค่ row แรกเท่านั้น ทำไงให้ loop แล้ว fetch รายชื่อซ้ำได้อีก หลาย ๆ ครั้งครับ
รับถ่ายภาพ http://emofoto.net

Bone

ช่วยแจ้งรายละเอียดมากกว่านี้ครับ คำถามพอเข้าใจ ต้องดูโครงสร้าง+ข้อมูลด้วย
เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/

amaudy


<?php
$foo 
range(1,10);
foreach(
$foo as $bar) {
$sub_foo range(1,10);

echo "<tr>\n";
foreach($sub_foo as $sub_bar) {
echo "<td>$sub_bar Show something inside of $bar</td>\n";
}
echo "</tr>\n";
}

Kizmo

Table list_name

1. สมชาย
2. สมหมาย
3. สมศรี
4. สมมาตร
5. สมเกียรติ
6. สมเจตน์
7. สมประสงค์
8. สมปอง
9. สมจิต
10. สมเจตน์

แล้ว loop ตาราง 10 row และในทุก row จะต้องมี drop down ที่เป็นรายชื่อใน Table list_name อ่ะครับ

ทำแล้วมันออกมาแค่ row แรกอันเดียว
รับถ่ายภาพ http://emofoto.net

O.o!!

ขอดูโค๊ดที่ใช้อยู่หน่อยครับ

แต่ก็ประมาณ คห. 3 แหละครับ

ttong

เอา code มาแปะไว้ดีกว่าครับ

จะได้ง่ายขึ้น

Kizmo

<table><tr><td>#</td><td>Teacher</td></tr>
<?
for ($i = 1; $i <=10; $i++)
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
for ($j = 1; $j <= 10; $j++)
{
$res = mysql_fetch_array($fTeacher);
echo "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}
}
echo "</select></td></tr>";
?>
</table>
รับถ่ายภาพ http://emofoto.net

scrop

ดู ดู ก็น่าจะออกมาอันเดียวครับ
จากเดิม
        }
   echo "</select></td></tr>";
?>

ท่านลองเปลี่ยนเป็น(สลับบรรทัดกันครับ)
   echo "</select></td></tr>";
   }
?>

ดูผลและดู HTML Code ตอนแสดงออกมาที่ Browser ประกอบกันทั้งสองอย่างด้วยจะดีครับ

Kizmo

#8
อ้างถึงจาก: scrop ใน 08 สิงหาคม 2010, 16:44:39
ดู ดู ก็น่าจะออกมาอันเดียวครับ
จากเดิม
        }
   echo "</select></td></tr>";
?>

ท่านลองเปลี่ยนเป็น(สลับบรรทัดกันครับ)
   echo "</select></td></tr>";
   }
?>

ดูผลและดู HTML Code ตอนแสดงออกมาที่ Browser ประกอบกันทั้งสองอย่างด้วยจะดีครับ
ผมเขียนขึ้นใหม่น่ะครับ เลยไม่ได้เช็คโค้ด html แต่ะให้ดูโค้ดตรง fetch ว่าผมจะ fetch ซ้ำยังไง

เพราะพอ loop มา fetch อีกครั้ง มันไม่แสดงผลแล้วอ่ะ แสดงแค่รอบแรกรอบเดียว
รับถ่ายภาพ http://emofoto.net

mrtomson

แล้วจะ fetch ซ้ำทำไมละครับ ในเมื่อ fetch ครั้งเดียวก็ได้

ให้เปลี่ยนจากโค้ดนี้
อ้างถึงจาก: Kizmo ใน 08 สิงหาคม 2010, 16:28:44
<table><tr><td>#</td><td>Teacher</td></tr>
<?
for ($i = 1; $i <=10; $i++)
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
for ($j = 1; $j <= 10; $j++)
{
$res = mysql_fetch_array($fTeacher);
echo "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}
}
echo "</select></td></tr>";
?>
</table>


เป็นโค้ดนี้

<table><tr><td>#</td><td>Teacher</td></tr>
<?php
    
for ($j 1$j <= 10$j++)
{
$res mysql_fetch_array($fTeacher);
$datazi .= "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}

    for (
$i 1$i <=10$i++) 
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
    echo 
$datazi;
}
echo "</select></td></tr>";
?>

</table>


ลองดูครับ
ติดต่อได้ทาง PM นะครับ

aek26

<table><tr><td>#</td><td>Teacher</td></tr>
<?
for ($i = 1; $i <=10; $i++)
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
for ($j = 1; $j <= 10; $j++)
{
$res = mysql_fetch_array($fTeacher);
echo "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}

        echo "</select></td>";
}
?>
</tr></table>


แบบนี้เปล่า
เพราะแสวงหา มิใช่เพราะรอคอย เพราะเชี่ยวชาญ มิใช่เพราะโอกาส เพราะสามารถ มิใช่เพราะโชคช่วย ดังนี้แล้ว "ลิขิตฟ้าหรือจะสู้มานะตน"
[direct=http://www.108keychain.com]พวงกุญแจ[/direct]
[direct=http://www.xn--12cgajg3a0jxbsn4esb4cb5c7i.com]พวงกุญแจอะคริลิค[/direct]
[direct=http://www.xn--12clet6fwa1b4j8c5a0d.com]พวงกุญแจไม้[/direct]
[direct=http://www.facebook.com/108keychain]ของชำร่วย[/direct]

Kizmo

อ้างถึงจาก: mrtomson ใน 08 สิงหาคม 2010, 17:01:02
แล้วจะ fetch ซ้ำทำไมละครับ ในเมื่อ fetch ครั้งเดียวก็ได้

ให้เปลี่ยนจากโค้ดนี้
อ้างถึงจาก: Kizmo ใน 08 สิงหาคม 2010, 16:28:44
<table><tr><td>#</td><td>Teacher</td></tr>
<?
for ($i = 1; $i <=10; $i++)
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
for ($j = 1; $j <= 10; $j++)
{
$res = mysql_fetch_array($fTeacher);
echo "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}
}
echo "</select></td></tr>";
?>
</table>


เป็นโค้ดนี้

<table><tr><td>#</td><td>Teacher</td></tr>
<?php
    
for ($j 1$j <= 10$j++)
{
$res mysql_fetch_array($fTeacher);
$datazi .= "<option value=\"".$res['id']."\">".$res['teacherName']."</option>";
}

    for (
$i 1$i <=10$i++) 
{
echo "<tr><td><center>".$i."</center></td>";
echo "<td><select name=\"teacher\"><option></option>";
    echo 
$datazi;
}
echo "</select></td></tr>";
?>

</table>


ลองดูครับ

อันนี้ใช้ได้เลยครับ

ขอบคุณมาก ๆ ๆ ๆ ครับ ^w^

:wanwan017:
รับถ่ายภาพ http://emofoto.net

scrop

ดีใจด้วยครับ พอดีลองเขียนดูก็เลยขอเสนออีกแนวทางหนึ่งครับ  เผื่อบางโอกาสได้ใช้ครับ

         <table border="1">
            <thead>
                <tr>
                    <th>No.</th>
                    <th>Name</th>
                </tr>
            </thead>
            <tbody>
                <?php
                    $con = mysql_connect("127.0.0.1","xroot","2000");
                    if (!$con)
                      {
                      die('ติดต่อฐานข้อมูลไม่ได้: ' . mysql_error());
                      }
                    mysql_select_db("websitedb", $con);
                    $result = mysql_query("SELECT * FROM tmpname");

                    $i = 0;
                    for($i = 1; $i <= 10; ++$i){
                ?>
                <tr>
                    <td><?php echo $i; ?></td>
                    <td>
                        <select name=\"teacher\"><option></option>"
                        <?php
                            while($row = mysql_fetch_array($result))
                              {
                              echo "<option value=\"".$row['id']."\">".$row['name']."</option>";
                              }
                              mysql_data_seek($result, 0);
                        ?>
                        </select>
                    </td>
                </tr>
                <?php
                    }
                    mysql_close();
                ?>
            </tbody>
        </table>
::)