Page 1 of 1
Assigning Variables (Newbie)
Posted: Thu May 11, 2006 4:16 pm
by rgoins
I'm new to PHP and I'm using MySQL along with PHP. I am running a select statement and I want to assign one of the values in my select statement to a variable so that I can pass that variable through a url. For example:
IN my table administrator I have a column called admin_id. I want to assign the value of the column to a variable ($admin_id) and pass it through a URL. The code I have is below.
<?php
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$admin_username = $HTTP_POST_VARS['admin_username'];
$admin_password = $HTTP_POST_VARS['admin_password'];
$qstr = "SELECT * from administrator where username ='$admin_username' and password ='$admin_password'";
$result = mysql_query($qstr);
// check login info is correct
if (mysql_num_rows($result)) header( "Location:
http://www.softedgedesign.com/admin_mai ... =$admin_id" );
else header( "Location:
http://www.softedgedesign.com/login_failed.htm" );
mysql_close();
?>
Once I have accomplished passing the variable I want to be able to retrieve that variable and utilize it in additional sql statements. Does any of this make sense?
Thanks for the input.
Posted: Thu May 11, 2006 4:28 pm
by jcherry
The value of your variable would be available in $_GET["admin_id"] or $HTTP_GET_VARS["admin_id"]
Posted: Thu May 11, 2006 4:34 pm
by rgoins
I understand that my value would be in $_GET['admin_id'] on the page it is passed to...correct?
For example:
select * from administrator where usernamer= '$username' and password = '$password';
My result would have a row with a value of 1407 in column admin_id. I need to assign 1407 to a variable so that I can pass that variable through a url.
my code would look something like
http://www.page1.html/admin.php?admin_id='$admin_id' but the url displayed would actually be:
-
http://www.page1.html/admin.php?admin_id=1407
Posted: Thu May 11, 2006 4:37 pm
by jcherry
Could you clarify your question?
Do you need to know how to pull the information from the database or how to get the information into the URL?
Posted: Thu May 11, 2006 6:49 pm
by RobertGonzalez
It would be something along the lines of this...
Code: Select all
<?php
$is_single_user = false; // Change to true for a single user and supply the id
$sql = "SELECT user_id, user_name FROM users";
if ($is_single_user) {
$sql .= " WHERE user_id = $user_supplied_id"; // notice the opening space, you need to supply the id
}
if (!$result = mysql_query($sql)) {
die("Could not get the user information: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo '<a href="admin_page.php?user=' . $row['user_id'] . '">User info for ' . $row['user_name'] . '</a><br />';
}
?>
Posted: Fri May 12, 2006 8:26 am
by rgoins
I apologize for not being very clear. I really need to know how to do both. I know how to run SQL statements and that sort of thing but when you run a select statement you expect results, which I have no problem getting. My problem is I want to assign the results to individual variables and pass the individual variable through a URL. I'll try one more example.
$qstr = "SELECT admin_id from administrator where username ='$admin_username' and password ='$admin_password'";
NOW...how do I assign admin_id to a variable?
$variable=admin_id (What's the proper syntax?)
When I have accomplished this, I would like to pass $variable through a URL.
header( "Location:
http://www.softedgedesign.com/admin_mai ... =$variable" );
Posted: Fri May 12, 2006 8:53 am
by rgoins
And the choir sings....Hallelujah..Hallelujah..Hallelujah
I figured it out.
MY PHP CODE:
--------------------------------------------------------------------
<?php
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$admin_username = $HTTP_POST_VARS['admin_username'];
$admin_password = $HTTP_POST_VARS['admin_password'];
$qstr = "SELECT * from administrator where username ='$admin_username' and password ='$admin_password'";
$result = mysql_query($qstr);
$row = mysql_fetch_assoc($result);
$id=$row["admin_id"];
mysql_close();
if (mysql_num_rows($result)) header( "Location:
http://www.softedgedesign.com/admin_main.php?id=$id" );
else header( "Location:
http://www.softedgedesign.com/login_failed.htm" );
?>
----------------------------------------------------------------------------
Thank you all for your assistance.
Posted: Fri May 12, 2006 8:56 am
by aerodromoi
rgoins wrote:
$variable=admin_id (What's the proper syntax?)
How about this:
Code: Select all
$query = "SELECT admin_id FROM administrator WHERE username='$admin_username'";
$sql = mysql_query($query) or die(mysql_error());
while ($ds = mysql_fetch_object($sql)){
$admin_id = $ds -> admin_id;
}
echo $admin_id;
aerodromoi
Posted: Fri May 12, 2006 10:10 am
by RobertGonzalez
rgoins wrote:And the choir sings....Hallelujah..Hallelujah..Hallelujah
I figured it out.
MY PHP CODE:
--------------------------------------------------------------------
Code: Select all
<?php
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$admin_username = $HTTP_POST_VARS['admin_username'];
$admin_password = $HTTP_POST_VARS['admin_password'];
$qstr = "SELECT * from administrator where username ='$admin_username' and password ='$admin_password'";
$result = mysql_query($qstr);
$row = mysql_fetch_assoc($result);
$id=$row["admin_id"];
mysql_close();
if (mysql_num_rows($result)) header( "Location: http://www.softedgedesign.com/admin_main.php?id=$id" );
else header( "Location: http://www.softedgedesign.com/login_failed.htm" );
?>
----------------------------------------------------------------------------
Thank you all for your assistance.
Congrats. If you could, next time, wrap your posted PHP code in either
Code: Select all
BBCode tags or the [syntax=""] tag. It makes it easier for everyone to read.