I searched old questions, but couldn't find an answer or wrap my head around anything relevant (new to PHP and MySQl so take it easy)!
I have a MySQL table with the columns: id, subid, name; I ran this query:
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))
From the value in subid on the latest row I want to set to $latestsubid, this is what I've managed to throw together:
<?
$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();
?>
If anyone could give me a hand it'd be great!
I'm not sure if i understand what you want to achieve, but if you want to get the "subid" column value from the table row with the highest "id" value you can do:
$query="SELECT subid FROM mytable ORDER BY id DESC LIMIT 1";
$result=mysql_query($query);
$row = mysql_fetch_assoc($result);
$latest_subid = $row['subid'];
This will sort the table descending on id (so the first row returned is the one with the highest id) and then just limit your result to 1 row,
Perhaps you need can find the subid
for the row with the greatest id
:
$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"];
}
This assumes that your id
s are always increasing.
One-liner:
$subid = mysql_result(mysql_query("SELECT subid FROM mytable ORDER BY id DESC LIMIT 1"),0);