[wp-hackers] Creating / Inserting into Table named after WP Username
Gregory Lancaster
greglancaster71 at gmail.com
Mon Aug 26 18:48:57 UTC 2013
i appreiate the feedback. The issue I am obviously explaining very poorly
is that I do not understand how to copy the wordpress ->wp_users ->ID field
into a separate database. Someone had mentioned hooking into the register
new user code so everytime someone registers new it creates a new table or
row whatever in a sep database with a matching user id. That is what I am
unclear on how to do.
On Mon, Aug 26, 2013 at 11:11 AM, Otto <otto at ottodestruct.com> wrote:
> I guess I'm not really understanding the question or the underlying
> problem here then. If you have a table called, say, wp_userstuff
> (using the table prefix), and it looks like this:
>
> (
> `user_id` bigint(20) NOT NULL,
> `otherstuff` text NOT NULL
> )
>
> Then you can select from it like so:
>
> $current_user = wp_get_current_user();
> if ( $current_user->exists() ) {
> $results = $wpdb->get_results( $wpdb->prepare("SELECT * FROM
> {$wpdb->prefix}userstuff WHERE user_id = %d", $current_user->ID) );
> }
>
> To insert into the table, you could do something similar with
> $wpdb->query(), but the $wpdb->insert() function is probably better.
>
> $wpdb->insert( $wpdb->prefix.'userstuff', array( 'user_id' =>
> $current_user->ID, 'otherstuff' => 'whatever' ) );
>
> But realistically, usermeta is going to be a better choice if this is
> something you need to pull out for every user lookup, since usermeta
> is pulled automatically. The only reason to make a separate table for
> it is if you have special needs. Your mention of storing "history"
> would be a valid need, because you could stick a datetime column on it
> to store that information as well.
>
> -Otto
>
>
>
> On Mon, Aug 26, 2013 at 12:53 PM, Gregory Lancaster
> <greglancaster71 at gmail.com> wrote:
> > I considered that, but I have no idea how to match the user id owning a
> > row- I am trying to figure that out now. Its actually why I posted here,
> > looking for a way to grab the active user ID or login_name and match it
> to
> > a table or row. I tried INSERT INTO $table and that wont work, nor will
> > any variation with quotes or curly brackets.
> >
> >
> > On Mon, Aug 26, 2013 at 9:53 AM, Otto <otto at ottodestruct.com> wrote:
> >
> >> On Mon, Aug 26, 2013 at 11:46 AM, Gregory Lancaster
> >> <greglancaster71 at gmail.com> wrote:
> >> > so i still have the same issue- how to steup the sql to create the
> table
> >> so
> >> > it matches the current active user.
> >>
> >> You shouldn't have one table per user. There's no case where that makes
> >> sense.
> >>
> >> Instead, take your existing table structure, and add a user_id column
> >> onto it to connect the various rows with a specific user.
> >>
> >> -Otto
> >> _______________________________________________
> >> wp-hackers mailing list
> >> wp-hackers at lists.automattic.com
> >> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
More information about the wp-hackers
mailing list