พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / การ search ข้อมูล
Anan
Anan
Thu 14 Sep 2006 22:31:54

สำหรับในส่วนที่ 3 ให้ user เลือกทั้ง 2 ช่องก่อนที่จะค้นหานั้น ทางคุณได้แนะนำในการเขียนดังนี้

 

<script language="javascript" type="text/javascript">
function validate(obj){
    if(obj.product.value == "0"){
       alert("Please select product");
       obj.product.focus();
       return false;
    }else if(obj.country.value == "0"){
       alert("Please select country");
       obj.country.focus();
       return false;
    }
    return true;
}
</script>

<b>Product group search</b><br>

<form name="form3" method="post" action="list1.php" onsubmit="return validate(this);">

<select name="product">

<option value="0">Please select</option>

<option value="agri">Agricultural Products</option>

<option value="alkohol">Alkoholic Beverages</option>

<option value="bakery">Bakery Products</option>

</select>

 

<select name="country">

<option value="0">Please select</option>

<option value="New Zealand">New Zealand</option>

<option value="Saudi Arabia">Saudi Arabia</option>

<option value="Thailand">Thailand</option>

</select>

<input type="submit" value="search">
</form>

 

ผมขอสอบถามเพิ่มเติมครับ เมื่อ user เลือกแล้ว กด submit การเขียน PHP เพื่อดึงข้อมูลออกมาจาก database mysql นั้นจะต้องเขียนอย่างไรครับ ผมได้ลองเขียน code program ดังข้างล่างนี้ ปรากฎว่าเกิด error จึงต้องขอคำแนะนำด้วยครับ

 

<?

                $link=mysql_connect("localhost","root","");

                if(!$link)

                {

                                print("Error");

                }

                else

                {

                                mysql_select_db("test",$link)

                                $sql="select company from test where country like'$country' and product like'$country' order by alphabet asc";

                                $res=mysql_query($sql,$link);

                                print("<table border=1>");

                                print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");

                                while($row=mysql_fetch_row($res))

                                {

                                                print("<tr>");

                                                print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");

                                }

                                print("<table>");

                }

?>

 

คือผมอยากให้ข้อมูลนั้นโชว์ออกมาเป็นอย่างนี้ครับ

ยกตัวอย่าง

 

Product group: Agricultural Products    Country: Thailand

 

  1. Austrum Co.,Ltd.

  2. Benefit Co.,Ltd.

  3. Monday Co.,Ltd.

 

โดยข้อมูลที่โชว์นั้น เรียงตามตัวอักษรชื่อบริษัทด้วยครับ

 

รบกวนขอคำแนะนำด้วยครับ

อนันต์

 

 

 

 

Administrator
Thu 14 Sep 2006 22:38:47
$sql="SELECT company FROM test WHERE country LIKE '".$country."' AND product LIKE '".$country."' ORDER BY company ASC";

การ SELECT นั้นถ้าต้องการ ORDER ค่าที่อยู่หลัง order คือชื่อ field ที่ได้ทำการ SELECT ไว้ครับ
Anan
Anan
Thu 14 Sep 2006 23:35:22

สวัสดีครับ

ขอขอบคุณ และผมคงไม่เกรงใจที่จะถามแล้วนะครับ คิดว่าคงไม่เบื่อเสียก่อนนะครับ หลังจากผมเขียนตามที่คุณแนะนำแล้วปรากฎว่ามี error ดังนี้ครับ

<?
 $link=mysql_connect("localhost","root","");
 if(!$link)
 {
  print("Error");
 }
 else
 {
  mysql_select_db("test",$link)
  $sql="select company from test where country like "'.$country.'"and product like "'.$country."' order by company asc";
  $res=mysql_query($sql,$link);
  print("<table border=1>");
  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");
  while($row=mysql_fetch_row($res))
  {
   print("<tr>");
   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");
  }
  print("<table>");

 }

?>

Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\test\list_3.php on line 10

Administrator
Fri 15 Sep 2006 01:45:14
$sql="select company from test where country like '".$country."' and product like '".$product."' order by company asc";

