Closed (fixed)
Project:
Site User List
Version:
5.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
13 Apr 2007 at 17:36 UTC
Updated:
17 May 2007 at 20:29 UTC
Jump to comment: Most recent file
Ok - So on my previous post, I wasn't very clear. Even with the newest version of the module I'm still having the same problem.
For most members anything besides e-mail and username doesnt show up. I have phone number and position and they dont show up. I can get them to show up however if i go to there account -- go to their information section and just click submit. Then i have to go to regenerate table. Then it will work. However I have to do this manually.
I'm not very good at explaining so i attached another image to show you the process.
Comments
Comment #1
pukku commentedOK, so now I'm not entirely certain what is happening.
First, just to make sure we're clear on this, this is not a case of you entering new information and it not showing up immediately, is it? This information has already been entered into the site, a while back, and now doesn't show up in the site user list until after you go to the profile page and hit submit without changing anything?
Can you edit the module files? If so, could you insert the following line at around line 420 in site_user_list.module — right after the definition of $internal_sql? (If it would help, I can send you an official diff.)
watchdog('site_user_list', $internal_sql, WATCHDOG_NOTICE);If you then regenerate the table, this will put a log message into your logs (
admin/logs/watchdog) with the SQL generated to create the table. Please respond with that information, and I'll take a look at it. If it makes sense, I may ask you to run some queries against your database — is this something that you can do?Thanks,
Ricky
Comment #2
mimetic2 commentedsorry for the late response-- im not used to getting such good help here :P.
a couple things- in response to "First, just to make sure we're clear on this, this is not a case of you entering new information and it not showing up immediately, is it? This information has already been entered into the site, a while back, and now doesn't show up in the site user list until after you go to the profile page and hit submit without changing anything?"
yes the information has already been entered. I didnt change anything i just pressed submit again. so again were clear on that.
two- I see that you updated the module...i am going to re dl see if anything changes then i will add the code that you requested and see if i can figure out what your talking about.
Comment #3
mimetic2 commentedok so the newest module didnt work. here is the SQL it generated.
SELECT u.uid as uid, u.name as name, u.mail as mail, t_6.value as profile_phone FROM {users} as u LEFT OUTER JOIN {profile_values} as t_6 on (u.uid = t_6.uid and t_6.fid = 6) WHERE u.status = 1
hope this helps in someway. Thank you again so much for your time
Comment #4
pukku commentedOK. Can you run the following SQL statements on your database and let me know what you get back?
1.
SELECT uid, profile_phone FROM site_user_list_table;2.
SELECT uid, value FROM profile_values WHERE fid=6;Also, how many users do you have at your site?
Thanks,
Ricky
Comment #5
pukku commentedBTW: the previous statements may result in a lot of data if you have a lot of users at your site. So really, the following SQL statements may be of more use:
Also, since you're already in there running SQL statements, could you post the results of
SELECT * FROM profile_fields;BTW: I haven't included any database prefix here; if there is one, you will need to add it to the table names.
Thanks,
Ricky
Comment #6
mimetic2 commented47 (and adding). ok so i put this statement
"SELECT uid, profile_phone FROM site_user_list_table;"
in php myadmin and got some phone numbers but a lot of "null" fields..
and for the second query (the one on the left) i got only 8 phone numbers.
See screenshot. Hope this information helps.
Comment #7
pukku commentedOK, so if I understand correctly
SELECT count(*) FROM profile_values WHERE fid=6;gave you 8?
What does
SELECT count(*) FROM site_user_list_table WHERE profile_phone IS NOT NULL;give you?
If it gives you 8, then the problem is not with the module, but with the data. The query on profile_values shows you how many users there are with a value (any value) in the profile field with an fid of 6. According to the SQL used to create the table above, profile_phone is the field with fid of 6. So the problem would be that the phone numbers don't exist. Are they located in a different field? Can you show me the results of
SELECT * FROM profile_fields;Thanks,
Ricky
Comment #8
mimetic2 commentedok check out screenshot. hope this is what you wanted.
Comment #9
pukku commentedHi! So, based on the results of the query from profile_values, the problem doesn't lie with Site User List — there are only three phone numbers entered in total in your database, so only three are going to show up in the list. If other people have entered phone numbers, I have no idea where they are located, but they aren't available via the profile.module fields.
I'm sorry, but there's not much that I can do at this point; the phone number data just doesn't seem to be there, so my module can't display it...
Ricky
Comment #10
pukku commentedHi! Look at http://drupal.org/node/119114 — I think this is the solution to your problem.