9 พฤษภาคม 2555

Internship, DAY 13

หมดใจกับบั๊กจริงๆ เลยตัดสินใจถอยทัพไปทำพวก CSS ตกแต่งเว็บก่อน ทำผักชีโรยหน้าดีกว่า 555

เนื่องจากได้ตัวอย่างโค้ดที่เหมาะเหม็งกับงานเราที่สุดแล้ว ลองเอามาเทสต์ก็สามารถทำ Highlight บน Autocomplete ได้ (วิธีเทสต์ก็เหมือน blog ตอนที่แล้ว เพียงแค่แก้ตรง source แค่นั้นเอง จบ!)

เด็กฝึกงานคนใหม่ก็ใจดี๊ใจดีหาสารพัดวิธีทำมาให้ โดยที่ไม่รู้ว่า โค้ดมันก็ใช้ได้แหละ แต่พอเอามารวมร่างแล้วบรึ้มอยู่ดี เง้อออออ

แต่ประเด็นคือเอามารวมร่างกับโค้ดหลักไม่ได้น่ะสิ พี่ต้องก็ดูยุ่งมากเลยไม่อยากกวน ทำงานอื่นก่อนดีกว่า

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

หลังจากได้ CSS แบบที่เราชื่นชอบแล้ว ก็ต้องเอาโค้ดเราไปรวมร่างกับไฟล์ .php ที่ไว้ติดต่อกับ DB ทั้งหลาย วิธีการของเราคือสั่ง echo โค้ดภาษา HTML มันเลยก๊าบ ดิบเถื่อนไร้อารยธรรม แต่ได้ผลเสมอ :D

ตัวอย่างโค้ด คัดมาเฉพาะส่วนแสดงผล (แกรมม่าวิบัติ ไม่งั้นแสดงผลไม่ได้อะ)


echo '< br/ >';
echo '< label style="font-weight: bold;" >จังหวัด:< /label > '.$p.'< br/ >< br/ >';
echo '< table class="hovertable" >';
echo '< tr >< th >'.ตำบล.'< /th >< th >'.อำเภอ.'< /th >< th >'.จังหวัด.'< /th >< th >'.รหัสไปรษณีย์.'< /th >< /tr >';
while($rs=mysql_fetch_assoc($result))
{
    echo '< tr onmouseover="this.style.backgroundColor=\'#FFFFFF\';" onmouseout="this.style.backgroundColor=\'#E0E0E0 \';" >';
    foreach ($rs as $i)
        echo '< td >'.$i.'< /td >';
    echo '< /tr >';
    }


อย่าลืมว่าเหล่าเครื่องหมาย single quote จะต้องมีเครื่องหมาย back slash นำหน้าเสมอ ส่วน double quote ไม่ต้องมี ไม่รู้ทำไม แต่มันรันผ่านละกัน 555


ตัวอย่าง CSS เฉพาะส่วนที่ทำ table (เอาตัวอย่างมาจากเว็บชาวบ้าน แล้วแก้ไขสีเพิ่มเติม)



table.hovertable
{
    font-family: verdana,arial,sans-serif;
    font-size:15px;
    color:#333333;
    border-width: 1px;
    border-color: #999999;
    border-collapse: collapse;
    margin: auto;
}

table.hovertable th
{
    background-color:#C8C8C8;
    border-width: 1px;
    padding: 8px;
    border-style: solid;
    border-color: #E8E8E8 ;
    font-weight: bold;
}

table.hovertable tr
{
    background-color:#E0E0E0;
}

table.hovertable td
{
    border-width: 1px;
    padding: 8px;
    border-style: solid;
    border-color: #E8E8E8;
}




ส่วนนี้ยัดไว้ในไฟล์ .css ลองมาดูตัวอย่างที่ได้กัน









ฝั่งขวามือเป็น list ที่จัดการแปลงร่างให้เป็นโทนสีเทา hover link จะขีดเส้นใต้ให้ selected link จะเปลี่ยนสี แต่ visited link หน้าตาเหมือนเดิมเด้ะ ยังแก้ไม่ได้ สงสัยเพราะใช้ javascript รวมร่างกับ ajax แหง


ส่วนตัวตาราง ก็ตามในรูป เอาเม้าส์ชี้ที่แถวไหนก็จะเปลี่ยนสีให้ด้วย จะได้ดูง่ายๆ


เสร็จแล้วก็กะว่าจะทำโลโก้ซะหน่อย พี่ต้องบอกว่าขอเป็นภาษาไทย ในเครื่องเราไม่มี tool อย่าง photoshop ไรงี้ด้วย (ถึงมีก็ใช้ไม่เป็นหรอก 555) ก็เลยพยายามหาโปรแกรมที่เอาไว้ออกแบบโลโก้ เจอดีๆหลายอันนะ เช่น AAA LOGO หรือแม้กระทั่งทำโลโก้ออนไลน์ก็มี


แต่มันไม่รองรับภาษาไทยซักกะอัน Orz


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


