I am doing my university assignment, making a small social networking website. I am stuck on student search page.
if you don't search , it shows default 20 students. if you want to search by name, it does that fine.
however if you want to add someone as friend, this is where it create the problem. i have a while loop that is outing add to friend button, when you add a friend, then it should output request sent or added for that particular student but it does that for all the student, i tried many different i know but that didn't workout.
<?php
try{
include('includes/connect.php');
$user_id = $_SESSION['id'];
$found = 'false';
$sql = "SELECT * FROM requests WHERE user_id = $user_id";
$stmt_request_status = $connection->prepare($sql);
$stmt_request_status->execute();
if($stmt_request_status->rowCount()) {
$request_result = array();
while($request_row = $stmt_request_status->fetchObject()){
$request_result[] = $request_row->status;
}
}
if(isset($_POST['addfriend'])) {
$request_id = $_POST['request_id'];
$sql = "INSERT INTO requests (user_id, request_id, status) VALUES ('$user_id', :request_id, '0')";
$stmt = $connection->prepare($sql);
$stmt->bindParam(':request_id', $request_id);
$stmt->execute();
}
$sql = "SELECT * FROM users ORDER BY id DESC LIMIT 20";
$result = $connection->query($sql);
$count = "SELECT count(*) FROM users";
$count_result = $connection->query($count);
$total_records = $count_result->fetchColumn();
if(isset($_GET['submit'])) {
$keyword = '%%%' . $_GET['keyword'] . '%%%';
$sql = "SELECT * FROM users WHERE first_name like :keyword OR last_name like :keyword";
$stmt = $connection->prepare($sql);
$stmt->bindParam(':keyword', $keyword);
$stmt->execute();
if($stmt->rowCount()) {
$found = 'true';
} else {
$msg = 'No results found';
}
}
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
<div class="row">
<div class="medium-12 columns">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<div class="row">
<div class="large-12 columns">
<div class="row collapse">
<div class="small-10 columns">
<input type="text" name="keyword" placeholder="Whats new in your class?">
</div>
<div class="small-2 columns">
<input type="submit" name="submit" class="button postfix" value="Go!">
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<?php echo isset($msg) ? '<span class="error">' . $msg . '</span>' : '';
?>
<?php
if($found !== 'true') {
echo "<h4>Recent Students</h4>";
while($row = $result->fetchObject()){ ?>
<?php echo $row->first_name; ?>
<form action="" method="post" accept-charset="utf-8">
<input type="hidden" name="request_id" value="<?php echo $row->id; ?>">
<?php
if(isset($request_result)){
foreach ($request_result as $status) {
if($status == 1) {
echo '<p class="button secondary tiny">Already Friends</p>';
}
else if ($status == 0) {
echo '<p class="button secondary tiny">Request Already Sent</p>';
}
}
}
?>
<input type="submit" name="addfriend" value="Add Friend" class="button tiny success">
</form>
<hr>
<?php } // while loop
} // end if
?>
<?php
if($found == 'true') {
echo "<h4>Student Found</h4>";
while($row = $stmt->fetchObject()){ ?>
<?php echo $row->first_name; ?>
<?php } // while loop
} // end if
?>
</div>
</div>
<hr>
<div class="row">
<div class="large-12 columns">
<p><strong>Total Students so far : <?php echo $total_records; ?> </strong></p>
</div>
</div>
<?php include('includes/footer.php'); ?>
But i believe this is where it is messing around, the result is so unwanting
<?php
if($found !== 'true') {
echo "<h4>Recent Students</h4>";
while($row = $result->fetchObject()){ ?>
<?php echo $row->first_name; ?>
<form action="" method="post" accept-charset="utf-8">
<input type="hidden" name="request_id" value="<?php echo $row->id; ?>">
<?php
if(isset($request_result)){
foreach ($request_result as $status) {
if($status == 1) {
echo '<p class="button secondary tiny">Already Friends</p>';
}
else if ($status == 0) {
echo '<p class="button secondary tiny">Request Already Sent</p>';
}
}
}
?>
<input type="submit" name="addfriend" value="Add Friend" class="button tiny success">
</form>
<hr>
<?php } // while loop
} // end if
?>