เรื่องการแสดงผลของข้อมูลค่ะ สังเกตุจากภาพอะคะว่าชื่อสมาชิกที่มีสุนัขมันมีชื่อซ้ำกันอยู่
ใช้ DISTINCT ก็ไม่ได้คะ
ช่วยหนูหน่อยนะคะ
Date :
2009-12-14 22:40:33
By :
อากิโกะ
มะมีใครตอบเลย
Date :
2009-12-14 23:14:53
By :
SAUACTH
help me please
Date :
2009-12-14 23:50:48
By :
SAUACTH
$sqlShowMatch = "SELECT petmember.*,member.mem_firstname, GROUP_CONCAT (breed.breed_name) AS bname
FROM petmember INNER JOIN member
ON petmember.mem_id = member.mem_id
INNER JOIN breed
ON petmember.breed_id = breed.breed_id
GROUP BY member.mem_firstname
";
Date :
2009-12-15 00:17:03
By :
num
อยากให้มี aaa อยู่ฝั่งซ้ายอันเดียว
ตอนนี้ใช้groupby ได้แล้ว
แต่ว่าพันธุ์สุนัขของสมาชิก บีเกิล และชิสุ ให้อยู่บรรทัดเดียวกันอะคะ
Date :
2009-12-15 00:21:02
By :
SAUACTH
query ข้างบนมีคำสั่งนี้ครับ
GROUP_CONCAT(breed.breed_name) AS bname
เปลี่ยน <td><?= $ShowMatch['breed_name']?></td>
เป็น <td><?= $ShowMatch['bname']?></td> ครับ
Date :
2009-12-15 00:33:01
By :
num
ขอบคุณน่ะคะพี่
แล้วอยากถามต่ออ่ะคะ
ว่า เมื่อมันเรียงแถวในแนวนอนแล้ว
คือ aaa,bbb
แล้วถ้าเราจะทำลิ้ง aaa ตัวนึง
bbb ตัวนึง
คือว่าแยกลิ้งกันอะคะ
มีวิธีการอย่างไรค่ะ???
Date :
2009-12-15 10:02:16
By :
SAUACTH
ตอบหน่อยน่ะคะ ได้โปรด
Date :
2009-12-15 19:29:38
By :
SAUACTH
ต่อจากตรงนี้นะครับ
<td><?= $ShowMatch['bname']?></td>
เปลี่ยนเป็น
<td>
<?php $bs = explode(',',$ShowMatch['bname']); ?>
<?php foreach($bs as $b):?>
<a href="test.php?b=<?php echo urlencode($b);?>"><?php echo htmlspecialchars($b);?></a>
<?php endforeach;?>
</td>
Date :
2009-12-15 19:58:40
By :
num
โค๊ดนี้ของพี่num ช่วยอธิบายให้หนูหน่อยได้ไหมคะ
Date :
2009-12-15 20:03:06
By :
SAUACTH
<td>
<?php $bs = explode(',',$ShowMatch['bname']); //แปลงเป็น array รูปแบบ array('bname1','bname2'); ?>
<?php foreach($bs as $b): //loop ของแต่ละ element เช่น $b == 'bname1' ?>
<a href="test.php?b=<?php echo urlencode($b);?>"><?php echo htmlspecialchars($b);
// urlencode แปลงค่าตัวอักษรให้เป็น string ที่สามารถส่งข้อมูลผ่านทาง url ได้อย่างถูกต้อง
// htmlspecialchars แปลงค่าตัวอักษรให้เป็น string ที่สามารถแสดงข้อมูลในเว็บเพจได้อย่างถูกต้อง (แปลงตัวอักษรที่ใช้ใน tag html ให้เป็น ตัวอักษรที่ใช้แสดงผลเฉยๆ เช่น < จะถูกแปลงเป็น <
?></a>
<?php endforeach; //end loop ?>
</td>
Date :
2009-12-15 20:15:40
By :
num
พี่คะ หนูอยากรู้ว่า
พอได้เป็นลิ้งมาแล้วอ่ะคะ
พอคลิกเข้าไปแล้ว มันจะรับค่าลิ้งนั้นยังไงอะคะ
ในอีกหน้านึงอะ
Date :
2009-12-16 19:44:02
By :
SAUACTH
//test.php
<?php $b = @$_GET['b']; ?>
b = <?php echo $b;?>
ครับ
Date :
2009-12-16 20:15:09
By :
num
index.php
<?
if(count($_SESSION[userMem]) == 0){
echo "<script language='javascript'>";
echo "window.location='?name=user&file=login';";
echo "</script>";
}
$sqlShowMatch = "SELECT petmember.*,member.mem_firstname,GROUP_CONCAT(breed.breed_name) AS bname
FROM petmember INNER JOIN member
ON petmember.mem_id = member.mem_id
INNER JOIN breed
ON petmember.breed_id = breed.breed_id
GROUP BY member.mem_firstname";
$resultShowmatch = mysql_query($sqlShowMatch,$conn);
?>
<!-------------------------------------------Show Member Matching----------------------------------------------->
<form name="form1" method="post" action="">
<table width="754" border="1">
<tr align="center" >
<td><strong>ชื่อสมาชิกที่มีสุนัข</strong></td>
<td><strong>พันธุ์สุนัขของสมาชิก</strong></td>
</tr>
<?
while($ShowMatch = mysql_fetch_array($resultShowmatch)){
if($ShowMatch){ ?>
<tr align="center">
<td><? if($_SESSION['userMem']['mem_id'] == $ShowMatch['mem_id']){?>
<? }else{
echo $ShowMatch['mem_firstname'] ?>
</td>
<td><? if($_SESSION['userMem']['mem_id'] == $ShowMatch['mem_id']){?>
<? }else{
$bs = explode(',',$ShowMatch['bname']); //แปลงเป็น array รูปแบบ array('bname1','bname2'); ?>
<? foreach($bs as $b): //loop ของแต่ละ element เช่น $b == 'bname1' ?>
<a href="?name=match&file=detail_match1?b=<? echo urlencode($b);?>"><? echo htmlspecialchars($b);
// urlencode แปลงค่าตัวอักษรให้เป็น string ที่สามารถส่งข้อมูลผ่านทาง url ได้อย่างถูกต้อง
// htmlspecialchars แปลงค่าตัวอักษรให้เป็น string ที่สามารถแสดงข้อมูลในเว็บเพจได้อย่างถูกต้อง (แปลงตัวอักษรที่ใช้ใน tag html ให้เป็นตัวอักษรที่ใช้แสดงผลเฉยๆ เช่น < จะถูกแปลงเป็น <
?></a>
<? endforeach; //end loop ?>
</td>
</tr>
<? } }?>
<? }
} ?>
</table>
</form>
detail_match1.php
<?
$sqlShowMatch = "SELECT petmember.*,member.mem_firstname,breed.breed_name
FROM petmember INNER JOIN member
ON petmember.mem_id = member.mem_id
INNER JOIN breed
ON petmember.breed_id = breed.breed_id";
$resultShowmatch = mysql_query($sqlShowMatch,$conn);
?>
<form name="form1" method="post" action="">
<center><b>ชื่อเจ้าของ:<?=$_SESSION['userMem']['mem_firstname']?></b>
<table border="0">
<tr>
<td><? $b=@$_GET['b'];?>
<? echo $b; ?>
</td>
</tr>
</table>
<br>
<input type="submit" name="Submit" value="จับคู่">
<input type="submit" name="Back" value="ย้อนกลับ">
</center>
</form>
หนูส่งสัยอ่ะคะ
จากรูป index คะ
พอคลิก ที่พันธุ์สุนัขแต่ละพันธุ์
แล้วมันต้องโชว์ลิ้งขึ้นมาว่าแต่ล่ะพันธุ์ๆ
ทำไงเหรอคะ
Date :
2009-12-16 21:58:15
By :
อากิโกะ
เปลี่ยนจาก ?b เป็น &b ครับ
<a href="?name=match&file=detail_match1&b=<? echo urlencode($b);?>"><? echo htmlspecialchars($b);
// urlencode แปลงค่าตัวอักษรให้เป็น string ที่สามารถส่งข้อมูลผ่านทาง url ได้อย่างถูกต้อง
// htmlspecialchars แปลงค่าตัวอักษรให้เป็น string ที่สามารถแสดงข้อมูลในเว็บเพจได้อย่างถูกต้อง (แปลงตัวอักษรที่ใช้ใน tag html ให้เป็นตัวอักษรที่ใช้แสดงผลเฉยๆ เช่น < จะถูกแปลงเป็น <
?></a>
Date :
2009-12-16 22:27:41
By :
num
พี่คะ คือว่า พอส่งค่ามาให้อีกหน้านึงอะคะ
เช่น สมาชิก aaa มีพันธุ์บีเกิล แล้วเป็นลิ้งค์ส่งเข้ามาแล้ว
สมาชิก bbb มีพันธุ์บีเกิล เหมือนกัน พอคลิกลิ้งมาแล้วอะคะ
มันก็โชว์มาเหมือนกันคะ
มันจะแยกยังไงอะคะว่า
พันธุ์เหมือนกัน แต่จะแยกค่าของลิ้งค์อ่ะคะ
คือมึนไปหมดเลยคะ
ตอบด้วยนะคะ
Date :
2009-12-17 01:23:44
By :
อากิโกะ
ไม่รู้ถูกยังนะครับหน้า member.php ลอง var_dump($_POST); var_dump($_GET); ดูครับว่ามีตัวแปรอะไรให้ใช้บ้าง
<? $b=@$_GET['b'];?>
<?
$sqlShowMatch = "SELECT petmember.*,member.mem_firstname,breed.breed_name
FROM petmember INNER JOIN member
ON petmember.mem_id = member.mem_id
INNER JOIN breed
ON petmember.breed_id = breed.breed_id
WHERE bread.breed_name='$b' ";
$resultShowmatch = mysql_query($sqlShowMatch,$conn);
$rows = array();
while ($row = mysql_fetch_assoc($resultShowmatch)){
$rows[] = $row;
}
?>
<form name="form1" method="post" action="member.php">
<center><b>ชื่อเจ้าของ:<?=$_SESSION['userMem']['mem_firstname']?></b>
<table border="0">
<tr>
<td>
<a href=<? echo htmlspecialchars($b); ?>
</td>
</tr>
<?php foreach($rows as $row):?>
<tr>
<td>
<a href="member.php?mem_id=<?php echo $row['mem_id'];?>"><?php echo htmlspecialchars($row['mem_firstname']);?></a>
<input type="checkbox" name="m[]" value="<?php echo $row['mem_id'];?>" />
<?php echo htmlspecialchars($row['mem_firstname']);?>
</td>
</tr>
<?php endforeach;?>
</table>
<br>
<input type="submit" name="Submit" value="จับคู่">
<input type="submit" name="Back" value="ย้อนกลับ">
</center>
</form>
Date :
2009-12-17 05:59:46
By :
num
พี่ว่าน้องไปให้พี่เค้าสอนที่บ้านเลยดีก่า แปวว หนุ่มน่าจาชอบนะ 555+
( หมายเหตุ : ถ้าสาวแท้ชอบมาก สาวเทียมนิดๆ ) อิอิ แซว ขำขำ นะค่ะ อย่าคิดมาก แปวว
Date :
2009-12-17 08:28:16
By :
Gumme
ขอโทดน่ะคะที่ถามเยอะไป อาจจะทำให้พี่เบื่อก็ได้คะ
หนูสงสัยเลยถาม
ขอบคุณที่พี่ช่วยตอบน่ะคระ
Date :
2009-12-17 09:52:30
By :
SAUACTH
พี่คะ จากโค๊ดข้างบนอ่ะคะ
ถ้าจะไม่ให้ซ้ำกันอ่ะคะตรง index.php
จะต้องส่งค่ามา 2 id
ทำไงอ่ะคะ
หนูเริ่มท้อแล้ว ทำไรก็ไม่ได้ ฮือออออออ
Date :
2009-12-17 10:41:38
By :
SAUACTH
Load balance : Server 00