ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามเกี่ยว กับ php echo ตัวแปร
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามเกี่ยว กับ php echo ตัวแปร  (อ่าน 2653 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
affoman
คนรักเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 197



ดูรายละเอียด
« เมื่อ: 11 พฤษภาคม 2012, 20:54:23 »



โค๊ด:
}else{
echo "
<br><br><br><br><center><img src='$webroot/images/viponly.png' /></center><br><br><br><br><br><br>";
}


พอดีว่า  echo มันแสดงผล เฉพาะพวก text image เฉยๆๆ
พอดีผมต้องการ แทรกตัวแปรไปในนี้ด้วยนะครับบ

ผมก้เลยเปลื่ยน ใหม่เป็น

โค๊ด:
}else{
?>
      <table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="14%"><div align="center"><img class="show_images" src="<?=$webroot?>/movieposters/<?=$Result[poster];?>" /></div></td>
          <td width="86%" valign="top">
  <p><strong>ชื่อภาษาอังกฤษ : </strong><?=$Result[name_en];?><br /><strong>ชื่อภาษาไทย : </strong><?=$Result[name_th];?></p>
  <strong>เรื่องย่อ : </strong><?=$Result[content];?></td>
        </tr>
      </table>
<?
}

แสดงผลครับ ไม่ eror code แต่ว่า  แสดงแ่ต่ข้อความ  ตัวแปร  รูปภาพ ที่ดึงจาก sql  มันไม่ยอมโชว์เลยนะครับ ผมไม่รู้ว่าผมเขียน code ผิดส่วนใหญ่ หรือใช้คำสั่ง ผิด ยังไง รบกวนพี่ๆด้วยนะครับ
------------
อาจจะถามเยอะไปหน่อย....นะคับ ผมก้พยายามเรียรู้ไปเรื่อยๆๆ ไม่เข้าใจอะไรก็ขอตั้งกระทู้ถาม คงไม่ว่าผมนะคับ อิอิ

บันทึกการเข้า

OFF
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #1 เมื่อ: 11 พฤษภาคม 2012, 21:50:19 »

      <table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="14%"><div align="center"><img class="show_images" src="<?=$webroot?>/movieposters/<?=$Result[poster];?>" /></div></td>
          <td width="86%" valign="top">
        <p><strong>ชื่อภาษาอังกฤษ : </strong><?=$Result[name_en];?><br /><strong>ชื่อภาษาไทย : </strong><?=$Result[name_th];?></p>
        <strong>เรื่องย่อ : </strong><?=$Result[content];?></td>
        </tr>
      </table>

ถ้าเปลี่ยนเป็น
Start
<img   src="<?=$webroot?>/movieposters/<?=$Result[poster];?>" />
Stop

เท่านี้ มันแสดงผลอะไรออกมาคะ แล้วถ้า คลิกขวาระหว่างกลาง Start และ Stop โดยใช้ Chrome เลือก Inspect element มัน Show Code อะไรบ้างคะ
     
บันทึกการเข้า
ball6847
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 212
ออฟไลน์ ออฟไลน์

กระทู้: 4,152



ดูรายละเอียด
« ตอบ #2 เมื่อ: 11 พฤษภาคม 2012, 21:55:11 »

เอา error_reporting(E_ALL); ใส่ไว้ข้างบน แล้วจะเห็น error ครับ

บันทึกการเข้า

kungbest
สมุนแก๊งเสียว
*

พลังน้ำใจ: 86
ออฟไลน์ ออฟไลน์

กระทู้: 670



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 11 พฤษภาคม 2012, 21:58:59 »

อยู่ตรงที่ตัวแปร array คับ ไอเจ้า $Result[....]

ถ้าเราจะใช้ชื่อฟิลด์ ข้างในต้องเป็น string คับ ใส่ '

$Result['poster'] $Result['name_en'] $Result['name_en']

ถ้าจะใช้แถว ก็ใส่เป็นเลขแถวเริ่มจาก 0 $Result[0] $Result[1] $Result[2] $Result[..]

