当前位置: 澳门新濠3559 > 编程 > 正文

//显示商品详细信息,}else{echo "执行失败"

时间:2019-11-22 20:51来源:编程
上回说完了商品的列表显示方法。下面来谈谈显示商品详细信息的方法,这与我们在论坛中常用的显示帖子的方法大同小异。********显示详细信息的文件*********** detail.php<?php include "c

上回说完了商品的列表显示方法。下面来谈谈显示商品详细信息的方法,这与我们在论坛中常用的显示帖子的方法大同小异。 ********显示详细信息的文件*********** detail.php <?php include "config.inc.php"; //显示商品详细信息 //用全局变量来做,可以方便地取到多个字段的值。 //有id,名字,价格,介绍,当前价,单位,图片,结束时间。 function ReadDetail(){ global $WARE_TABLE; global $id,$name,$price,$description,$cprice,$unit,$image,$endtime; $SQL="select id,name,description,price,unit,endtime,reply,curprice,photo from $WARE_TABLE where id='$id'"; $result=mysql_query or die; //下面这一句,也可以用list来做,但我习惯这样分开,看起来是麻烦点,不过清楚些,特别是有要处理的字段时,这样就很有必要了。 $row=mysql_fetch_array; $name=$row[name]; $price=$row[price]; $description=$row[description]; $unit=$row[unit]; $cprice=$row[curprice]; $endtime=date("Y-m-j",$row[endtime]); if $image=$row[id].".jpg"; else $image=""; } //读最新10个买家信息 function ReadBuyer(){ global $BID_TABLE; global $id,$buyer,$buyprice,$date,$num; $SQL="select id,buyer,email,price from $BID_TABLE where parentid='$id' order by id desc"; $result=mysql_query or die; $k=mysql_num_rows; $num=? 10:$k; //判断一下,是不是多于10个。 for{ $row=mysql_fetch_array; $buyer[]=$row[buyer]; $buyprice[]=$row[price]; $date[]=date("Y-m-j H:i:s",$row[id]); } } //显示10个买家信息。 function ShowBuyer(){ global $buyer,$buyprice,$date,$num; for{ echo "<tr><td width=25%>".$date[$i]."</td>"; echo "<td width=40%>".$buyer[$i]."</td>"; echo "<td width=35%>".$buyprice[$i]."</td></tr>"; } } ReadDetail; ?> 完成了上面的处理,就可以html中用<? echo $name?>或<? echo $price;?>等来取到要显示的信息了,这些我就不详述了。 就是这句,要根据是否有图片分别显示文字或图片。 <? if echo "没有照片"; else echo "<img src=photo/$image>"; ?> 在显示商品详细资料时,也应让用户可以投标,所以此时要对用户下的新价做出一个判断,我比较懒,就直接用deamweaver来做这个表单的校验了,只把其中的英文说明改成中文,不过由于在判断新出价的方面有点特殊,所以对dw生成的函数做了一点点改动。 <script language="JavaScript"> <!-- function MM_findObj { //v3.0 var p,i,x; if d=document; if((p=n.indexOf>0&&parent.frames.length) { d=parent.frames[n.substring].document; n=n.substring&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; } function MM_validateForm() { //v3.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i< { test=args[i+2]; val=MM_findObj { nm=val.name; if !="") { if (test.indexOf { p=val.indexOf; if (p<1 || p== errors+='- '+nm+' 必须是正确的email地址.n'; } else if { num = parseFloat; if errors+='- '+nm+' 必须是数值.n'; if (test.indexOf { p=test.indexOf; min=test.substring; max=test.substring; //**********改动部分********* var k=/max; //判断要大于当前价,并且是当前价+加价单位的整数倍 if (num<min || k != Math.ceil errors+='- '+nm+' 必须是大于 '+min+' 并且加价必须为 '+max+'的整数倍.n'; } } } //*******结束改动部分******** else if == 'R') errors += '- '+nm+' 要填完整.n'; } } if alert; document.MM_returnValue = ; } //--> </script> 下面的事就简单了,还要有什么呢?显示一下已结束竞标的商品吧。这个功能的实现与显示未结束的商品方法一样,我就不罗嗦了。唯一的区别在于一是SetCondition()条件的不同和在显示结束竞价的商品详细资料时,没有用户出价的表单。 另外,我再给出添加新商品的方法吧。 <?php include "config.inc.php"; include "tview.class.php"; function AddRecord(){ global $view; //以下变量都是从上一个页面的表单中得到的。 global $name,$price,$unit,$year,$month,$day,$photofile,$intro; $t=time; $et=mktime(24,0,0,$month,$day,$year); //判断一下是否有图上传了。 $ph=( $photofile!="none" and !empty? '1':'0'; //调用成员函数add中的字串 $view->Add("'$t','$name','$c','$price','$unit','$et','0','$price','$ph'"); //如果有图片,拷到指定目录下。 if copy($photofile,"photo/$t.jpg"); } if{ $view= new TViewPage; AddRecord(); header("Location:manager.htm"); } ?> 好了,罗罗嗦嗦写了两篇,不知道可不可以又加个几百分哦。:) 有什么问题真心地请大家提出来讨论,我可是把程序拿出来了,您见到什么不妥的不当的,可千万不要吝啬,记得告诉我一声。 我的email : ycshowtop@21cn.com 另外,如果你想要这个程序比较完整的代码,也来个email,我寄给您。

