2011-02-05 9 views
2

古い質問を検索しましたが、関連するもの(PHPとMySQlの新機能ですので、簡単に取り出せます)を見つけられませんでした。MySQLの行のPHP変数を最新の値に設定します

私はカラムがid、subid、nameというMySQLテーブルを持っています。私はこのクエリ走った:私は$ latestsubidに設定したい、最新の行にサブID

CREATE TABLE mytable (id int(999999) NOT NULL auto_increment,subid varchar(99) NOT NULL,name varchar(99) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id)) 

値からは、これは私が一緒に投げることができたものです:

<? 
    $user="me"; 
    $password="blah"; 
    $database="mydb"; 
    $host="localhost"; 
    mysql_connect($host,$user,$password); 
    @mysql_select_db($database) or die("Unable to select database"); 
    $query="SELECT subid FROM mytable"; 
    $result=mysql_query($query); 
    $num=mysql_numrows($result); 
    mysql_close(); 
    ?> 

誰かが私に手を差し伸べることができれば素晴らしいだろう!

答えて

3

私は私はあなたが達成したいのか理解していればわからないんだけど、あなたは最高の「idを持つテーブル行から「サブID」列の値を取得したい場合

+0

おかげで、これを使用しました:) – DexCurl

+0

よろしくお願いします! – Hidde

2

おそらく、あなたは最大のidで行に対するsubidを見つけることができる必要があります。

$query = "SELECT subid FROM mytable ORDER BY id DESC LIMIT 1"; 

$result = mysql_query($query) or trigger_error(mysql_error()); 

while ($row = mysql_fetch_assoc($result)) { 
    $latestsubid = $row["subid"]; 
} 

これはあなたのid sが常に増加していることを前提としています。

+0

感謝のために、

$query="SELECT subid FROM mytable ORDER BY id DESC LIMIT 1"; $result=mysql_query($query); $row = mysql_fetch_assoc($result); $latest_subid = $row['subid']; 

これはIDに降順テーブルをソートします(そう返された最初の行は、最も高いIDを持つもの)、その後、ちょうど1行にあなたの結果を制限する:「値あなたが行うことができます私がそれをした後、答え: ** mysql_query($ query); **、結果を作成するにはどうすればいいですか?** $ latestsubid **?ありがとうございます – DexCurl

+0

@DexCurl:更新を参照してください。 –

2

ワンライナー:

$subid = mysql_result(mysql_query("SELECT subid FROM mytable ORDER BY id DESC LIMIT 1"),0); 
関連する問題