TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 04-16-2008, 05:59 AM   #1 (permalink)
hcp
The Visitor
 
Join Date: Apr 2008
Posts: 3
Thanks: 0
hcp is on a distinguished road
Default small php/mysql help needed

i need help on this, can someone please look at this,

let's say there are two tables on my database
1. category table having column id with values like 1 to 10
2. details table having column category with the values like 2, 4, 6, 8, 10

so i want to list 5 values from category table's id columns but only those values that are in details table category column,

how do i do it pls guide me.
hcp is offline  
Reply With Quote
Old 04-16-2008, 01:50 PM   #2 (permalink)
La Vida es Sueño
Advanced Programmer Top Contributor 
 
Wildhoney's Avatar
 
Join Date: Sep 2007
Location: Oldham
Posts: 2,280
Thanks: 90
Wildhoney is on a distinguished road
Default

Something like this, perhaps?

sql Code:
SELECT
    category.id
FROM
    category
INNER JOIN
    details
ON
    details.category = category.id
LIMIT
    5
__________________
The man who comes back through the Door in the Wall will never be quite the same as the man who went out.
Send a message via AIM to Wildhoney Send a message via MSN to Wildhoney Send a message via Yahoo to Wildhoney
Wildhoney is offline  
Reply With Quote
Old 04-16-2008, 08:19 PM   #3 (permalink)
The Acquainted
 
freenity's Avatar
 
Join Date: Feb 2008
Posts: 119
Thanks: 17
freenity is on a distinguished road
Default

[SQL]
SELECT category.id
FROM category, details
WHERE category.id = details.category
LIMIT 5;
[/SQL]

or maybe this?
__________________
http://feudal-times.net - My PBB Game
http://gwphp.feudal-times.net - My Blog "Gaming With PHP"

Last edited by freenity : 04-16-2008 at 08:21 PM. Reason: how do I write [SQL] tags properly??
freenity is offline  
Reply With Quote
Old 04-17-2008, 01:05 AM   #4 (permalink)
hcp
The Visitor
 
Join Date: Apr 2008
Posts: 3
Thanks: 0
hcp is on a distinguished road
Default

thank you very much both of this works but i am facing one problem

my details table has some same value in many rows like this

1
1
1
1
10
10
10
4
4
5
5
5

show how can i limit only the the numbers by descending orders instead of limiting the rows
hcp is offline  
Reply With Quote
Old 04-17-2008, 01:07 AM   #5 (permalink)
The Acquainted
 
freenity's Avatar
 
Join Date: Feb 2008
Posts: 119
Thanks: 17
freenity is on a distinguished road
Default

[CODE=SQL]
SELECT category.id
FROM category, details
WHERE category.id = details.category
ORDER BY category.id DESC;
[/code]

just add order by `field` desc; or asc for ascending order. ;)
__________________
http://feudal-times.net - My PBB Game
http://gwphp.feudal-times.net - My Blog "Gaming With PHP"

Last edited by freenity : 04-17-2008 at 07:10 PM.
freenity is offline  
Reply With Quote
Old 04-17-2008, 01:26 AM   #6 (permalink)
hcp
The Visitor
 
Join Date: Apr 2008
Posts: 3
Thanks: 0
hcp is on a distinguished road
Default

actually it's like this in my category table there is id column having rows with values like this
1
2
3
4
5
6
7
8
9
10

and in my details table there is category column having rows like this
2
2
2
2
6
6
6
6
4
4
4
8
8
8
10

and i did this
PHP Code:
$query "SELECT category.id, category.title, details.category ".
 
"FROM category, details".
        
"WHERE category.id = details.category ORDER BY category.id DESC LIMIT 5";
     
$result mysql_query($query) or die(mysql_error());


// Print out the contents of each row into a table 
while($row mysql_fetch_array($result)){
    echo 
$row['title']. " - "$row['category'];
    echo 
"<br />";

and the output is now like this

10
8
8
8
6

and that is what i wanted but it's continuing the same value if i don't do LIMIT 5 than it goes like this
10
8
8
8
6
6
6
6
4
4
4
2
2
2
2

all i want is to output like this without repeating any values like
10
8
6
4
2

please help
hcp is offline  
Reply With Quote
Old 04-17-2008, 06:58 PM   #7 (permalink)
The Wanderer
 
serversphere's Avatar
 
Join Date: Dec 2006
Location: USA
Posts: 21
Thanks: 0
serversphere is on a distinguished road
Default

Try
Code:
SELECT category.id, category.title, details.category
FROM category, details
WHERE category.id = details.category
GROUP BY category.id
ORDER BY category.id DESC
Send a message via AIM to serversphere
serversphere is offline  
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 12:27 PM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design