For Programmers: Free Programming Magazines  


Home > Archive > PHP Programming > March 2005 > Re: 2 short mysql/php questions









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: 2 short mysql/php questions
frizzle

2005-03-25, 3:56 am

I'm sorry, but maybe i've been incomplete with providing information:
I know how to get the information from the database. Usually with e.g.
a guestbook i use

do{
blah
}while($result = mysql_fetch_array($get_results));

But instead of this, i'd like to replace this method with the above i
mentioned.

Both questions are not about the same example, if that's what you mean
with relational databses, I am quite new to mySQL, and also
(less but still) quite new to PHP as you've probably noticed.

If i've missed out something, i'm sorry, just want to make things more
clear...

Greetings!

Alvaro G. Vicario

2005-03-25, 3:56 pm

*** frizzle escribió/wrote (24 Mar 2005 15:34:52 -0800):
> Usually with e.g. a guestbook i use
>
> do{
> blah
> }while($result = mysql_fetch_array($get_results));


What does the do{} block do in the first iteration, when $result still
doesn't have any value?


> But instead of this, i'd like to replace this method with the above i
> mentioned.


Just use a counter variable. Give it an initial value and increment it in
each iteration. A simple if() can tell you if you reached the desired row.

Also, please note the order of rows is absolutely meaningless unless you
have an ORDER BY clause.



--
-+ Álvaro G. Vicario - Burgos, Spain
+- http://www.demogracia.com (la web de humor barnizada para la intemperie)
++ No envíes tu dudas a mi correo, publícalas en el grupo
-+ Do not send me your questions, post them to the group
--
Jerry Stuckle

2005-03-29, 3:57 pm



frizzle wrote:
> I'm not sure if i understood it correctly, but i've solved it like
> this:
>
> $get_admins = mysql_query("SELECT id,username,email,website FROM admin
> ORDER BY id",$db);
> $admins = mysql_fetch_array($get_admins);
>
> do{
>
> if($admins['id']==1)
> {
> $admin1_username= $admins['username'];
> $admin1_email = $admins['email'];
> $admin1_website = $admins['website'];
> }
> else if($admins['id']==2)
> {
> $admin2_username= $admins['username'];
> $admin2_email = $admins['email'];
> $admin2_website = $admins['website'];
> }
> else if($admins['id']==3)
> {
> $admin3_username= $admins['username'];
> $admin3_email = $admins['email'];
> $admin3_website = $admins['website'];
> };
>
> }while($admins = mysql_fetch_array($get_admins));
>
>
> It works, but somehow i feel like i'm missing out something. I wonder
> how i'd do this if i had hundreds of admins: i can't imagine i'd have
> to define the properties for each admin...
>
> Well, anyway it works!
>
> Thanks for that.
>
> I can't figure out my second question though: i only find ways to
> manipulate the output of a query, instead of manipulating the actual
> raw data inside the DB..
>
> Greetings frizzle.
>


Why not something like (not tested):

$admins = array();
while ($data = mysql_fetch_array($get_admins)) {
$admins[$data['id']] = array('username'=>$data['username'],
'email'=>$data['email'],
'website'->$data['website']);
}

This will place the data in

$admins[1]['username']
$admins[1]['email']
$admins[1]['website']
$admins[2]['username']

etc.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Jerry Stuckle

2005-03-29, 8:56 pm



frizzle wrote:
> Great Jerry
>
> That's just what i meant! Just great. I got it working immediatly.
> I even belive that now the number corresponds with the id, instead of
> it's position in the array... is that correct?
> In that case, it's even greater than great!
>
> You made my day!
>



Yes, the index of the item in the array matches the id.

Glad to be of help.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2010 codecomments.com