ลองทำการไล่จับคู่ single quote และ double quote ดูครับว่าถูกต้องหรือไม่ ถ้าใช้ DW เขียนจะเห็นชัดครับว่าเราจับคู่ถูกหรือไม่
Anan
Anan
Fri 15 Sep 2006 09:23:15

ขอบคุณครับ แต่ยังคงขึ้น Error อยู่เลยครับ

<?
 $link=mysql_connect("localhost","root","");
 if(!$link)
 {
  print("Error");
 }
 else
 {
  mysql_select_db("test",$link)
  $sql="select * from test where country like "'.$country."'and product like '".$product.'" order by company asc";
  $res=mysql_query($sql,$link);
  print("<table border=1>");
  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");
  while($row=mysql_fetch_row($res))
  {
   print("<tr>");
   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");
  }
  print("<table>");

 }

?>

ขึ้น error ว่า Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\test\list_3.php on line 10

Administrator
Fri 15 Sep 2006 11:28:12
ทำการ copy ได้เลยครับ

<?
 $link=mysql_connect("localhost","root","");
 if(!$link)
 {
  print("Error");
 }
 else
 {
  mysql_select_db("test",$link)
  $sql="select * from test where country like '".$country."'and product like '".$product."' order by company asc";
  $res=mysql_query($sql,$link);
  print("<table border=1>");
  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");
  while($row=mysql_fetch_row($res))
  {
   print("<tr>");
   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");
  }
  print("<table>");

 }

?>

ตามที่ผมได้แจ้งไว้แล้วครับ single quote กับ double quote ครับ
Anan
Anan
Fri 15 Sep 2006 20:10:55

สวัสดีครับ

ผมได้ copy ของคุณแล้ว ก็ยังขึ้น error เหมือนเดมิข้างล่างครับ

Parse error: parse error, unexpected T_VARIABLE in c:\appserv\www\test\list_3.php on line 10

อนันต์

Administrator
Fri 15 Sep 2006 21:23:26
อ่อหาเจอแล้วครับ โค๊ดของคุณขาด semi colon ปิด statement ในบรรทัดที่ 9 ครับ
Anan
Anan
Fri 15 Sep 2006 22:00:21

ขอบคุณครับ ได้แก้ไขแล้วปรากฎว่ายัง error อยู่เลยครับ

<?
 $link=mysql_connect("localhost","root","");
 if(!$link)
 {
  print("Error");
 }
 else
 {
  mysql_select_db("test",$link);
  $sql="select * from test where country like '".$country."'and product like '".$product."' order by company asc";
  $res=mysql_query($sql,$link);
  print("<table border=1>");
  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");
  while($row=mysql_fetch_row($res))
  {
   print("<tr>");
   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");
  }
  print("<table>");

 }

?>

Error โชว์ดังนี้ครับ

No. Company Email Country Product group Food News

ได้เปลี่ยนเป็น mysql_fetch_array($res) ปรากฎว่ายังเกิด error เหมือนเดิมเลยครับ

ด้วยความเคารพ

อนันต์



Administrator
Fri 15 Sep 2006 22:05:01
ไม่ทราบว่า Error อย่างไรครับ
Anan
Anan
Fri 15 Sep 2006 22:13:57

Error ดังนี้ครับ

: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\test\list_3.php on line 14

อนันต์

Administrator
Fri 15 Sep 2006 22:27:50
Error นี้หมายถึงคำสั่ง query ไม่ถูกต้องครับ การ Debug ทำได้โดย

<?
 $link=mysql_connect("localhost","root","");
 if(!$link)
 {
  print("Error");
 }
 else
 {
  mysql_select_db("test",$link);
  $sql="select * from test where country like '".$country."'and product like '".$product."' order by company asc";
  echo $sql;
  $res=mysql_query($sql,$link);
  print("<table border=1>");
  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");
  while($row=mysql_fetch_row($res))
  {
   print("<tr>");
   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");
  }
  print("<table>");

 }

?>

จากนั้นให้ตรวจสอบว่าคำสั่ง SQL นั้นถูกต้องหรือไม่ครับ หรือให้เอาไป run ใน phpMyAdmin ดูครับ
เท่าที่ดูน่าจะผิดตรงที่ไม่มีช่องว่างระหว่าง 2 condition ครับ ลองเปลี่ยนเป็น
$sql="select * from test where country like '".$country."' and product like '".$product."' order by company asc";
Anan
Anan
Fri 15 Sep 2006 22:46:39

