|
|
|
php mysql แนะนำการดึงข้อมูลให้เป็นรูปแบบนี้หน่อยคะ (ศึกษาการทำจากห้องนี้) |
|
|
|
|
|
|
|
Code (PHP)
<?
if($tmptype != $objResult["type"])
{
echo $objResult["type"];
}
$tmptype=$objResult["type"];
?>
<? if($tmptype != "") { ?>
<td>
</td>
<td> <?=$objResult["fruit"];?> </td>
<? } ?>
แบบนี้ได้หรือเปล่าครับ
|
|
|
|
|
Date :
2013-02-01 10:30:46 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผลเหมือนเดิมค่ะ เดี๋ยวจะลองเรื่อยๆ นะคะ
ขอบคุณมากค่ะ
|
|
|
|
|
Date :
2013-02-01 11:00:28 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องใช้เงื่อนไขคุมการสร้าง แถว <tr> ของตารางด้วยค่ะ
|
|
|
|
|
Date :
2013-02-01 13:58:48 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ ultrasiam แนะนำโคดหน่อยได้ไหมคะ
|
|
|
|
|
Date :
2013-02-01 14:46:03 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดู code เต็มๆ ได้ไหมครับ
|
|
|
|
|
Date :
2013-02-01 14:58:37 |
By :
kokiflam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
if($tmptype != $objResult["type"]){
echo "<tr><td>TYPE</td><td>".$objResult["type"]."</td></tr>";
$tmptype=$objResult["type"];
else
echo "<tr><td></td><td>".$objResult["fruit"]."</td></tr>";
}
?>
***น่าจะประมาณนี้นะคะ โค้ดนี้เขียนสด ยังไม่ได้ลองนะคะ
|
|
|
|
|
Date :
2013-02-01 15:12:26 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr >
<td> <?
if($tmpcategory != $objResult["category"])
{
echo $objResult["category"];
}
$tmpcategory=$objResult["category"];
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><?=$objResult["productname"];?> <td>
</tr>
<? } ?>
โคดประมาณนี้ค่ะ
|
|
|
|
|
Date :
2013-02-01 15:16:51 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-02-01 15:26:33 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แสดงว่าตัวอย่างที่ให้ไปใช้ไม่ได้ งั้นรอท่านต่อไปนะคะ
|
|
|
|
|
Date :
2013-02-01 15:30:59 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่ะ ยังไงก็ขอบคุณมากนะคะ
รอท่านต่อไป
|
|
|
|
|
Date :
2013-02-01 15:32:46 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณต้องการแบบนี้ใช่หรือเปล่าครับ คือแบ่งเป็นหมวดๆ
ฟิวนี้น่าจะเป็นชื่อหมวด
Code (PHP)
$objResult["category"] //ฟิวนี้น่าจะเป็นชื่อหมวด
$objResult["productname"] //ชื่อสินค้า
ผมเข้าใจถูกหรือเปล่าครับ ???
|
|
|
|
|
Date :
2013-02-01 15:42:22 |
By :
kokiflam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เวลาใช้ โคดแบบนี้ จะได้ผลเหมือนตารางแรกค่ะ
คือมันจะมีช่องว่าง ซึ่งช่องว่างนี้ คือคำว่า ผลไม้ แต่ใช้เราเรียกมาตัวเดียวเพราะซ้ำกัน มันเลยทำให้เกิดช่องว่างค่ะ
แต่ว่าอยากได้แบบตารางที่สอง คือไม่ให้มีช่องว่าง
ไม่ทราบว่ามีวิธีไหมคะ
|
|
|
|
|
Date :
2013-02-01 15:46:28 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<?php if($tmpcategory != $objResult["category"]) { ?>
<tr >
<td> <?php echo $objResult["category"]; $tmpcategory=$objResult["category"]; ?> </td>
<td></td>
</tr>
<?php } ?>
<tr>
<td></td>
<td><?=$objResult["productname"];?> <td>
</tr>
<? } ?>
|
|
|
|
|
Date :
2013-02-01 15:57:29 |
By :
ไวยวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากโค้ด
Code (PHP)
if($tmptype != $objResult["type"])
{
echo $objResult["type"];
}
$tmptype=$objResult["type"];
ถ้าทำแบบนี้ จะเก็บตัวแปรเทียบ ได้แค่ตัวดึงมาล่าสุดเท่านั้น ไม่สามารถเก็บเก่าหรือจำนวนมากกว่านี้ได้วิธีแก้
Code (PHP)
$tmptype=array(); // อย่าลืมประกาศตัวแปรก่อนเข้าลูป
while(..){
...
if(!in_array($objResult["type"] ,$tmptype )) // ให้ไปเปรียบเทียบใน array ที่เก็บค่าไว้
{
echo $objResult["type"];
$tmptype[]=$objResult["type"]; // ถ้าค่าที่ได้ไม่มีอยู่ใน array ก็ให้เก็บค่าใหม่นี้ลงไปเพื่อนำไปเปรียบเทียบต่อไป
}
ก็ใส่ in_array เทียบได้ครับ แต่รู้สึกยุ่งยากไมครับ ทำไมไม่ไปแก้ที่ต้นเหตุเลยไม่ดีกว่าหรอ
1. ผมเห็นแล้วว่าคุณ no1 มีความพยายามจะไม่ต้องการแสดงค่าซ้ำ ก็เพิ่มคำสั่งใน mysql สักนิดหน่อยก็แก้ได้แล้ว
เช่น select group_name,fruit_name from tbl_name .... group by group_name ,fruit_name ( กรณีที่ กลุ่ม กับ ผลไม้ เป็น foriegn key ก็เปลี่ยนเป็น group by group_id,fruit_id แทน )
อันนี้แถมครับ การ merge rows ที่ผมใช้่บ่อยๆครับ ( อันนี้ผมตัดออกให้เหลือแค่ 2 column นะครับ column แรกเป็นรวมเซล อันสองเป็นแสดงค่าปกติ )
Code (PHP)
while($res=mysql_fetch_array($q) ){
$arr[$res[field1]][]=$res[field2];
}
### create table #########
if(is_array($arr)){
$tb="<table border=1>";
foreach($arr as $k=>$arr2){
$i=0;
$c=count($arr2);
foreach($arr2 as $v2){
$tb.="<tr>";
if($i<1){
$tb.="<td rowspan='$c' >";
$tb.=$k;
$tb.="</td>";
}
$tb.="<td>";
$tb.=$v2;
$tb.="</td>";
$tb.="</tr>";
$i++;
}
}
$tb.="</table>";
}
#######################
|
|
|
|
|
Date :
2013-02-01 16:40:23 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บางทีการ query ข้อมูลก็ช่วยได้นะคะ พวก GROUP หรือ ORDER
|
|
|
|
|
Date :
2013-02-01 17:06:19 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คำแนะนำจากทุกคน ค่ะ
|
|
|
|
|
Date :
2013-02-01 22:03:50 |
By :
helpmepls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|