佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 918|回复: 9

php refresh: store the same data

[复制链接]
发表于 18-7-2008 04:05 PM | 显示全部楼层 |阅读模式
2)我有一个page叫它publicdisp,它的前一面是让人key in value的。。 
当user key in一个value之后,publicdisp会拿那些value store在database里面,然后再show出来
问题就是,如果我按refresh(F5)的话,database又会加入同样的data
我要怎样阻止这种事情发生呢?


我换了另一个办法来做,问题已经解决了。。。
1)请问要怎样做bold?
就是好像我search '456',database里面有'123456'
我要show出来的result是123456

谢谢帮忙!!!

[ 本帖最后由 cotie 于 23-7-2008 10:18 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 18-7-2008 06:10 PM | 显示全部楼层
我也想知道....
回复

使用道具 举报

发表于 18-7-2008 09:26 PM | 显示全部楼层
用str_replace就可以了。。。
回复

使用道具 举报

 楼主| 发表于 19-7-2008 08:41 AM | 显示全部楼层
原帖由 -祯- 于 18-7-2008 09:20 PM 发表
可以用
str_replace('456','456',result_here);

也许还有更好的方法
希望有人能提供看看


假如说。。 $keyword=456, $sentence=123456
我是不是要写str_replace('$keyword','$keyword',$sentence)??
这样对吗?
回复

使用道具 举报

发表于 19-7-2008 11:23 AM | 显示全部楼层
str_replace('$keyword','<b>$keyword</b>',$sentence)
str_replace(要找的,要replace的,$sentence)
replace的要有<b></b>
回复

使用道具 举报

 楼主| 发表于 21-7-2008 10:46 AM | 显示全部楼层
由于我是用array的,keyword里所要找的也是从array那边loop出来的。。那么我应该把str_replace()放在哪里呢??
回复

使用道具 举报

Follow Us
 楼主| 发表于 21-7-2008 08:15 PM | 显示全部楼层
原帖由 -祯- 于 21-7-2008 03:08 PM 发表

不太了解你所说的用array是到底在哪里用
是你的result放在array, 还是你要找的keyword放在array?
还是两个都在array?
可以把code post上来吗?


result是在array里面找出来的
蓝色部分就是keyword会出现的地方

<?php
$c = array("staff_name","type","public_name","public_title","year");
if(isset($_POST['search1']))
{ if(isset($_POST['search2']))
{ if(isset($_POST['search3']))
{ if(isset($_POST['search4']))
{ if(isset($_POST['search5']))
{
$c[0] = "staff_name";
$c[1] = "type";
$c[2] = "public_name";
$c[3] = "public_title";
$c[4] = "year";
}}}}}

$db="publication";
$link = mysql_connect("localhost","root","");
if (! $link)
{
die("Couldn't connect to MySQL");
}
mysql_select_db("publication",$link);
$receive = $_POST['keywords'];

$y=0;
echo "Search Results: </br>";
for($x=0; $x<5; $x++)
{
$sql = "SELECT * FROM public_info WHERE $c[$x] LIKE '%$receive%' " ;
$result = mysql_query($sql)
or die('Could not perform search; ' . mysql_error());

if ($result && mysql_num_rows($result))
{
echo"<tr><td><b>$c[$x]</b></td></tr>";
while ($row = mysql_fetch_array($result))
{
echo "<tr><td><pre>
Staff name : $row[staff_name]</br>
Type : $row[type] </br>
Name : $row[public_name]</br>
Title : $row[public_title]</br>
Year : $row[year]</br></pre></td></tr>";
$y=1;
}
}
}
if($y==0)
{
echo "Sorry no record found!!!";
}
?>

[ 本帖最后由 cotie 于 21-7-2008 08:18 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 22-7-2008 01:09 PM | 显示全部楼层
在前一面的时候,search是依照check box的categories来走的
但是,我现在才发觉,原来我的checkbox有在也好像没在,因为根本没走到

我不能做你讲的。。因为当它echo出来时。。。
就是把str_replace()的整行字都print 出来

[ 本帖最后由 cotie 于 22-7-2008 01:11 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 22-7-2008 02:17 PM | 显示全部楼层
能是能用了,但是。。有notice

Notice:  Use of undefined constant staff_name - assumed 'staff_name' in C:\Program Files\EasyPHP 2.0b1\www\search.php on line 79
Staff name : mal c

Notice:  Use of undefined constant type - assumed 'type' in C:\Program Files\EasyPHP 2.0b1\www\search.php on line 80
Type : Journal

Notice:  Use of undefined constant public_name - assumed 'public_name' in C:\Program Files\EasyPHP 2.0b1\www\search.php on line 81
Name : 1st journal

Notice:  Use of undefined constant public_title - assumed 'public_title' in C:\Program Files\EasyPHP 2.0b1\www\search.php on line 82
Title : journallllll

Notice:  Use of undefined constant year - assumed 'year' in C:\Program Files\EasyPHP 2.0b1\www\search.php on line 83
Year : 2008
回复

使用道具 举报

发表于 22-7-2008 02:50 PM | 显示全部楼层
大概 秒了一眼, 覺得 你的 query 可以更 optimized 一點。。
例如, query 一次進 一個 result set 在loop 那個 result set

instead of 那個 query 在 loop 里面。。。因為 query 的 overhead 蠻大的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-12-2025 02:31 AM , Processed in 0.100681 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表