มาสรุปบั๊กที่ต้องแก้ไขดีกว่า



  • ทำ Auto complete Highlight ให้ได้
  • แก้บั๊กเรื่องจัดวาง layout เวลาย่อหน้าต่างเว็บแล้ว content มันเลย Header กับ Footer
  • Link List ฝั่งขวามือไม่แสดงผลใน Firefox ซะงั้น (แต่ถ้ากด Firebug ดู มันก็อ่านเจอนะ = =)
  • ส่วนใน Chrome เอง บางทีก็โชว์มั่งไม่โชว์มั่ง ปวดประสาท -*-
  • ใน IE content ไม่ยอมอยู่ตรงกลางเลยอะ TwT
  • ช่อง Search ต้องกดปุ่ม 'ค้นหา' อย่างเดียวถึงจะแสดงผล กด Enter แล้วบรึ้มม
  • เปลี่ยนแบบ visited link ใน Link List ไม่ได้
  • ถ้าเป็นไปได้ กดลิ้งชื่อจังหวัดแล้วอยากให้แสดงผลเลื่อนขึ้นมาโชว์บรรทัดแรกให้เห็นเลย ปกติกดปุ่มโชว์ปั๊บ ไม่มีเลื่อนหน้าใดๆทั้งสิ้น (feature นี้เอาไว้หลังจากแก้บั๊กข้อแรกๆได้หมดก่อน)





มัวแต่จมอยู่กับบั๊กอันเดียว บางทีก็ไม่ได้เรื่องนะ


นึกบั๊กออกแค่นี้แหละ เดี๋ยวทำไปเรื่อยๆก็คงเจอเพิ่มเอง = =

6 พฤษภาคม 2555

Internship, DAY 10-12

3 วันนี้ เอามาเขียนรวบยอด เพราะว่า งานไม่เดินเลย TwT

และที่เขียนช้าเพราะไม่ได้เปิดคอมมา 2 วัน ด้วยเหตุผลล้านประการไม่อยากเล่า มันดราม่า ~_~

ทำได้แค่ 2 อย่างคือ


  1. ตาม requirement พี่ต้องเลย คือ query เอาของใน table เดียว 3 field ออกมาเป็น 1 field ได้ กด search  ได้ ซึ่งมันง่ายมาก แป๊บๆก็เสร็จล่ะ แค่ต้องระวังหน่อย อย่าโก๊ะ
  2. ทำให้ส่วนแสดงผลการค้นหาจากข้อแรกแสดงผลให้ถูกที่ถูกทาง ก็คือใช้ฟังก์ชั่น ajax ของเก่าที่ได้มาจากชาวบ้านให้เกิดประโยชน์ (แสดงผลใน div โดยไม่ต้อง refresh หน้า) แต่มันมีปัญหาตรงที่ว่า เราหยิบมันมาใช้กับ Form Submit บ้าบอแบบนี้ไม่เป็น สุดท้ายต้องให้พี่ต้องมาช่วย แล้วมันก็ได้ สวดยอดจริงๆ (สรุปคือไม่ได้ทำเองเท่าไหร่เลยอ้ะ)
พี่ๆใจดีมาก ไม่กดดันเลย แถมบังคับให้เล่นเกมอีกต่างหาก 5555

นี่แหละมันทำให้หนูกดดันล่ะรู้ป่ะ?

แต่ช่วงหลังๆนี่รู้สึกมีประโยชน์แค่เรื่องเดียว คือเพื่อนฝึกงานที่มาใหม่ คือจริงๆมันก็เป็นเพื่อนเรานั่นแหละ แต่งานที่มันได้ไปเป็นงานเขียนโปรแกรม (แต่มันอยากเขียนเว็บ อยากทำ Interface 5555) มาวันแรกๆก็โดนจัดหนักอยู่เหมือนกัน รู้สึกว่าเรายังชิวกว่าอีก

จำได้ว่างานที่ไปช่วยเยอะๆหน่อยก็คือให้หา rank 100 อันดับจาก keyword ที่เราป้อนให้ google เพื่อนก็ไปขุดโค้ดชาวบ้านมาใช้ตามระเบียบ แต่โค้ดมันหาได้แค่ 64 อันดับ เพราะมากกว่านั้น google จะหาว่าเป็นบอท ^o^ คือถ้าเพื่อนเราแก้ได้ก็คงเป็น Hacker ไปบอกช่องโหว่เอาตังค์ได้แล้วงั้น

นอกจากจะต้องหา rank ได้ ยังต้องทำ Highlight คำอีก จริงๆก็ไม่ค่อยเข้าใจโจทย์อะนะ ก็ช่วยมันไปตามมีตามเกิด ภาษา php ก็กระท่อนกระแท่นอนาถจิตกันทั้งคู่ แต่ก็ยังผ่านไปได้ล่ะนะ

หยุดยาวตั้งใจจะศึกษา jQuery เพิ่มหน่อย สังหรณ์ว่าอาจจะต้องรื้อโค้ดเก่าทิ้งยังไงชอบกล แต่วันเสาร์ก็หมดไปแล้วเพราะไปเยี่ยมแม่เพื่อนที่ รพ. แถมไปหลับที่นั่นอีก เง้อ วันนี้ก็ปวดท้องกระเพาะอีกแล้ว



เลิกป่วยซะทีสิโว้ยยยยยยยยย!!!