|
查看: 3073|回复: 76
|
php mysql 问题--->72#php message box
[复制链接]
|
|
|
各位好,我有个问题想请教你们。。
我想做一个search function,可以user and school的。。
我的table有user(id, name)和school(school_id, school_name, id)。。

当user key in name 时,比如说'kelly'就会出现两间学校的名。。但是需要用id来match。。我的query如下:
$query_Recordset1 = "SELECT user.id FROM user WHERE user.name = '$_POST[name]'";
$query_Recordset2 = "SELECT school.school_name FROM school WHERE school.id = '$row_Recordset1['id']'";
但是我却做不到应有的答案。。
请问大家我在哪里出错了呢?
是不是query2错呢?$row_Recorset['id']该换成什么?因为问题就出在它match不到school name。。
[ 本帖最后由 cath 于 7-4-2008 11:13 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 10-3-2008 09:30 PM
|
显示全部楼层
sselect * from user join school where user.id=school.id and user.name = '$_POST[name]'
[ 本帖最后由 为人民服务 于 10-3-2008 09:32 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 10-3-2008 09:31 PM
|
显示全部楼层
|
select * from user join school where user.id=school.id and user.name = '$_POST[name]' |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 10-3-2008 09:36 PM
|
显示全部楼层
thank you very much for reply me~~ 我先试试看  |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 10-3-2008 10:55 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 11-3-2008 01:51 AM
|
显示全部楼层
不好意思,可以了~~原来是CODING问题。。非常谢谢你!!  |
|
|
|
|
|
|
|
|
|
|
发表于 11-3-2008 11:42 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 11-3-2008 12:50 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 11-3-2008 07:43 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 12-3-2008 07:52 AM
|
显示全部楼层
问题来了~~如果我要把在第一页admin_login_add.php输入的资料进了DATABASE 之后再搬去第二页admin_word_added.php应该如何做呢?
CODING大概如下:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO rootword (id, word) VALUES (%s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['word'], "text"));
mysql_select_db($database_con_oked, $con_oked);
$Result1 = mysql_query($insertSQL, $con_oked) or die(mysql_error());
$insertGoTo = "admin_word_added.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
:
:
:
<td class="bodyText"><form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
<table width="370" border="0" align="center">
<tr>
 |
|
|
|
|
|
|
|
|
|
|
发表于 12-3-2008 09:16 AM
|
显示全部楼层
原帖由 cath 于 12-3-2008 07:52 AM 发表 
问题来了~~如果我要把在第一页admin_login_add.php输入的资料进了DATABASE 之后再搬去第二页admin_word_added.php应该如何做呢?
CODING大概如下:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SER ...
你一定要用 header 的话, 用session 吧 |
|
|
|
|
|
|
|
|
|
|
发表于 12-3-2008 10:30 AM
|
显示全部楼层
原帖由 cath 于 12-3-2008 07:52 AM 发表 
问题来了~~如果我要把在第一页admin_login_add.php输入的资料进了DATABASE 之后再搬去第二页admin_word_added.php应该如何做呢?
CODING大概如下:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SER ...
有几种方法可以考虑。
1. 你可以把你的代码分开,从新修改结构,把代码放在header。
2. 用javascript输出<meta http-equiv="refresh" c>,再执行它。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 12-3-2008 11:22 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 13-3-2008 05:59 PM
|
显示全部楼层
大家好,我是佳礼论坛新人,请多多指教。
根据我的理解是:当你Insert 过后,用Header 跳去第二页时,把刚刚Insert的value放在QueryString里,在第二页用$_GET拿回,行吗?
就是把你的QueryString加一个
”&word=”. $_POST['word'] 之类的。然后再用$_GET[‘word’]把它拿下来。
如有不对请多包涵。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-3-2008 06:55 PM
|
显示全部楼层
你太客气了,其实你肯教,我已经感激不尽。。
其实我不是很明白因为我还是php新手 不过我会试试看。。先说声谢谢!! |
|
|
|
|
|
|
|
|
|
|
发表于 13-3-2008 07:10 PM
|
显示全部楼层
大家一起研究,一起进步!
我的意思是,在这里:
$insertGoTo = "admin_word_added.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" :"?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
当你Insert过后,你会用header跳去admin_word_added.php,并连着一些QueryString。也就是说网址会是 http://..... admin_word_added.php?AB=12&CD=34…
你只要把输入的Word,也就是$_POST['word'],接到你的QueryString里面去。
http://..... admin_word_added.php?AB=12&CD=34….&word=hahaha
那么,在admin_word_added.php,你可以用$_GET来得到QueryString里的Data。
也就是说,echo$_GET[‘word’]; 会出现hahaha 了。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 14-3-2008 08:23 AM
|
显示全部楼层
我要如何把$_POST['word']接到QueryString里面去?
$insertSQL = sprintf("INSERT INTO rootword (id, word) VALUES (%s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['word'], "text"));
以上那几行不算吗? |
|
|
|
|
|
|
|
|
|
|
发表于 15-3-2008 02:27 PM
|
显示全部楼层
QueryString指的是连在网址上的Value,也就是想现在Cari的网址是viewthread.php?tid=1139508&extra=page%3D1。
$insertSQL 是你的Databasesql command, 用来储存资料进Database的。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 16-3-2008 10:21 PM
|
显示全部楼层
哦,我明白了!谢谢你~~我继续try。。。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 22-3-2008 10:59 AM
|
显示全部楼层
php mysql 问题--->如何做search by alphabet?
<?
$link = $PHP_SELF."?alphabet";
$alphabet_array = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X ','Y','Z');
echo '<center> | ';
for($i = 0 ; $i < count($alphabet_array); $i++)
{
echo '<a href='.$link.'='.strtolower($alphabet_array[$i]).'>'.$alphabet_array[$i].'</a> | ';
}
?>
请问我该如何从query string那里get到alphabet的value然后再用database query从database那里拿到like ‘a%’ 的words?
Database query该如何写呢?
[ 本帖最后由 cath 于 22-3-2008 11:02 AM 编辑 ] |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|