ลองดูคับผม  wanwan020
บันทึกการเข้า

melodee
ก๊วนเสียว
*

พลังน้ำใจ: 17
ออฟไลน์ ออฟไลน์

กระทู้: 231



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 11 พฤษภาคม 2012, 22:38:13 »

server ไม่รองรับการใช้งาน short tag รึป่าวครับ
ลองใช้ โค๊ดแบบเต็มๆ ดุ <?=$Result[name_en];?> เป็น <?php echo $Result[name_en];?>
บันทึกการเข้า

affoman
คนรักเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 197



ดูรายละเอียด
« ตอบ #5 เมื่อ: 11 พฤษภาคม 2012, 23:01:23 »

อยู่ตรงที่ตัวแปร array คับ ไอเจ้า $Result[....]

ถ้าเราจะใช้ชื่อฟิลด์ ข้างในต้องเป็น string คับ ใส่ '

$Result['poster'] $Result['name_en'] $Result['name_en']

ถ้าจะใช้แถว ก็ใส่เป็นเลขแถวเริ่มจาก 0 $Result[0] $Result[1] $Result[2] $Result[..]

ลองดูคับผม  wanwan020


ขอบคุณมากครับ ตอนนี้ทำได้แล้วนะครับ

โค๊ด:
}else{

$sql = "SELECT * FROM movie WHERE id = '".$_GET["id"]."'";
$Query = mysql_query($sql);
while($Result = mysql_fetch_array($Query))
echo "
<br>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          ><div align='left'><img class='show_images' src='$webroot/movieposters/$Result[poster]' /></div>
          <td width='100%' valign='top'>
  <p><strong>ชื่อภาษาอังกฤษ : </strong>'$Result[name_en]'<br /><strong>ชื่อภาษาไทย : </strong>'$Result[name_th]'</p>
  <strong>เรื่องย่อ : </strong>'$Result[content]'</td>
        </tr>
      </table>
<br>";
}
บันทึกการเข้า

OFF
jira2712
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 175
ออฟไลน์ ออฟไลน์

กระทู้: 1,626



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 11 พฤษภาคม 2012, 23:02:31 »

เข้ามารอคำตอบครับ  wanwan019
บันทึกการเข้า

หัวน้ำหอม ขายส่งหัวน้ำหอม ขายหัวน้ำหอม หัวเชื้อน้ำหอม ขายส่งหัวเชื้อน้ำหอม zateers.com
หัวน้ำหอม
สารกำจัดเชื้อรา สารกำจัดโรคพืช สารป้องกันโรคพืช zateers.com/greens/
สารกำจัดเชื้อรา
affoman
คนรักเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 197



ดูรายละเอียด
« ตอบ #7 เมื่อ: 11 พฤษภาคม 2012, 23:49:10 »

ขอสอบถามเพิ่มเติมหน่อยครับ

หากผมมี code ตัวแปร ที่ต้องให้อยู่ใน  echo

แค่ code ที่ผมต้องการจะใส่ลงไป  เผอิญ ว่า ต้องมีเงื่อนไข if esle ในนั่นด้วย
คือเริ่มจะงง 5555 มันเริ่มจะซ้อนๆ

โค๊ด:
}else{

$sql = "SELECT * FROM movie WHERE id = '".$_GET["id"]."'";
$Query = mysql_query($sql);
while($Result = mysql_fetch_array($Query))
echo "
<br>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <div align='left'><img class='show_images' src='$webroot/movieposters/$Result[poster]' /><img src='$webroot/images/viponly.png' /></div>
          <td width='100%' valign='top'>
  <p><strong>ชื่อภาษาอังกฤษ : </strong>'$Result[name_en]'<br /><strong>ชื่อภาษาไทย : </strong>'$Result[name_th]'</p>
  <strong>เรื่องย่อ : </strong>'$Result[content]'</td>
        </tr>
      </table>
  <br>
<p align='left'><a href='$Result[ss1]' target='_blank'><img src='$Result[ss1]' height='500' width='700'></a></p>
<p align='left'><a href='$Result[ss2]' target='_blank'><img src='$Result[ss2]' height='500' width='700'></a></p>

<br>";
}