$stmt->execute(array(':id'=>130));

<table width="100%" border="0" valign="top" align="center" cellpadding="0" cellspacing="0" >
  <tr>
    <td valign="top">
 
<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#cccccc" class="all" id="tr"> 

//3. 判断有无图片上传
if($_FILES['pic']['error']!=4){
//执行上传
$upinfo = uploadFile("pic","./uploads/");
if($upinfo["error"]===false){
die("图片信息上传失败:".$upinfo["info"]);
}else{
//上传成功
$pic = $upinfo[info];// 获取上传成功的图片名
//4. 有图片上传,执行缩放
imageUpdateSize('./uploads/'.$pic,50,50);
}

两种点位符号

          <tr >
            <td width="55" align="center" bgcolor="#ffffff" ><?php echo $row['id']澳门新濠3559, ?> </td>
            <td width="383" height="28" align="left" bgcolor="#ffffff" ><?php echo $row['title'] ?></td>
            <td width="162" align="left" bgcolor="#ffffff" ><?php echo $row['editdate'] ?></td>
          </tr>

//三、获取action参数的值,并做对应的操作
switch($_GET["action"]){
case "add": //添加
//1. 获取添加信息
$name = $_POST["name"];
$typeid = $_POST["typeid"];
$price = $_POST["price"];
$total = $_POST["total"];
$note = $_POST["note"];
$addtime = time();
//2. 验证()省略
if(empty($name)){
die("商品名称必须有值");
}
//3. 执行图片上传
$upinfo = uploadFile("pic","./uploads/");
if($upinfo["error"]===false){
die("图片信息上传失败:".$upinfo["info"]);
}else{
//上传成功
$pic = $upinfo[info];// 获取上传成功的图片名
}
//4. 执行图片缩放
imageUpdateSize('./uploads/'.$pic,50,50);

$stmt->execute(array(':id'=>130));

}

}