ขอบคุณครับ ปรากฎว่า error ดังนี้ครับ

 select * from test where country like 'Thailand' and product like 'agri' order by company asc

No. Company Email Country Product group Food News

พอเอาไปรันใน phpmyadmin ปรากฎว่า มี error ว่า

ฐานข้อมูล test - ตาราง test ทำงานอยู่บน localhost

ผิดพลาด

MySQL แสดง:

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '<?
$link=mysql_connect("localhost","root","")' at line 1


[
เอกสารอ้างอิง] · [ย้อนกลับ]

อนันต์

Anan
Anan
Fri 15 Sep 2006 22:48:15

ขอบคุณครับ ปรากฎว่า error ดังนี้ครับ

 select * from test where country like 'Thailand' and product like 'agri' order by company asc

: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\appserv\www\test\list_3.php on line 15

No. Company Email Country Product group Food News

พอเอาไปรันใน phpmyadmin ปรากฎว่า มี error ว่า

ฐานข้อมูล test - ตาราง test ทำงานอยู่บน localhost

ผิดพลาด

MySQL แสดง:

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '<?
$link=mysql_connect("localhost","root","")' at line 1


[
เอกสารอ้างอิง] · [ย้อนกลับ]

อนันต์

Administrator
Fri 15 Sep 2006 22:58:34
select * from test where country like 'Thailand' and product like 'agri' order by company asc
เอาคำสั่งนี้ไป query ใน phpMyAdmin ครับ
Anan
Anan
Sat 16 Sep 2006 04:05:38

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

ผมได้นำเอาคำสั่ง select * from test where country like 'Thailand' and product like 'agri' order by company asc ไป query ใน phpMyAdmin แล้วครับ ปรากฎว่ายังมีข้อผิดพลาดอยู่ดังนี้

ฐานข้อมูล test - ตาราง test ทำงานอยู่บน localhost

ผิดพลาด

คำค้น SQL : 

SELECT *
FROM test
WHERE country
LIKE 'Thailand' AND product
LIKE
'agri'
ORDER BY company ASC
LIMIT 0 , 30

MySQL แสดง:

#1054 - Unknown column 'product' in 'where clause'

[เอกสารอ้างอิง] · [ย้อนกลับ]

สาเหตุที่ฟ้องบอกว่า ไม่รู้จัก column 'product' เป็นไปได้ไหมครับที่สาเหตุมาจากการที่ผมไม่มี field name ชื่อ product ใน ฐานข้อมูล Mysql เพราะในฐานข้อมูล Mysql ผมมีชื่อ field name ดังนี้ครับ

company email country agri alkohol bakery mail

แต่ field name agri, alkohol และ bakery อยู่ใน code program ที่ผมเขียนใน html ด้านล่างนี้

<b>Product group search</b><br>

<form name="form3" method="post" action="list_3.php" onsubmit="return validate(this);">

<select name="product">

<option value="0">Please select</option>

<option value="agri">Agricultural Products</option>

<option value="alkohol">Alkoholic Beverages</option>

<option value="bakery">Bakery Products</option>

</select>

ซึ่งถ้าสาเหตุมาจาก field name ที่เก็บในฐานข้อมูลไม่มีชื่อ product นั้น คงต้องช่วยอธิบายแล้วละครับว่าผมจะต้องทำอย่างไร

ด้วยความเคารพ

อนันต์

Administrator
Sat 16 Sep 2006 10:37:50
ใช่ครับปัญหาเกิดจากไม่มี field ชื่อ product ครับ ซึ่งวิธีแก้นั้นต้องสอบถามก่อนครับว่า ต้องการให้เกิดการแสดงผลอย่างไรครับ และ field agri, alkohol, bakery นั้นออกแบบไว้เก็บค่าอะไรครับ
Anan
Anan
Sat 16 Sep 2006 17:34:01

ขอขอบคุณครับ

 

มี file ที่เกี่ยวข้องกัน 3 file ครับ ได้แก่

 

File ที่ 1 Add.html ที่ addmin เข้ามา add ข้อมูลลงในฐานข้อมูล

 

<html>

<head>

<title>Add company.html</title>

<meta http-equiv="Content-Type"

                content="text/html; charset=windows-874">

</head>

<body>

<p><b><u>Add data</u></b></p>

<form name="form1" method="post" action="add.php">

 

<p><b>Product group</b><br>

<input type="checkbox" name="agri" value="1">Agricultural Products<br>

<input type="checkbox" name="alkohol" value="1">Alkoholic Beverages<br>

<input type="checkbox" name="bakery" value="1">Bakery Products<br>

 

<p><input type="submit" value="Add data">

</form>

</body>

</html>

 

ซึ่งในส่วนของ product group นั้น ผมจะเก็บข้อมูลเป็น checkbox ให้ addmin click เลือกกลุ่มสินค้า

การ add ข้อมูลลงในฐานข้อมูล mysql ผมจึงตั้งชื่อ field ว่า

‘agri’, ‘alkohol’ และ ‘bakery’

เพื่อจะได้รู้ว่าในกลุ่มสินค้า Agricultural Products นั้นมีบริษัทอะไรอยู่บ้าง?

ในกลุ่มสินค้า Alkoholic Beverages นั้นมีบริษัทอะไรอยู่บ้าง?

กลุ่มสินค้า Bakery Products นั้นมีบริษัทอะไรอยู่บ้าง?

 

File ที่ 2 list_1.php ใช้ในการ search หาชื่อบริษัทต่างๆ ในเงื่อนไขว่าอยู่ในกลุ่มอาหารใดและประเทศอะไร

ซึ่งอยู่ในรูปของ List box ซึ่งจะต้องเลือกกลุ่มอาหาร 1 กลุ่ม และประเทศ 1 ประเทศ

ซึ่งในการเขียนโปรแกรม list box ในส่วนของกลุ่มอาหาร จึงต้องมีการตั้ง <select name=”product”> เกิดขึ้น

 

 

<script language="javascript" type="text/javascript">

function validate(obj){

    if(obj.product.value == "0"){

       alert("Please select product");

       obj.product.focus();

       return false;

    }else if(obj.country.value == "0"){

       alert("Please select country");

       obj.country.focus();

       return false;

    }

    return true;

}

</script>

 

<b>Product group search</b><br>

 

<form name="form3" method="post" action="list_3.php" onsubmit="return validate(this);">

 

<select name="product">

 

<option value="0">Please select</option>

 

<option value="agri">Agricultural Products</option>

 

<option value="alkohol">Alkoholic Beverages</option>

 

<option value="bakery">Bakery Products</option>

 

</select>

 

<select name="country">

 

<option value="0">Please select</option>

 

<option value="New Zealand">New Zealand</option>

 

<option value="Saudi Arabia">Saudi Arabia</option>

 

<option value="Thailand">Thailand</option>

 

</select>

 

<input type="submit" value="search">

</form>

 

File ที่ 3 list_3.php              file ที่ใช้ในการดึงฐานข้อมูลออกมาจากฐานข้อมูล

 

<?

 $link=mysql_connect("localhost","root","");

 if(!$link)

 {

  print("Error");

 }

 else

 {

  mysql_select_db("test",$link);

  $sql="select * from test where country like '".$country."' and product like '".$product."' order by company asc";

  echo $sql;

  $res=mysql_query($sql,$link);

  print("<table border=1>");

  print("<tr><td>No.</td><td>Company</td><td>Email</td><td>Country</td><td>Product group</td><td>Food News</td></tr>");

  while($row=mysql_fetch_row($res))

  {

   print("<tr>");

   print("<td></td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]<br>$row[4]<br>$row[5]<br></td><td>$row[6]</td></tr>");

  }

  print("<table>");

 

 }

 

?>

 

ซึ่งทั้ง 3 file คือที่มาของตัวแปร product และ ตัวแปร agri, alcohol และ bakery ที่เก็บในฐานข้อมูล Mysql

ประเด็นที่ทำให้เกิดปัญหานั้นเกิดจากตอนเก็บข้อมูลลงในฐานข้อมูลนั้นผมใช้ program check box