----------------------------------------------------------
<p align='left'><a href='$Result[ss1]' target='_blank'><img src='$Result[ss1]' height='500' width='700'></a></p>
<p align='left'><a href='$Result[ss2]' target='_blank'><img src='$Result[ss2]' height='500' width='700'></a></p>

ในส่วน code นี้นะครับ ที่ผมต้องการ จะใ้ช้ เงื่อนไข if else ลงไปด้วย 

สมมุติที่ผมคิด ผมคิดว่า จะใช้ if($Result[ss1] != '' )    เพื่อให้มันตรวจสอบ หาก ไม่มีการใส่ url ลง ใน box นี้ จะไม่แสดง  tag code ที่กำหนดไว้ขึ้นมานะครับ
ไม่รุ้ว่าจะเข้าผมอธิบายหรือป่าว 555 ผมก็อธิบายตามประสาๆ งงๆๆ เหมือนกัน ^^  รบกวนด้วยนะครับ
บันทึกการเข้า

OFF
kungbest
สมุนแก๊งเสียว
*

พลังน้ำใจ: 86
ออฟไลน์ ออฟไลน์

กระทู้: 670



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 12 พฤษภาคม 2012, 01:39:36 »

มันก็ไม่มีความจำเป็นอะไรที่จะต้องจบ code ด้วย echo เดียวนะคับ  Tongue

เป็นผมจะทำแบบนี้

โค๊ด:
if($Result[ss1] != '')
echo "<p align='left'><a href='$Result[ss1]' target='_blank'><img src='$Result[ss1]' height='500' width='700'></a></p>";

if($Result[ss2] != '')
echo "<p align='left'><a href='$Result[ss2]' target='_blank'><img src='$Result[ss2]' height='500' width='700'></a></p>";

แล้ว echo ด้านบนก็จะจบตั้งแต่ <br>

 wanwan020
บันทึกการเข้า

ghostbehead
สมุนแก๊งเสียว
*

พลังน้ำใจ: 35
ออฟไลน์ ออฟไลน์

กระทู้: 614



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 12 พฤษภาคม 2012, 01:53:40 »

server ไม่รองรับการใช้งาน short tag รึป่าวครับ
ลองใช้ โค๊ดแบบเต็มๆ ดุ <?=$Result[name_en];?> เป็น <?php echo $Result[name_en];?>

เห็นด้วยครับ

ผมว่าใช้เต็มๆ ดีกว่านะครับ
บันทึกการเข้า

affoman
คนรักเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 197



ดูรายละเอียด
« ตอบ #10 เมื่อ: 12 พฤษภาคม 2012, 03:19:55 »

มันก็ไม่มีความจำเป็นอะไรที่จะต้องจบ code ด้วย echo เดียวนะคับ  Tongue

เป็นผมจะทำแบบนี้

โค๊ด:
if($Result[ss1] != '')
echo "<p align='left'><a href='$Result[ss1]' target='_blank'><img src='$Result[ss1]' height='500' width='700'></a></p>";

if($Result[ss2] != '')
echo "<p align='left'><a href='$Result[ss2]' target='_blank'><img src='$Result[ss2]' height='500' width='700'></a></p>";

แล้ว echo ด้านบนก็จะจบตั้งแต่ <br>

 wanwan020


ขอบคุณมากนะครับ
บันทึกการเข้า

OFF
makoto
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 152
ออฟไลน์ ออฟไลน์

กระทู้: 1,443



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 12 พฤษภาคม 2012, 13:16:38 »

มันก็ไม่มีความจำเป็นอะไรที่จะต้องจบ code ด้วย echo เดียวนะคับ  Tongue

เป็นผมจะทำแบบนี้

โค๊ด:
if($Result[ss1] != '')
echo "<p align='left'><a href='$Result[ss1]' target='_blank'><img src='$Result[ss1]' height='500' width='700'></a></p>";