<?phptry{$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");}catch(PDOException $e){echo $e->getMessage();}

$p_head=$page-5;
if($p_head<=0)$p_head=1;   //页码循环开始数 前5个
$p_end=$page+5;
if($p_end>$pages)$p_end=$pages;   //页码循环结束数 后5个

case "del": //删除
//获取要删除的id号并拼装删除sql,执行
$sql = "delete from goods where id={$_GET['id']}";
mysql_query($sql,$link);
//执行图片删除
if(mysql_affected_rows($link)>0){
@unlink("./uploads/".$_GET['picname']);
@unlink("./uploads/s_".$_GET['picname']);
}
//跳转到浏览界面
header("Location:index.php");
break;

//用fetch(),fetchAll()来获取查询结果try{$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");}catch(PDOException $e){echo $e->getMessage();}

echo "[<a href=$link?page=1>首页</a>] ";
 for($i=$p_head;$i<=$p_end;$i++)
 {
 if($i!=$page)
  echo "<a href=$link?page=$i>[$i]</a> ";
 else
  echo "<b><strike>[$i]</strike></b> ";
 }
echo " [<a href=$link?page=$pages>末页</a>]";

//6. 判断是否修改成功
if(mysql_affected_rows($link)>0){
//若有图片上传,就删除老图片
if($_FILES['pic']['error']!=4){
@unlink("./uploads/".$_POST['oldpic']);
@unlink("./uploads/s_".$_POST['oldpic']);
}
echo "修改成功";
}else{
echo "修改失败".mysql_error();
}
echo "<br/> <a href='index.php'>查看商品信息<a>";

两种占位符号:?参数 索引数组,按索引顺序使用 名子参数 关联数组,按名称使用,和顺序无关,以冒号开头,自己定义$stmt=$pdo->prepare; $sql可是是任意sql语句,这与mysqli不同

function genpage(&$sql,$page_size=10)
{
      global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页
      $page = $_get["page"];
   if($page ==0)$page =1;
      $eachpage = $page_size;

 

//多条获取fetchAll()// $stmt->setFetchMode(PDO::FETCH_ASSOC);$data=$stmt->fetchAll(PDO::FETCH_ASSOC); //也可以用上句进行设置echo '<pre>';print_r;echo '</pre>';?>

   
page.php代码

//5. 拼装sql语句,并执行添加
$sql = "insert into goods values(null,'{$name}','{$typeid}',{$price},{$total},'{$pic}','{$note}',{$addtime})";
//echo $sql;
mysql_query($sql,$link);

echo '</table>';

-- 数据库: `dbtest`


 代码如下

--

//6. 判断并输出结果
if(mysql_insert_id($link)>0){
echo "商品发布成功!";
}else{
echo "商品发布失败!".mysql_error();
}
echo "<br/> <a href='index.php'>查看商品信息<a>";

// $stmt->bindparam(":na",$name);// $stmt->bindparam(":pr",$price);

/*

<?php
//执行商品信息的增、删、改的操作

<?php//以表格输出查询结果

$sql="select * from test order by id ";
genpage($sql,3); //这里引用了第一个函数 后面数字定义每页记录数
$result=mysql_query($sql) or die ("数据库操作出错:".mysql_error());
while ($row=mysql_fetch_array($result))
{
?>

case "update": //修改
//1. 获取要修改的信息
$name = $_POST["name"];
$typeid = $_POST["typeid"];
$price = $_POST["price"];
$total = $_POST["total"];
$note = $_POST["note"];
$id = $_POST['id'];
$pic = $_POST['oldpic'];
//2. 数据验证
if(empty($name)){
die("商品名称必须有值");
}

/* 单条获取fetch()$stmt->setFetchMode(PDO::FETCH_ASSOC); //设置获取模式while($row=$stmt->fetch{print_r;echo '';}*/

<?php

}

?>

<?php
}
?>
          <tr>
            <td height="30" colspan="3" align="center" bgcolor="#d4e6ec"><?php showpage();//这里引用了第二个函数 ?></td>
          </tr>
      </table>

//一、导入配置文件和函数库文件
require("dbconfig.php");
require("functions.php");

echo "行:".$stmt->rowcount()."";echo "列:".$stmt->columncount()."";

-- 表的结构 `test`

create table if not exists `test` (
  `id` int(10) unsigned not null auto_increment,
  `title` varchar(50) not null,
  `editdate` date not null,
  primary key  (`id`)
) engine=innodb  default charset=gb2312 auto_increment=11 ;

--