แต่ตอนที่จะ search หาข้อมูลนั้นผมใช้ program list box ทำให้มีตัวแปรเพิ่มขึ้นอีก 1 ตัวได้แก่ ตัวแปร product ซึ่งไม่มีในฐานข้อมูล Mysql

 

ซึ่งเมื่อเกิดปัญหาอย่างนี้ขึ้นมาจะแก้ไขอย่างไรครับ

 

ช่วยแนะนำด้วยครับ

 

อนันต์

 

 

Administrator
Sat 16 Sep 2006 18:14:41
ขอโทษด้วยครับ ที่ผมหมายถึงคือใน agri, alkohol, bakery จะมีข้อมูลเป็นชนิดข้อมูลแบบใดครับ เป็น INT, CHAR, VARCHAR หรือ อื่นๆครับ ซึ่งจะมีผลต่อการเขียนคำสั่งค้นหาครับ
Anan
Anan
Sat 16 Sep 2006 22:02:25

สวัสดีครับ

ขอบคุณมากครับ ที่เก็บในฐานข้อมูล Mysql นั้นเป็น VARCHAR ครับ อย่างไรก็ตามช่วยอธิบายให้ผมทราบนิดนึงว่า

INT

CHAR

VARCHAR

นั้นหมายถึงอะไร เพราะถึงตอนนี้ที่ผมเขียนข้อมูลเข้าไปเก็บในฐานข้อมูล ส่วนใหญ่จะเป็น text ผมก็เลยไม่เคยไปเปลี่ยนใน MYSQL เป็นอย่างอื่น เพราะปรกติจะโชว์ VARCHAR อยู่แล้ว

ขอบคุณครับ

อนันต์

Administrator
Sat 16 Sep 2006 22:41:35
ที่เก็บนั้นเพื่อบอกว่าบริษัทนั้นๆมีสินค้าประเภทนั้นๆใช่หรือไม่ครับ
ซึ่งการเก็บคุณเก็บค่าใดลงไปเพื่อบ่งชี้ครับ เช่น true, agri หรือค่าอะไรครับ

ส่วนชนิดข้อมูลในการใช้งานนั้น ถ้าเป็นไปได้แนะนำให้ศึกษาที่ MySQL เพื่อที่จะได้รายละเอียดครบถ้วนครับ เพื่อใช้ในการพัฒนาระบบต่อไปครับ
Anan
Anan
Sun 17 Sep 2006 07:49:55

ขอบคุณครับ

ใช่ครับ ที่เกี่ยวค่านั้นเพื่อบอกว่าแต่ละบริษัทมีสินค้าอะไร โดยค่าที่เก็บผมใช้ค่า 1 ครับ ยกตัวอย่าง

company email country agri alkohol bakery mail

NISSUI (THAILAND) CO.,LTD. s-matsvzawa@nissui.co.th Thailand 1 1   receive

ส่วนชนิดของการใช้งานนั้น ผมจะเข้าไปศึกษาใน MySQL ที่คุณแนะนำมาครับ

ขอบคุณครับ

อนันต์

Administrator
Sun 17 Sep 2006 11:03:33
$sql = "SELECT * FROM test WHERE country = 'Thailand' AND ".$product." = '1' ORDER BYcompany ASC";

ถ้าเป็นไปได้เปลี่ยน agri, alkohol, bakery เป็น field ชนิด TINYINT ขนาด 1 เพื่อเก็บเลข 0 หรือ 1 แทนครับ จากนั้นเปลี่ยนการค้นหาเป็น

$sql = "SELECT * FROM test WHERE country = 'Thailand' AND ".$product." = 1 ORDER BYcompany ASC";

