[PHP-DB] RE: PHP/MySQL Question

2001-11-12 Thread Tim Ward

Use sql keyword LIKE, unless you have access to the design of the database,
in which case design it properly (i.e. something approaching normal form). 

Tim

--
From:  Peter Brown [SMTP:[EMAIL PROTECTED]]
Sent:  12 November 2001 05:28
To:  [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject:  PHP/MySQL Question

HI, 

New to PHP/MySQL,

I was wondering if this was possible.

I have a users database with an auto-incremented userID field.

I have another message database (it's a message board database) -
one of
the fields is a TEXT field with userIDs separated by carriage
returns;
eg; if on one record userID 2 and userID 4 have both viewd that
record,
the data in that field will look as follows:

2
4

I want to construct a SQL query for every user that logs in (I am
storing their userID as a session variable) so that I can filter out
any
messages where a user has already viewed that record.  So in the
above
example that record should be filtered out if user 2 or user 4 has
viewed the record.

The query I constructed is:

SELECT * FROM messages WHERE userID != '$userid'

But this will not filter out any records like the one above where
the
userID in the message database is separaed by carriage returns as
above
(ie; it won't filter out messages for user 2 or user 4).

Hope this makes sense
Peter


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DB] Re: PHP/MySQL Question

2001-11-12 Thread Julio Nobrega Trabalhando

  LIKE is a very good option. You can use:

LIKE \n'$id'\n;

  Or similar, where \n stands for the Mysql carriage return 'symbol'.

  Also, you may try selecting the whole text field, explod()ing contents by
carriage returns and checking with in_array() for the id if the above
doesn't works.

--

Julio Nobrega

A hora está chegando:
http://toca.sourceforge.net
Peter Brown [EMAIL PROTECTED] wrote in message
002401c16b3a$c51382f0$850ca8c0@peter">news:002401c16b3a$c51382f0$850ca8c0@peter...
 HI,

 New to PHP/MySQL,

 I was wondering if this was possible.

 I have a users database with an auto-incremented userID field.

 I have another message database (it's a message board database) - one of
 the fields is a TEXT field with userIDs separated by carriage returns;
 eg; if on one record userID 2 and userID 4 have both viewd that record,
 the data in that field will look as follows:

 2
 4

 I want to construct a SQL query for every user that logs in (I am
 storing their userID as a session variable) so that I can filter out any
 messages where a user has already viewed that record.  So in the above
 example that record should be filtered out if user 2 or user 4 has
 viewed the record.

 The query I constructed is:

 SELECT * FROM messages WHERE userID != '$userid'

 But this will not filter out any records like the one above where the
 userID in the message database is separaed by carriage returns as above
 (ie; it won't filter out messages for user 2 or user 4).

 Hope this makes sense
 Peter




-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]