harkly Posted June 17, 2010 Share Posted June 17, 2010 What is the best way to go about checking a table to see if any information has been added (for a particular user) my table: music userID | band | barbershop | classical | country | and about 15 more My goal is to verify if any data for a particular user has been added to the table and if so, echo "Music I listen to: Band, etc" if not then I do not want the "Music I listen to:" to echo at all. I sort of have it working but am looking for the most efficient way to check the table. $sql = mysql_query("SELECT * FROM music WHERE userId = 'test'"); $results = mysql_fetch_array( $sql ); if ($results == null) { echo " Blank \n"; } else { echo " <br><br>Music I listen to: <span class='text'> \n"; $sql = mysql_query("SELECT * FROM music WHERE userId = 'kelly'"); while($r = mysql_fetch_array($sql)) { $string = ""; if ($r['band']) $string .= "Band, "; if ($r['barbershop']) $string .= "Barbershop, "; if ($r['classical']) $string .= "Classical, "; if ($r['country']) $string .= "Country, "; if ($r['dance']) $string .= "Dance, "; if ($r['electric']) $string .= "Electroinical, "; if ($r['folk']) $string .= "Folk, "; if ($r['jazz']) $string .= "Jazz, "; if ($r['metal']) $string .= "Metal, "; if ($r['opera']) $string .= "Opera/Musicals, "; if ($r['orchestra']) $string .= "Orchestra, "; if ($r['punk']) $string .= "Punk Rock, "; if ($r['ragtime']) $string .= "Ragtime, "; if ($r['rap']) $string .= "Rap/Hip Hop, "; if ($r['reggae']) $string .= "Reggae/Ska, "; if ($r['religious']) $string .= "Religious, "; if ($r['rock_pop']) $string .= "Rock/Pop/Alternative, "; if ($r['world']) $string .= "World, "; if ($r['othr_music']) $string .= $r['othr_music_txt']; $string = rtrim($string, ", "); echo " $string \n"; } } I can get the results I want if I use something like this if ($band == null) but I need to check at least 20 different fields. Link to comment https://forums.phpfreaks.com/topic/205063-best-way-to-check-a-table-for-info/ Share on other sites More sharing options...
Psycho Posted June 17, 2010 Share Posted June 17, 2010 I don't think you can do what you are asking with your current structure. I'm not sure I even understand what the current structure is as it doesn't make sense to me. I would expect users may have multiple favorites under one genre (e.g. country) but non under another genre (e.g. barbershop). You should modify your database structure. I would suggest the following: 1) a user table with basic user info, name, age, etc, 2. A genre with genre_id and genre_name. You would have one record for each genre you want to track 3. Finally a user_genre table to link the two above. The table could have fields for user_id, genre_id, artist_name, date_added. You could then grab the most curretly added artist record for a user or know if there are none. Link to comment https://forums.phpfreaks.com/topic/205063-best-way-to-check-a-table-for-info/#findComment-1073583 Share on other sites More sharing options...
harkly Posted June 17, 2010 Author Share Posted June 17, 2010 My database is not what I am inquiring about. What you are proposing would not work for my site. I am just wondering if there is a better way to go about checking a table to see if any data has been put into it, the options are NULL or 1. If there is an 1 in any of the fields do this.... I am not that familiar with all the php options to use and couldn't find anything in google that was close to what I am looking for, probably becuase I am not using the correct verbage. Any ways this is what I have working. if ($band == null && $barbershop == null && $classical == null && $country == null && $dance == null && $electric == null && $folk == null && $jazz == null && $metal == null && $opera == null && $orchestra == null && $punk == null && $ragtime == null && $rap == null && $reggae == null && $religious == null && $rock_pop == null && $world == null && $othr_music == null) is there not something like a function or an array I can set up that does the same thing. Link to comment https://forums.phpfreaks.com/topic/205063-best-way-to-check-a-table-for-info/#findComment-1073587 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.