ถึงแม้ว่าขนาดของ TINYINT กับ CHAR(1) จะเท่ากัน แต่ CHAR(1) สามารถเป็นข้อมูลอื่นๆที่ไม่ใช่ 0 หรือ 1 ทำให้อาจจะเกิดปัญหาได้ในอนาคตครับ ส่วนการเลือกใช้ field นั้นต้องดูความเหมาะสมของข้อมูลที่จะบันทึกครับ และคำนึงถึงการจองพื้นที่เท่าที่จำเป็น และขนาดของแต่ละชนิดข้อมูล ในทางปฏิบัติแล้วชนิดข้อมูลใดๆก็สามารถทำงานได้คล้ายๆกัน แต่จะได้ประสิทธิภาพไม่เท่ากัน ถ้าเราสามารถ optimize ทั้งใน PHP และใน MySQL ได้นั้นจะทำให้ application ทำงานเร็วขึ้นมากครับ อ่านเรื่องขนาดของแต่ละชนิดข้อมูลได้ที่ http://dev.mysql.com/doc/refman/4.1/en/storage-requirements.html
Anan
Anan
Sun 17 Sep 2006 15:28:01

ขอขอบคุณครับที่ช่วยเหลือและให้คำแนะนำมาตลอด

ใช้ได้ผลแล้วครับและจะเข้าไปศึกษาเรื่องของชนิดของข้อมูลในเว็บไซค์ที่แนนำมา

อนันต์

ชาช่า
ชาช่า
Tue 1 Jan 2008 15:07:14

ทำไมมันฟ้องอย่างนี้ ค่ะ

syntax error, unexpected T_CLASS in C:\AppServ\www\PHPbasic\genhtml.php on line 102

webmaster
webmaster
Wed 2 Jan 2008 14:04:16
เขียนผิด syntax หรือไม่ครับ
boy
boy
Thu 10 Jan 2008 19:45:58
55  คนถามก็ ตาม ตื้อจริงๆๆ ผมอ่านแล้วสนุกดีครับ
ขอบคุณน้ำใจพี่ Administrator เหลือ กินจริงๆๆ ครับ
twin
twin
Wed 23 Jan 2008 15:45:52
ขอบคุณ webmaster ผู้ใจดี แทนคนถามครับ ที่ทำให้คนอื่นไม่รู้ ได้พอสว่างบ้าง
ken
ken
Sat 26 Jan 2008 04:06:49
<html>
<body>
 <center>
 ยินดีต้อนรับคุณ  <?  = $row["name"] ?>  <? = $row["lastname"]?>  ตรงนี้เขียนโค้ดต่อยังไงครับ
 <?
  if ($row["user id"] == "admin") {
  print " <a href=admin.php>เข้าร้าน</a>" ;
  } else {
  print " <a href=shop.php>เข้าร้าน</a>" ;
  }
?>
</body>
</html>
ช่วยบอกผมหน่อยนะครับ  คือรันแล้วไปติดตรงนี้ครับที่ผมขีดเส้นใต้ไว้นะครับ
webmaster
webmaster
Sat 26 Jan 2008 15:17:39
น่าจะผิดที่ไม่มี ; ครับไม่แน่ใจว่าที่ถามคือมีปัญหาตรงไหนครับ
ken
ken
Sat 26 Jan 2008 17:25:01

คือผมรันแล้วมันขึ้นอย่างนี้ครับ

Parse error: syntax error, unexpected '=' in C:\AppServ\www\0.php on line 36
ส่วนนี่คือโค้ดที่ผมเขียนครับ  ที่ขีดเส้นใต้คือบรรทัดที่ 36 ครับ  ช่วยหน่อยครับ

<html>
<body>
 <center>
 ยินดีต้อนรับคุณ  <?  = $row["name"] ?>  <? = $row["lastname"]?>
 <?
  if ($row["user id"] == "admin") {
  print " <a href=admin.php>เข้าร้าน</a>" ;
  } else {
  print " <a href=shop.php>เข้าร้าน</a>" ;
  }
?>
</body>
</html>

webmaster
webmaster
Sat 26 Jan 2008 19:30:15
ยินดีต้อนรับคุณ  <?  echo $row["name"]." ".$row["lastname"]; ?>
เครื่องหมาย = สามารถใช้ได้ตั้งแต่ version ไหนผมจำไม่ได้ แต่หลังมานี้โดยเฉพาะ PHP5 และ PHP6 จะมีการ strict เรื่อง syntax มากซึ่ง = จะใช้ในการ assign ค่าเท่านั้น ดังนั้นควรพยายามเขียนตาม syntax ที่ถูกต้องดีกว่าครับ อีกอย่างต้องปิดด้วย ; เพื่อจบประโยคด้วยครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login