Jump to content

Making a dating site


machination

Recommended Posts

Hey, I'm making a dating site to get some practice since I'm a beginner.

 

I may have a bunch of questions while getting this finished.

 

 

 

First one:

 

I have 3 tables right now.

 

"clients" - stores client information they filled out in a form

"client_photos" - stores their photo

"client_interests" - has each interest in a separate row

 

All of these tables must have the same client_id (but it's only the primary key for the "clients" table; the other two have their own primary keys).

 

I am trying to get the "interests" the user inputs separated by commas into the rows. How can I go about doing this properly? Here's an excerpt of that section:

 

 

$insert_id = mysqli_insert_id($oConn);

 

$query2 = "INSERT INTO client_interests(client_id, interest) ". "VALUES ('$insert_id', _____')";

 

$result2 = mysqli_query($oConn, $query2) or die('Error querying database.');

 

 

In the $query2 area (where I left an empty "______")...how can I write it out (simplest way) so that the interests (which the user has written out with commas in-between) is exploded into multiple rows?

 

Something like this?

 

$interest_list = implode(',', $interests);

 

And/or an array?

 

Thanks for any help.

Link to comment
https://forums.phpfreaks.com/topic/185104-making-a-dating-site/
Share on other sites

OK, I've figured out most of it, but I need some quick help with this last section. If someone could tell me the error, it would be appreciated.

 

$matchClients = "SELECT COUNT(c2.interest) AS num_common_interests,
			c2.client_id AS matching_client,
			c1.client_id AS current_client

			FROM client_interests AS c1, client_interests AS c2 ,
			clients AS c,
			clients AS mc

			WHERE c1.interest=c2.interest
			AND c1.client_id= " . $_SESSION['client_id'] ."
			AND c1.client_id <> c2.client_id
			AND c1.client_id = c.client_id
			AND c2.client_id = mc.client_id
			AND(
			c.desired_sex = mc.sex
			OR c.desired_sex = 'any'
			)
			AND(
			mc.desired_sex = c.sex
			OR mc.desired_sex = 'any'
			)
			GROUP BY c2.client_id, current_client
			ORDER BY num_common_interests DESC";
   
    $clientRS = mysqli_query($oConn, $matchClients);
   
    if($clientRS){
        while($rowC = mysqli_fetch_array($clientRS)){
            //fetch the image from client_photos with a new query.
            $strSQL =  "SELECT file_name
                		FROM `client_photos`
                		WHERE client_id = " .$rowC['client_id'];
               
            $clientPT = mysqli_query($oConn, $strSQL);
           
            if($clientPT){
                $rowP= mysqli_fetch_array($clientPT);
                //fetch the image from client_photos with a new query.
           	
                echo '';
                echo '<div class="clientIndiv"><img src="./uploaded/' . $rowP['file_name'] . '" alt="photo" />';
                echo '<span class="bold">' . "City:" . '</span>' . ' ' . $rowC['city'] . "<br/>";
                echo '<span class="bold">' . "Age:" . '</span>' . ' ' . $rowC['dob'] . "</div>";

            }
        }
    }

 

I'm getting an undefined index client_id error for "WHERE client_id = " .$rowC['client_id'];" as well.

Link to comment
https://forums.phpfreaks.com/topic/185104-making-a-dating-site/#findComment-978240
Share on other sites

I am trying to get the "interests" the user inputs separated by commas into the rows. How can I go about doing this properly? Here's an excerpt of that section:

This is highly inefficient and not a normalised structure. You SHOULD have a table containing a list of interests, a table containing a list of users, and a table joining users to interests i.e

 

users

======

userId

name

 

interests

=========

interestId

title

 

usersToInterests

================

id

userId

interestId

 

 

Lets take 1 record from users:

userId: 1

name: Neil

 

Lets see the interests available:

1 Football

2 Movies

3 TV

4 Computers

5 Golf

 

OK, now lets relate user above to Football, Movies, and Golf:

 

1 1 1

2 1 2

3 1 5

 

 

You can see that userId 1 has the interests 1,2,5

 

Your query should join the corresponding tables

Link to comment
https://forums.phpfreaks.com/topic/185104-making-a-dating-site/#findComment-978380
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.