PDA

View Full Version : How do I use fetch_musername?


Jaxel
01-24-2009, 06:59 PM
okay, lets say I have only ONE piece of data (userid); how do I use fetch_musername? I know I could easily do a SELECT * for the userinfo based on the userid; but that would add an extra query for each username. I would like to use this function, without adding the query. How is this possible?

javolin14
01-24-2009, 07:12 PM
Probably just the simple code; $userinfo[musername] ?? or am i misunderstanding the question?

Jaxel
01-24-2009, 07:20 PM
musername isnt a valid field in the user table... if you want to use ['musername'] from $userinfo, you need to pass $userinfo into fetch_musername first; then it adds the ['musername'] field into the $userinfo array. If you dont run the fetch first, then you will get empty data...

However, this has nothing to do with my problem. My problem is that I dont have $userinfo to begin with in the spot I am tryign to use this. All I have is the userID. I have tried passing $userid into fetch_musername to get $userid['musername']; but it doesnt work.

ragtek
01-24-2009, 07:28 PM
You should use fetch_userinfo
$fetchuserid = 2;
fetch_userinfo($fetchuserid);
fetch_musername is called by fetch_userinfo and the first parameter needs to be a array with all the userdata, so its much easier to use fetch_userinfo

javolin14
01-24-2009, 07:30 PM
Okay sorry, are you using a vbulletin page? or a seperate non VB page if so you might have to call the code

chdir('/root/path/to/your/forums');
require_once('./nameofuserinfopage');

once done, try recalling $userid , or $userid['username']

edit: nvm what ragtek was saying makes me understand what you were trying to do, if thats it.. :x

Jaxel
01-24-2009, 08:16 PM
You should use fetch_userinfo
$fetchuserid = 2;
fetch_userinfo($fetchuserid);
fetch_musername is called by fetch_userinfo and the first parameter needs to be a array with all the userdata, so its much easier to use fetch_userinfo
The fetch_userinfo function is pretty much the same thing as doing a SELECT statement, it adds a query per user. I want to do this WITHOUT adding any queries. Thanks for the tip; but thats not the solution I am looking for.

I want to use fetch_musername without having to use the SELECT or fetch_userinfo functions; since they add queries.

--------------- Added 1232835927 at 1232835927 ---------------

Let me explain what I am trying to do in further... I am using addonchat (I dumped flashchat), and AddonChat supplies its own "who's online" file on their remote server.

MINE: http://client11.addonchat.com/scwho.pl?plain=1&id=367901

What I am doing is parsing the raw data from that file (it has two pieces of data worth drawing for vBulletin: username and userid). The first value is the username, and the fourth value is the userid. For each pull of the userid, I want to call up the musername for that userid and display it in a "Who's chatting" box. Using fetch_userinfo or a SELECT statement to get the information based on the userid; will add an extra query for EACH user who is chatting. But, there are no queries in fetch_musername; which is why I want to use that instead.

Dismounted
01-25-2009, 03:11 AM
fetch_musername() requires the values "username", "usergroupid", "displaygroupid", and "usertitle" in the user array passed to it. It also needs "usergroupcache" from the datastore.

You can create a query to fetch all this information en masse.

Paul M
01-25-2009, 11:50 AM
I want to use fetch_musername without having to use the SELECT or fetch_userinfo functions; since they add queries.
That is impossible when all you have is the userid, since you need the display usergroup information (and the usergroup information, but that may be already cached)