Home Webboard ArticlesKnowledges  

ผู้เขียน หัวข้อ: สอบถามเรื่องการดึงกระทู้อะค่ะ  (อ่าน 33916 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ oomyimayoy

  • www.gluta-seed.com
  • Ju
  • *
  • กระทู้: 5
  • เห็นด้วย&ขอบคุณ: 1
    • http://www.gluta-seed.com
 :crying:คืออยากทำให้เวลามีคนโพสรูปในบอร์ดที่ต้องการ  แล้วดึงมาโชว์เฉพาะรูป มาโชว์ที่หน้าแรกอะค่ะ
แบบว่ามันจะอัพเดทเองเวลามีคนไปโพสอะค่ะ
ขอบคุณผู้ใจดีไว้ก่อนนะค่ะ ขอบคุณค่ะ :smitten-1:

« แก้ไขครั้งสุดท้าย: 29, สิงหาคม 2010, 10:47:37 PM โดย oomyimayoy »


 *ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น*

c,;-uhg,k

  • บุคคลทั่วไป
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #1 เมื่อ: 28, สิงหาคม 2010, 12:12:22 PM »
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?

ออฟไลน์ oomyimayoy

  • www.gluta-seed.com
  • Ju
  • *
  • กระทู้: 5
  • เห็นด้วย&ขอบคุณ: 1
    • http://www.gluta-seed.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #2 เมื่อ: 28, สิงหาคม 2010, 12:51:59 PM »
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?
ได้ค่ะแต่ไม่ใช้เว็บของหนูนะค่ะ แต่อยากได้แบบเขา อิอิ
« แก้ไขครั้งสุดท้าย: 29, สิงหาคม 2010, 10:47:18 PM โดย oomyimayoy »
 *ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น*

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #3 เมื่อ: 28, สิงหาคม 2010, 01:04:11 PM »
ขอลิงค์ไปดูหน้าเว็บจริงได้ไหม?

ได้ค่ะแต่ไม่ใช้เว็บของหนูนะค่ะ แต่อยากได้แบบเขา อิอิ http://www.gongzstudio.com/


เขาจะขอดูเว็บของหนูหนะแหละจ๊ะ
http://www.justusers.net/forum/index.php?topic=4555.0

ออฟไลน์ oomyimayoy

  • www.gluta-seed.com
  • Ju
  • *
  • กระทู้: 5
  • เห็นด้วย&ขอบคุณ: 1
    • http://www.gluta-seed.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #4 เมื่อ: 28, สิงหาคม 2010, 03:45:12 PM »


อ้อขอโทษทีค่ะ อิอิ newbielink:http://www.dukduy.com [nonactive]
« แก้ไขครั้งสุดท้าย: 29, สิงหาคม 2010, 10:46:11 PM โดย oomyimayoy »
 *ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น*

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
ssi_recentAttachments การดึงไฟล์รูปและไฟล์แนบของ 1.1*
« ตอบกลับ #5 เมื่อ: 28, สิงหาคม 2010, 07:04:09 PM »
1. แก้ไฟล์  SSI.php
ค้นหา
โค๊ด: [Select]
?>วางก่อนที่ค้นหา
โค๊ด: [Select]
// Show the recent attachments.
function ssi_recentAttachments($num_attachments = 8, $attachment_type = 'all', $output_method = 'echo')
{
global $db_prefix, $scripturl, $context, $txt, $func, $modSettings;

// Lets get the boards that we can view attachments on.
$attachment_boards = boardsAllowedTo('view_attachments');

// Adios.
if (empty($attachment_boards))
return array();

// Clause.
$boards_clause = isset($attachment_boards[0]) ? '' : "AND t.ID_BOARD IN(" . implode(',', $attachment_boards) . ")";

// Now for the type of attachment.  By default all attachments.
switch ($attachment_type)
{
case 'images':
$fileTypes = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff');
break;
case 'music':
$fileTypes = array('mp3', 'wav', 'wma');
break;
case 'videos':
$fileTypes = array('wmv', 'mov', 'mpg', 'mpeg', 'avi');
break;
case 'doc':
$fileTypes = array('doc', 'pdf', 'txt');
break;
case 'archive':
$fileTypes = array('zip', 'tar', 'tar.gz', 'rar', '7z');
break;
default:
$fileTypes = array();
break;
}

// Check to see if the extension is 4 chars long
$ext = array();
foreach ($fileTypes as $type)
$ext[] = "RIGHT(att.filename, " . strlen($type) . ") = '" . $type . "'";

// Make the clause for the query
$filter_ext = empty($ext) ? '' : "AND (" . implode(' OR ', $ext) . ")";

$request = db_query($query = "
SELECT
att.ID_ATTACH, att.ID_MSG, att.filename, IFNULL(att.size, 0) AS filesize, att.downloads, mem.ID_MEMBER,
IFNULL(mem.realName, m.posterName) AS posterName, m.ID_TOPIC, m.subject, t.ID_BOARD, m.posterTime,
att.width, att.height, IFNULL(thumb.ID_ATTACH, 0) AS ID_THUMB, thumb.width AS thumb_width, thumb.height AS thumb_height
FROM ({$db_prefix}attachments AS att, {$db_prefix}messages AS m, {$db_prefix}topics AS t)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
LEFT JOIN {$db_prefix}attachments AS thumb ON (thumb.ID_ATTACH = att.ID_THUMB)
WHERE t.ID_TOPIC = m.ID_TOPIC
AND att.ID_MSG = m.ID_MSG
AND att.attachmentType = 0
$boards_clause
$filter_ext
ORDER BY att.ID_ATTACH DESC
LIMIT $num_attachments", false, false);

$attachments = array();
$image_ids = array();
while ($row = mysql_fetch_assoc($request))
{
$is_image = !empty($row['width']) && !empty($row['height']);

$attachments[$row['ID_ATTACH']] = array(
'member' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'link' => empty($row['ID_MEMBER']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>',
),
'file' => array(
'filename' => $row['filename'],
'filesize' => round($row['filesize'] / 1024, 2) . $txt['smf211'],
'download' => $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $row['ID_ATTACH'],
'downloads' => $row['downloads'],
'is_image' => $is_image,
),
'topic' => array(
'id' => $row['ID_TOPIC'],
'ID_BOARD' => $row['ID_BOARD'],
'subject' => str_replace($txt['response_prefix'], '', $row['subject']),
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#msg' . $row['ID_MSG'] . '">' . $func['ucwords'](strtolower($row['subject'])) . '</a>',
'time' => timeformat($row['posterTime']),
),
);

// Image.
if ($is_image)
{
$ID_THUMB = empty($row['ID_THUMB']) ? $row['ID_ATTACH'] : $row['ID_THUMB'];
$attachments[$row['ID_ATTACH']]['file']['thumbnail'] = array(
'id' => $ID_THUMB,
'href' => $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image',
'img' => '<img src="' . $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image" />',
'width' => $row['width'],
'height' => $row['height'],
'link' => '<a href="' . $attachments[$row['ID_ATTACH']]['file']['download'] . '"><img src="' . $scripturl . '?action=dlattach;topic=' . $row['ID_TOPIC'] . '.0;attach=' . $ID_THUMB . ';image" /></a>',
);
$image_ids[] = $row['ID_ATTACH'];
}
}
mysql_free_result($request);

// So you just want an array?  Here you can have it.
if ($output_method == 'array')
return $attachments;

// Give them the default.
echo '
<table class="ssi_table">
<tr>
<th align="left">Attachment</th>
<th align="left">Poster</th>
<th align="left">Downloads</th>
<th align="left">Filesize</th>
</tr>';
foreach ($attachments as $attach)
echo '
<tr>
<td>', $attach['file']['filename'], '</td>
<td>', $attach['member']['link'], '</td>
<td>', $attach['file']['downloads'], '</td>
<td>', $attach['file']['filesize'], '</td>
</tr>';
echo '
</table>';
}

อธิบาย
จุดนี้เราจะได้ฟังชัน  ssi_recentAttachments เพิ่มมาอีก 1 ใช้ตัวนี้ให้เป้นประโยชน์
ไม่ว่าจะโชว์ไฟล์แนบ หรือโชว์รูปแนบ ฟังชันนี้ใช้ได้ทั้งนั้น
การใช้งานก็เหมือนพวกกระทู้ล่าสุด คือใช้ไฟล์ตรงก็ได้ หรือจะใช้ iframe ก็ได้

ตัวอย่างนี้  คือการใช้ไฟล์ เพื่อไปแสดงรูปใน iframe

2. สร้างไฟล์   show.php  อัพขึ้นไว้ที่เดียวกับ SSI.php
เป็นไฟลืที่ดึงเอา ssi_recentAttachments มาแสดงผล
โค๊ดนี้จะจัดอย่างไรก็แล้วแต่เรา
ใช้พื้นฐานเอชทีเอมแอลนี่แหละ จัดให้สวยงาม
ตัวอย่างโค๊ด

โค๊ด: [Select]
<?php
require_once('SSI.php');

$attachments ssi_recentAttachments(10'images''array');
echo 
'
    <table>'
;
foreach (
$attachments as $attach)
{
    echo 
'
        <tr>
            <td>'
$attach['file']['thumbnail']['link'], '</td>
            <td>
                <table>
                    <tr>
                        <td>Posted By: '
$attach['member']['link'], '</td>
                    </tr>
                    <tr>
                        <td>Date Posted: '
$attach['topic']['time'], '</td>
                    </tr>
                    <tr>
                        <td>Topic: '
$attach['topic']['link'], '</td>
                    </tr>
                </table>
            </td>
        </tr>'
;
}
echo 
'
    </table>'
;

?>


3. ใช้ไอเฟรมในการนำไฟล์ไปแสดงผล  จะวางที่ไหนจะจัดยังไงก็แล้วแต่

โค๊ด: [Select]
 <iframe name=I1 width="100%" align=center border=0 frameborder=0
   src="http://www.เว็บของคุณ.โดเมน/webboard/show.php" height=300 target="_blank">
  </iframe>


ออฟไลน์ oomyimayoy

  • www.gluta-seed.com
  • Ju
  • *
  • กระทู้: 5
  • เห็นด้วย&ขอบคุณ: 1
    • http://www.gluta-seed.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #6 เมื่อ: 28, สิงหาคม 2010, 08:01:05 PM »
เย้ ขอบคุณมากๆๆๆค่ะ ตอนนี้ได้รูปมาโชว์แล้วค่ะ
« แก้ไขครั้งสุดท้าย: 29, สิงหาคม 2010, 10:45:43 PM โดย oomyimayoy »
 *ขออภัย จำกัดสิทธิ์การใส่ Link-URL ในลายเซ็น*

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #7 เมื่อ: 29, สิงหาคม 2010, 09:32:26 AM »
ที่แนะนำได้คงเป็นวิธีการ แต่รายละเอียดการจัดหน้าเพจ หน้าไฟล์อย่างไร คุณต้องลองจัดการเองแล้วหละ
ลองสร้างตัวอย่างจากดรีมเวพเวอร์ก็ได้  หรือดูซอร์สต้นฉบับจากหน้าเพจที่คุณต้องการ
แล้วก็เอามาปรับใช้กับไฟล์ show.php

ออฟไลน์ Mr.-[CAT]-

  • Just M
  • ***
  • กระทู้: 76
  • เห็นด้วย&ขอบคุณ: 60
  • เพศ: ชาย
    • Oๅศsมinw
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #8 เมื่อ: 29, สิงหาคม 2010, 07:15:06 PM »

"ถ้าเกลียดพ่อ ไม่รักพ่อ จงออกไปจากที่นี่ซะเพราะที่นี่คือบ้านของพ่อนี่คือแผ่นดินของพ่อ"

คอเดียวกับผมเลยนะ จบข่าว
-สิ้uiiสVจัunsๅ Is iวaๅที่isๅwsๅกจๅกกัu-

ออฟไลน์ dekskoy

  • Ju
  • *
  • กระทู้: 15
  • เห็นด้วย&ขอบคุณ: 2
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #9 เมื่อ: 30, สิงหาคม 2010, 04:59:32 PM »
เยี่ยมมาก ได้ประโยชน์ด้วย
จากโค๊ดลองนำไปใช้ดู จะแสดงภาพไฟล์แนบ 10 ภาพล่าสุด และเป็น 10 ภาพจากกระทู้เดียวกัน
ถ้าต้องการภาพไฟล์แนบของสิบกระทู้ล่าสุดได้มั้ย เอามาแสดงกระทู้ละภาพก็พอ น่าจะเป็นอีกหนึ่งแนวคิด  :grin:

ออฟไลน์ zelda

  • Just Staff
  • *
  • กระทู้: 474
  • เห็นด้วย&ขอบคุณ: 543
  • เพศ: ชาย
    • www.izedzine.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #10 เมื่อ: 31, สิงหาคม 2010, 09:05:30 AM »
ก็เปลี่ยนจาก
โค๊ด: [Select]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ

ออฟไลน์ dekskoy

  • Ju
  • *
  • กระทู้: 15
  • เห็นด้วย&ขอบคุณ: 2
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #11 เมื่อ: 31, สิงหาคม 2010, 04:51:45 PM »
ก็เปลี่ยนจาก
โค๊ด: [Select] [nofollow]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select] [nofollow]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ

อันนี้ลองแล้ว ได้แล้วละครับ มันจะแสดงกระทู้ที่มีการแนบภาพล่าสุด
แต่สิ่งที่คิดว่าดีคือ มีกระทู้ทั้งหมดสิบกระทู้ล่าสุด เอาไฟล์แรกของแต่ละกระทู้มาแสดงนะครับ  :grin:

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #12 เมื่อ: 31, สิงหาคม 2010, 05:41:37 PM »
ก็เปลี่ยนจาก
โค๊ด: [Select]
$attachments = ssi_recentAttachments(10, 'images', 'array');เป็น
โค๊ด: [Select]
$attachments = ssi_recentAttachments(1, 'images', 'array');ครับ

อันนี้ลองแล้ว ได้แล้วละครับ มันจะแสดงกระทู้ที่มีการแนบภาพล่าสุด
แต่สิ่งที่คิดว่าดีคือ มีกระทู้ทั้งหมดสิบกระทู้ล่าสุด เอาไฟล์แรกของแต่ละกระทู้มาแสดงนะครับ  :grin:

ถ้าเอาตามนี้ 
เงื่อนไขความต้องการต้องถูกเขียนลงในไฟล์  show.php

เราเขียนไม่เป็นเหมือนกัน

ออฟไลน์ zelda

  • Just Staff
  • *
  • กระทู้: 474
  • เห็นด้วย&ขอบคุณ: 543
  • เพศ: ชาย
    • www.izedzine.com
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #13 เมื่อ: 01, กันยายน 2010, 05:21:34 AM »
เนื่องจากด้านบนนั้นเป็นการแสดงแบบ recent หมายความว่าจะดึงเอาเฉพาะล่าสุดมาแสดง
ถ้าจะเอาเฉพาะรูปแรก งั้นก็ต้องแบบนี้
โค๊ด: [Select]
$parameters = array(
  'limit' => 1,
  'board' => array(1,2,3,...),
  'start' => 1,
);
เวลาใช้ก็เรียก
ssi_getfirstattachment($parameters);

แล้วก็เขียนฟังก์ชั่น ssi_getfirstattachment ขึ้นมาเพื่อ define ตัวแปรค่างๆ

ออฟไลน์ Mr.-[CAT]-

  • Just M
  • ***
  • กระทู้: 76
  • เห็นด้วย&ขอบคุณ: 60
  • เพศ: ชาย
    • Oๅศsมinw
Re: สอบถามเรื่องการดึงกระทู้อะค่ะ
« ตอบกลับ #14 เมื่อ: 01, กันยายน 2010, 07:00:36 AM »
โค๊ด: [Select]
<?php require(".../ใส่ชื่อforum/SSI.php"); ?>
<?php 

$list 
="8"// ต้องการให้โชว์กี่กระทู้ล่ะ ใส่เข้าไปได้เลย

$sboard="1"// ใส่ 0 ถ้าต้องการกระทู้จากบอร์ดทุกบอร์ด  และใส่ 1 ถ้าต้องการเจาะจงบอร์ด

// ถ้าใส่ 1 อย่าลืมระบุ id ของบอร์ดด้วยเช่น 
// http://www.xxx.com/forum/lasttopic.php?board= อย่างงี้อ่ะ เช่น http://www.xxx.com/forum/lasttopic.php?board=3.0

// ถ้าไม่ได้ใส่ ?board=.. ก็ให้มันแสดงตาม id ของบอร์ด ตามข้างล่าง

if (empty($board)) { 
$board "4"// เปลี่ยนตรงนี้ถ้าอยากให้บอร์ดไหนเป็นค่า default 



?>


<html>

<head>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>:: <?=$list ?> [url=http://www.xxx.com]www.xxx.com[/url]</title>
<link href="main01.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF">

<?
include("Settings.php");

$host = $db_server;
$user = $db_user;
$pass = $db_passwd;
$database = $db_name;
$prefix = $db_prefix."topics";
$prefix2 = $db_prefix."messages";

[แอท]mysql_connect($host,$user,$pass) or die("ขออภัยค่ะ ขณะนี้ไม่สามารถติดต่อฐานข้อมูลได้ กรุณาเข้าชมใหม่ภายหลัง");
if ($sboard=="0") {
$Sql = "SELECT * FROM $prefix order by ID_TOPIC DESC limit 0,$list ";
} elseif ($sboard=="1") {
$Sql = "SELECT * FROM $prefix where ID_BOARD='$board' order by ID_TOPIC DESC limit 0,$list ";
}
$result = mysql_db_query($database,$Sql);
$nrow = mysql_num_rows($result);
while ($num = mysql_fetch_array($result)) {

$tid = $num["ID_TOPIC"];
$bid = $num["ID_BOARD"];
$fid = $num["ID_FIRST_MSG"];
$view = $num["numViews"];
$reply = $num["numReplies"];

$msql = "select * from $prefix2 where ID_MSG='$fid'";
$mresult = mysql_db_query($database,$msql);
$marr = mysql_fetch_array($mresult);
$title = $marr["subject"];
$poster = $marr["posterName"];
$today = date("d M Y");
$time = date("d M Y", $marr["posterTime"]);
if ($today==$time) {
$time = date("<b>วันนี้</b>", $marr["posterTime"]);
} else {
$time = date("<font-color='blue'>.</font>", $marr["posterTime"]);
}

echo "&nbsp;<font size='3pt' color='red'>&middot;</font>&nbsp;<a href='index.php?board=$bid;action=display;threadid=$tid' target='_blank' class='menu01'>$title</a> &nbsp;<font color='red'> $time</font>&nbsp;<font size='-1pt' color='#999999'>($view/$reply) </font><br>\n";
}

?>

</body>

</html>


อันนี้โค้ดที่ผมได้มา แต่จำไม่ได้ว่า ได้มาจากไหน สงสัยแถวนี้แหละ ขออภัยได้
ลองศึกษาดูนะ แบบโชว์กระทู้แยกบอร์ดเลย เวลาจะโชว์ก็สร้าง iframe ในหน้าที่เราจะนำไปแสดง
ใครเก่งก็ช่วยอธิบายเพิ่มเติมด้วย


***/ปัจจุบันนี้ผมก็ใช้ตัวนี้แหละ/**
-สิ้uiiสVจัunsๅ Is iวaๅที่isๅwsๅกจๅกกัu-

 

Sitemap 1 2 3 4 5 6 
Back to top