Sat 21 Oct 2006 19:59:32
สวัสดีครับ
มีเรื่องรบกวนขอคำแนะนำดังนี้ครับ
ผมมีโปรแกรมดังนี้ครับ
mysql_select_db("company",$link);
$sql="SELECT COUNT(company) AS num FROM company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql, $link);
$row = mysql_fetch_array($res, MYSQL_ASSOC);
echo"<font color='#0000CD' face='verdana' size='1'>";
echo"<b>";
echo $row["num"];
echo" Companies of '".$country."' and ".$product." group";
echo"</b>";
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql,$link);
$num_rows=mysql_num_rows($res);
$totalpage = ceil($num_rows / $pagelen);
$goto = ($_GET["page"] -1) * $pagelen;
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc LIMIT $goto, $pagelen";
$res = mysql_query( $sql,$link );
echo"<table border=0 cellpadding=3 cellspacing=0>";
echo"<tr><td><font color='#8B0000' face='verdana' size='1'><center><b>Company</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Country</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Email</b></center></font></td></tr>";
ซึ่งผลที่แสดงเป็นดังนี้ครับ
| 888 Natural Pty Ltd | Australia | mamalicos@aol.com |
| A & A Hashim | Australia | ahashim@bigpond.net.au |
คำถามดังนี้ครับ
ตรงส่วนที่แสดงผล "2 Companies of 'Australia' and agri group"
เป็นไปได้ไหมครับที่ตรงส่วน agri group จะแสดงผลเป็น Agricultural Product group ครับ
ค่าของ agri นั้นเป็นตัวย่อของ Agricultural Product ที่ผมเก็บค่าใน mysql เพื่อช่องที่เก็บข้อมูลจะได้ไม่ยาวครับ ซึ่งตอนที่เก็บค่าผมเขียนดังนี้ครับ
<td><input type="checkbox" name="agri" value="1"><font color="#8B0000" face="verdana" size="1">Agricultural Products</font></td>
ดังนั้นการแสดงผลจึงออกมาเป็น 2 Companies of 'Australia' and agri group
ซึ่งเป็นไปได้ไหมครับที่จะแสดงผลออกมาเป็น 2 Companies of 'Australia' and Agricultural Products group
ขอคำแนะนำด้วยครับ
อนันต์
switch($product){
case "agri":
$product = "Agricultural Products";
break;
....
}
ประมาณนี้ครับ
หรือไม่เช่นนั้นก็เพิ่ม field เป็นชื่อที่ต้องการ เมื่อ query ก็ให้นำข้อมูลนี้ออกมาด้วยครับ
Sat 21 Oct 2006 21:49:59
สวัสดีและขอขอบคุณครับ คงต้องขอคำแนะนำด้วยครับ
ผมใส่การตรวจสอบลงในโปรแกรมดังนี้ครับ
<?session_start()?>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<center>
<?
switch($product){
case "agri":
$product = "Agricultural Products";
break;
case"alkohol":
$product = "Alkoholic Beverages";
break;
case"nonal":
$product = "Non Alkoholic Beverages";
break;
}
$pagelen = 10 ;
$_GET["page"] = $_REQUEST['page'];
if (empty($_GET["page"] )) { $_GET["page"] =1; }
$link=mysql_connect("localhost","root","");
if(!$link)
{
print("Error");
}
else
{
mysql_select_db("company",$link);
$sql="SELECT COUNT(company) AS num FROM company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql, $link);
$row = mysql_fetch_array($res, MYSQL_ASSOC);
echo"<font color='#0000CD' face='verdana' size='1'>";
echo"<b>";
echo $row["num"];
echo" Companies of '".$country."' and ".$product." group";
echo"</b>";
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql,$link);
$num_rows=mysql_num_rows($res);
$totalpage = ceil($num_rows / $pagelen);
$goto = ($_GET["page"] -1) * $pagelen;
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc LIMIT $goto, $pagelen";
$res = mysql_query( $sql,$link );
echo"<table border=0 cellpadding=3 cellspacing=0>";
echo"<tr><td><font color='#8B0000' face='verdana' size='1'><center><b>Company</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Country</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Email</b></center></font></td></tr>";
while($row=mysql_fetch_array($res,MYSQL_ASSOC))
{
echo"<tr><td><font color='#8B0000' face='verdana' size='1'>
<a href=\"javascript:;\" onclick=\"window.open('popup_company.php', 'pw', 'width=250,height=150,toolbars=no,status=no');\">
".$row["company"]."</a></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'>".$row["country"]."</font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'>".((isset($_SESSION["active"])&&$_SESSION["active"]="ok")?$row["email1"]:"Member only")."</font></td></tr>";
}
echo "</table>";
if ($_GET["page"] > 1) {
$back = $_GET["page"] - 1;
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."\"><img src=\"main_first.gif\" border=\"0\" align=\"absmiddle\" alt=\"First\"></a>\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."=".$back."\"><img src=\"main_previous.gif\" border=\"0\" align=\"absmiddle\" alt=\"Previous\"></a>";
}
for($i=1 ; $i<=$totalpage ; $i++) {
if ($i == $_GET["page"] ) {
echo " [<b><font size =+1 color=#990000>$i</font></b>] \n";
} else {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."\">".$i."</a>";
}
}
if ($_GET["page"] < $totalpage) {
$next = $_GET["page"] +1;
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."=".$next."\"><img src=\"main_next.gif\" border=\"0\" align=\"absmiddle\" alt=\"Next\"></a>";
echo " <a href=\"$PHP_SELF?page=".$totalpage."\"><img src=\"main_last.gif\" border=\"0\" align=\"absmiddle\" alt=\"Last\"></a> \n";
}
}
?>
ปรากฎว่าเกิด error ดังนี้ครับ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\web\main\main_search2.txt on line 32
Companies of 'Australia' and Agricultural Products group
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\web\main\main_search2.txt on line 42
ขอคำแนะนำด้วยครับ
และขอช่วยอธิบายเพิ่มเติมด้วยครับว่าการเพิ่ม field เป็นชื่อที่ต้องการนั้น จะไปเพิ่มที่ไหนครับ?
อนันต์
<?session_start()?>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<center>
<?
$pagelen = 10 ;
$_GET["page"] = $_REQUEST['page'];
if (empty($_GET["page"] )) { $_GET["page"] =1; }
$link=mysql_connect("localhost","root","");
if(!$link)
{
print("Error");
}
else
{
mysql_select_db("company",$link);
$sql="SELECT COUNT(company) AS num FROM company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql, $link);
$row = mysql_fetch_array($res, MYSQL_ASSOC);
echo"<font color='#0000CD' face='verdana' size='1'>";
echo"<b>";
echo $row["num"];
switch($product){
case "agri":
$product = "Agricultural Products";
break;
case"alkohol":
$product = "Alkoholic Beverages";
break;
case"nonal":
$product = "Non Alkoholic Beverages";
break;
}
echo" Companies of '".$country."' and ".$product." group";
echo"</b>";
ต้องอยู่หลังส่วนที่นำไปใช้ในการ query ครับ หรืออาจจะใช้ชื่อตัวแปรอื่นๆก็ได้ครับ
Sat 21 Oct 2006 23:16:20
ขอบคุณครับ ผมได้ใส่ code switch ลงในโปรแกรม ปรากฎว่ามี error ดังนี้ครับ
<?session_start()?>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<center>
<?
$pagelen = 10 ;
$_GET["page"] = $_REQUEST['page'];
if (empty($_GET["page"] )) { $_GET["page"] =1; }
$link=mysql_connect("localhost","root","");
if(!$link)
{
print("Error");
}
else
{
mysql_select_db("company",$link);
$sql="SELECT COUNT(company) AS num FROM company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql, $link);
$row = mysql_fetch_array($res, MYSQL_ASSOC);
echo"<font color='#0000CD' face='verdana' size='1'>";
echo"<b>";
echo $row["num"];
switch($product){
case "agri":
$product = "Agricultural Product";
break;
case"alkohol":
$product = "Alkoholic Beverages";
break;
case"nonal":
$product = "Non Alkoholic Beverages";
break;
case"bakery":
$product = "Bakery Products";
break;
case"cannedfood":
$product = "Canned Food";
break;
case"cereals":
$product = "Cereals, Grains, Flours";
break;
case"candies":
$product = "Candies, Snacks, Desserts";
break;
case"sugar":
$product = "Sugar, Honey, Sweeteners";
break;
case"coffee":
$product = "Coffee, Tea, Cacao";
break;
case"condiments":
$product = "Condiments, Spices, Herbs";
break;
case"foodin":
$product = "Food Ingredients";
break;
case"fruits":
$product = "Fruits and Vegetables";
break;
case"dressings":
$product = "Dressings and Seasonings";
break;
case"meat":
$product = "Meat, Meat Products";
break;
case"milk":
$product = "Milk, Cheese,Cream";
break;
case"oil":
$product = "Oil, Fats Products";
break;
case"organic":
$product = "Organic Products";
break;
case"pasta":
$product = "Pasta, Sauces, Soups";
break;
case"ready":
$product = "Ready and Convenience Food";
break;
case"seafood":
$product = "Seafood, Fish Products";
break;
}
echo" Companies of '".$country."' and ".$product." group";
echo"</b>";
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc";
$res=mysql_query($sql,$link);
$num_rows=mysql_num_rows($res);
$totalpage = ceil($num_rows / $pagelen);
$goto = ($_GET["page"] -1) * $pagelen;
$sql = "SELECT company, country, email1 from company WHERE country like '".$country."' and ".$product."=1 order by company asc LIMIT $goto, $pagelen";
$res = mysql_query( $sql,$link );
echo"<table border=0 cellpadding=3 cellspacing=0>";
echo"<tr><td><font color='#8B0000' face='verdana' size='1'><center><b>Company</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Country</b></center></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'><center><b>Email</b></center></font></td></tr>";
while($row=mysql_fetch_array($res,MYSQL_ASSOC))
{
echo"<tr><td><font color='#8B0000' face='verdana' size='1'>
<a href=\"javascript:;\" onclick=\"window.open('popup_company.php', 'pw', 'width=250,height=150,toolbars=no,status=no');\">
".$row["company"]."</a></font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'>".$row["country"]."</font></td>";
echo"<td><font color='#8B0000' face='verdana' size='1'>".((isset($_SESSION["active"])&&$_SESSION["active"]="ok")?$row["email1"]:"Member only")."</font></td></tr>";
}
echo "</table>";
if ($_GET["page"] > 1) {
$back = $_GET["page"] - 1;
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."\"><img src=\"main_first.gif\" border=\"0\" align=\"absmiddle\" alt=\"First\"></a>\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."=".$back."\"><img src=\"main_previous.gif\" border=\"0\" align=\"absmiddle\" alt=\"Previous\"></a>";
}
for($i=1 ; $i<=$totalpage ; $i++) {
if ($i == $_GET["page"] ) {
echo " [<b><font size =+1 color=#990000>$i</font></b>] \n";
} else {
echo " <a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."\">".$i."</a>";
}
}
if ($_GET["page"] < $totalpage) {
$next = $_GET["page"] +1;
echo "<a href=\"".$_SERVER["PHP_SELF"]."?page=".$i."&alphabet=".$_GET["alphabet"]."=".$next."\"><img src=\"main_next.gif\" border=\"0\" align=\"absmiddle\" alt=\"Next\"></a>";
echo " <a href=\"$PHP_SELF?page=".$totalpage."\"><img src=\"main_last.gif\" border=\"0\" align=\"absmiddle\" alt=\"Last\"></a> \n";
}
}
?>
error ดังนี้ครับ
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\web\main\main_search2.txt on line 113
แต่ถ้าเอาตรงส่วนที่เป็น switch ออก error ก็จะไม่มี ขอคำแนะนำด้วยครับ
อนันต์
switch($product){
case "agri":
$name = "Agricultural Product";
break;
case"alkohol":
$name = "Alkoholic Beverages";
break;
case"nonal":
$name = "Non Alkoholic Beverages";
break;
case"bakery":
$name = "Bakery Products";
break;
case"cannedfood":
$name = "Canned Food";
break;
case"cereals":
$name = "Cereals, Grains, Flours";
break;
case"candies":
$name = "Candies, Snacks, Desserts";
break;
case"sugar":
$name = "Sugar, Honey, Sweeteners";
break;
case"coffee":
$name = "Coffee, Tea, Cacao";
break;
case"condiments":
$name = "Condiments, Spices, Herbs";
break;
case"foodin":
$name = "Food Ingredients";
break;
case"fruits":
$name = "Fruits and Vegetables";
break;
case"dressings":
$name = "Dressings and Seasonings";
break;
case"meat":
$name = "Meat, Meat Products";
break;
case"milk":
$name = "Milk, Cheese,Cream";
break;
case"oil":
$name = "Oil, Fats Products";
break;
case"organic":
$name = "Organic Products";
break;
case"pasta":
$name = "Pasta, Sauces, Soups";
break;
case"ready":
$name = "Ready and Convenience Food";
break;
case"seafood":
$name = "Seafood, Fish Products";
break;
}
echo" Companies of '".$country."' and ".$name." group";
echo"</b>";
ประมาณนี้ครับ จริงๆถ้ามีมากแบบนี้ลองหาวิธี apply ลงใน db ก็ได้ครับจะยืดหยุ่นกว่ามากครับ
Sun 22 Oct 2006 17:16:25
ขอบคุณครับและใช้ได้แล้วครับ
มีอีกวิธีหนึ่งที่ผมเคยทำโดยการบันทึกลงใน database ใน mysql ดังนี้ครับ
<td><input type="checkbox" name="agri" value="Agricultural Products"><font color="#8B0000" face="verdana" size="1">Agricultural Products</font></td>
ซึ่งค่าที่แสดงผลออกมามันจะทำให้ตารางเก็บค่าใน mysql นั้นยาวมาก ซึ่งก็ได้เปลี่ยนมาเป็นแบบปัจจุบัน ซึ่งได้จากที่คุณแนะนำและผมคิดว่าดีกว่าเป็นอย่างนี้ครับ
<td><input type="checkbox" name="agri" value="1"><font color="#8B0000" face="verdana" size="1">Agricultural Products</font></td>
แต่ก็จะมาติดปัญหาว่าตอนที่จะแสดงผลออกมาเป็น Agricultural Products นั้นจะทำอย่างไร
ต้องขอขอบคุณมากครับที่ได้แนะนำ
อนันต์

















