佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 3073|回复: 76

php mysql 问题--->72#php message box

[复制链接]
发表于 10-3-2008 08:51 PM | 显示全部楼层 |阅读模式
各位好,我有个问题想请教你们。。
我想做一个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 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 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 | 显示全部楼层
还是不能
到底要如何从user table拿match 到的ID去school table那里再match呢?
回复

使用道具 举报

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

使用道具 举报

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


不必客气,有问题欢迎再来。
回复

使用道具 举报

 楼主| 发表于 11-3-2008 12:50 PM | 显示全部楼层
好的好的,我还很多问题呢! 先说声谢谢~~
回复

使用道具 举报


ADVERTISEMENT

发表于 11-3-2008 07:43 PM | 显示全部楼层
原帖由 cath 于 11-3-2008 12:50 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 | 显示全部楼层
听起来好像很难哦!其实我是用DREAMWEAVER做CODING的。。有比较容易的方法吗? 我不会用JAVASCRIPT
回复

使用道具 举报

发表于 13-3-2008 05:59 PM | 显示全部楼层
大家好,我是佳礼论坛新人,请多多指教。

根据我的理解是:当你Insert 过后,用Header 跳去第二页时,把刚刚Insertvalue放在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 了。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 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 编辑 ]
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 29-12-2025 06:23 PM , Processed in 0.126827 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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