if($Result[ss2] != '')
echo "<p align='left'><a href='$Result[ss2]' target='_blank'><img src='$Result[ss2]' height='500' width='700'></a></p>";

แล้ว echo ด้านบนก็จะจบตั้งแต่ <br>

 wanwan020


ขอบคุณมากนะครับ


คนรุ่นใหม่ๆ ทำลาย code กันเห็นๆ เขียนผิดหลักการ ทำให้ระบบรวน ทำงานไม่เต็มประสิทธิภาพ วิธีแก้ปัญหาของ code นี้ง่ายมาก

โค๊ด:
}else{
echo "
<br><br><br><br><center><img src='$webroot/images/viponly.png' /></center><br><br><br><br><br><br>";
}


แก้เป็น

โค๊ด:
}else{
echo "<br /><br /><br /><br /><center><img src=\"".$webroot."/images/viponly.png\" alt=\"\" /></center><br /><br /><br /><br /><br /><br />";
}

ถ้าคุณจะใช้ echo และเครื่องหมาย " หากมีตัวแปรใน echo ให้คุณปิด " ก่อนแล้วตามด้วยจุด ถึงจะอ้างตัวแปรได้ ข้อความใดๆ ที่อยู่ภายใน " และมี " ซ้อน ให้ใช้ \ นำหน้า
เช่น echo "<img src=\"".$url."\" alt=\"\" />";
ถ้าคุณจะใช้ echo และเครื่องหมาย ' ก็ต้องทำเหมือนกัน แต่ในเนื้อหาคุณสามารถใช้ " โดยไม่ต้องพิมพ์เครื่องหมาย / นำหน้าก่อน

แท็กที่ไม่มีแท็กปิด เช่น br, meta, hr ให้ใส่ / ก่อน > เสมอ

เขียนแบบนี้ให้เป็นนิสัย code จะสวยและทำงานลื่นทุกระบบ
« แก้ไขครั้งสุดท้าย: 12 พฤษภาคม 2012, 13:17:57 โดย makoto » บันทึกการเข้า

Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,230



ดูรายละเอียด
« ตอบ #12 เมื่อ: 12 พฤษภาคม 2012, 18:47:54 »

ถ้าจะทำแบบนั้น ผมว่า ใช้  ' (single quote)  แทน  " (double quote) แทนดีกว่านะครับ

นอกจาก จะทำให้โค้ดมันเร็วขึ้นแล้ว ยังสวย และดูง่ายกว่า เมื่อใช้ร่วมกับ html เพราะ html จะใช้ " เป็นหลัก

เช่น

echo "<img src=\"".$url."\" alt=\"\" />";

แก้เป็น

echo '<img src="' . $url . '" alt="" />';

 wanwan017
« แก้ไขครั้งสุดท้าย: 12 พฤษภาคม 2012, 18:48:30 โดย Synchronize » บันทึกการเข้า

sgio
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 13



ดูรายละเอียด
« ตอบ #13 เมื่อ: 12 พฤษภาคม 2012, 20:20:08 »

server ไม่รองรับการใช้งาน short tag รึป่าวครับ
ลองใช้ โค๊ดแบบเต็มๆ ดุ <?=$Result[name_en];?> เป็น <?php echo $Result[name_en];?>

เห็นด้วยครับ

ผมว่าใช้เต็มๆ ดีกว่านะครับ

เห็นด้วยครับ เพิ่มอีกนิด <?php echo $Result['name_en'];?> จะแจ่มกว่า
บันทึกการเข้า
affoman
คนรักเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 197



ดูรายละเอียด
« ตอบ #14 เมื่อ: 12 พฤษภาคม 2012, 21:11:42 »

ขอบคุณมากๆครับ  ได้เปนความรู้เยอะจริงๆๆๆ ^^

ฝึก php แบบจิงจัง มา 2-3 วันละ เริ่มเข้าใจมาเยอะเลยครับ ^^
บันทึกการเข้า

OFF
หน้า: [1]   ขึ้นบน
พิมพ์