PHP搭配AJAX,點選顏色立即變更圖片

PHP搭配AJAX,點選顏色立即變更圖片

此範例是利用PHP搭配AJAX將選擇的值變更後就對資料庫的資料做更新

範例語法利用:PHP,Html,JavaScript,AJAX,SQL

操作模式:使用點選顏色的方式來變換圖片。

下面程式碼為片段語法:

productDetail.php

<?
require_once('Connections/test.php');

mysql_select_db($database_test, $test);
$query_productpic2 ="SELECT pic FROM productpic WHERE productID=15 ORDER BY id ASC LIMIT 0 , 1";
$result_productpic2 = mysql_query($query_productpic2, $test) or die(mysql_error());
$row_productpic2 = mysql_fetch_assoc($result_productpic2);

$query_productpic ="SELECT color FROM productpic WHERE productID=15 ORDER BY id";
$result_productpic = mysql_query($query_productpic, $test) or die(mysql_error());
$row_productpic = mysql_fetch_assoc($result_productpic);
?>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>產品展示</title>

<script type="text/javascript">
<!--

var xmlHttp

function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("您的瀏覽器不支援AJAX!");
  return;
  }
var url="getcustomer.php";
url=url+"?q="+str;
url=url+"&id=15";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
//-->
</script>

</head>

<body>
<table align="center"><tr><td><p>
       <div id="txtHint">
        <?php if(isset($row_productpic2['pic'])){?>
         <img src="upload/product/<?php echo $row_productpic2['pic']; ?>" alt="" width="100" />
        <?php }else{?>
         <img src="images/JPEG_Image.png" alt=""  width="100" />
        <?php }?>
       </div>
       </p>
      <?php do{
       ?>
                     <label for="textfield"></label>
                      <input name="textfield" type="text" id="textfield"  style="background-color:<?php echo $row_productpic['color'];?>" onclick="showCustomer('<?php echo $row_productpic['color'];?>')" size=1 maxlength="0" />
                        <?php
       }while($row_productpic = mysql_fetch_assoc($result_productpic));?>

</td></tr></table>

 

getcustomer.php

<?php
require_once('Connections/test.php');
mysql_select_db($database_test, $test);
if($_GET['q'] && $_GET['id']!=NULL){
 $q=$_GET["q"];
 $id=$_GET['id'];
 
 $sql="SELECT pic,color FROM productpic WHERE productID='".$id."' and color='".$q."' ORDER BY id";
 
 $result = mysql_query($sql, $test) or die(mysql_error());
 $row = mysql_fetch_assoc($result);
 
 echo "<img src='upload/product/".$row['pic'] . "' width='100'>";
}   
?>

 網頁顯示畫面如下圖:

 

 

參考或是複製語法時,別忘了留個言喔 ^ ^ ~