//5. 执行修改
$sql = "update goods set name='{$name}',typeid={$typeid},price={$price},total={$total},note='{$note}',pic='{$pic}' where id={$id}";
//echo $sql;
mysql_query($sql,$link);

//准备一条语句,并放到服务器端,而且编译$stmt=$pdo->prepare("insert into shop(name,price)values;// $stmt=$pdo->prepare("insert into shop(name,price)values");

 代码如下

//二、连接MySQL,选择数据库
$link = mysql_connect(HOST,USER,PASS) or die("数据库失败!");
mysql_select_db(DBNAME,$link);

try{$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");}catch(PDOException $e){echo $e->getMessage();}

      $pagesql = strstr($sql," from ");
      $pagesql = "select count(*) as ids ".$pagesql;
      $conn = mysql_query($pagesql) or die(mysql_error());
      if($rs = mysql_fetch_array($conn))$sums = $rs[0];
     
      $pages=ceil($sums/$eachpage);
   if($pages==0)$pages=1;
  
      $startpos = ($page-1)*$eachpage;
      $sql .=" limit $startpos,$eachpage ";
}

break;

//绑定参数$stmt->bindparam;$stmt->bindparam;

 代码如下

//四、关闭数据库
mysql_close($link);

$row=$stmt->fetch();print_r;echo '';?>

 

break;

echo '<table border=1 align="center" width=800px>';echo '<tr>';for($i=0;$i<$stmt->columncount{$field=$stmt->getColumnMeta;echo '<th>'.$field["name"].'</th>';}echo "</tr>";

//显示分页
function showpage()
{
 global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页,其它参数
    $link=$_server['php_self']; 
 
echo "记录".$sums.":".$eachpage." ";
echo "页数".$page."/".$pages." ";

<?php//以数组方式向服务器传值

html代码

while($stmt->fetch{echo '<tr>';echo '<td>'.$id.'</td>';echo '<td>'.$name.'</td>';echo '<td>'.$price.'</td>';echo '</tr>';}

          <tr >
            <td align="center" bgcolor="#d4e6ec" >id</td>
            <td height="28" align="left" bgcolor="#d4e6ec" >标题</td>
            <td align="left" bgcolor="#d4e6ec" >日期</td>
          </tr> 
<?php include_once("page.php"); ?> 
<?php
$conn=mysql_connect("localhost","root","") or die("不能连接数据库教程:".mysql_error());
$db=mysql_select_db("dbtest") or die("选择数据库错:".mysql_error());
mysql_query("set names gb2312");

$stmt->execute(array(':id'=>130));

-- 导出表中的数据 `test`

insert into `test` (`id`, `title`, `editdate`) values
(1, '测试标题1', '2009-01-01'),
(2, '测试标题2', '2009-08-26'),
(3, '测试标题3', '2009-03-26'),
(4, 'www.111cn.net4', '0000-00-00'),
(5, '测试标题5', '0000-00-00'),
(6, '测试标题6', '0000-00-00'),
(7, '测试标题7', '0000-00-00'),
(8, '测试标题8', '0000-00-00'),
(9, '测试标题9', '0000-00-00'),
(10, '测试标题10', '0000-00-00');

*/

?>

PDO预处理PDOStatement类:准备语句,处理结果集也就是预处理,安全,高效,推荐使用

 

try{$pdo=new PDO("mysql:host=localhost;dbname=mysqldb","root","snail");}catch(PDOException $e){echo $e->getMessage();}

 

$stmt=$pdo->prepare("select * from shop where id >:id");

$stmt=$pdo->prepare("select id,name,price from shop where id >:id");

$stmt->bindColumn;$stmt->bindColumn(name,$name);$stmt->bindColumn(price,$price);

if($stmt->execute{echo "执行成功";echo "最后插入的ID:".$pdo->lastInsertId();}else{echo "执行失败";}?>

$name="liwu11";$price=234.4311;

<?php

$stmt=$pdo->prepare("select * from shop where id >:id");

编辑:编程 本文来源://显示商品详细信息,}else{echo "执行失败"

关键词: