Я создаю социальную сеть, и лента новостей похожа на Twitter. Пользователи могут загружать фотографии и сообщения, но не могут делать это одновременно. В новостной ленте я пытаюсь показать любые посты и фотографии внутри базы данных. Но единственное, что я могу показать, это пост, а не фото. Я пытался объединить его в один, но когда я загружаю картинку, она не сохраняется. Я весь день пробовал смотреть другие вопросы и видео, и это мое последнее средство.
Так как мне получить все из обеих таблиц в порядке временных меток?
newsfeed.php (загрузить изображение в базу данных):
<form id="form2" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<br><input id="sub1" type="submit" value="Upload Pic" name="uploadPic"><br
/>
</form>
<?php
$username = trim( isset($_SESSION['username']) ? $_SESSION['username'] : "" );
$pic_name = isset($_SESSION['pic_name']) ? $_SESSION['pic_name'] : "";
if(!empty($username))
{
if (isset($_FILES['fileToUpload'])) {
$errors= array();
$file_name = $_FILES['fileToUpload']['name'];
$file_size = $_FILES['fileToUpload']['size'];
$width = 200;
$height = 200;
$file_tmp = $_FILES['fileToUpload']['tmp_name'];
$file_type = $_FILES['fileToUpload']['type'];
$tmp = explode('.',$_FILES['fileToUpload']['name']);
$file_ext=strtolower (end ($tmp));
$extensions= array("jpeg","jpg","png");
if(in_array($file_ext,$extensions)=== false){
$errors[]="Please choose a JPEG or PNG file.";
}
if ($file_size > 8097152) {
$errors[] = 'File size must be 2 MB';
}
if ($width > 200 || $height > 200) {
echo"File is to large";
}
if(empty($errors)==true)
{
$pic_name = $file_name;
move_uploaded_file($file_tmp,"uploads/".$pic_name);
$stmt = $conn->prepare("INSERT INTO pics (username, pic_name) VALUES(?, ?)");
$stmt->bind_param('ss', $username, $pic_name);
/* execute prepared statement */
$stmt->execute();
printf("", $conn->affected_rows);
/* close statement and connection */
}else{
print_r($errors);
echo"Couldn't upload picture";
}
}
}
else
{
echo "Invalid Username";
}
?>
newsfeed.php (показывать сообщения и изображения в ленте новостей):
<?php
error_reporting(0);
include("connect.php");
include("auth_login.php");
$username = isset($_SESSION['username']) ? $_SESSION['username'] : '';
$username = trim(isset($_GET['username']) ? $_GET['username'] : $username);
//Write the query
$sql = "SELECT * FROM posts, pics ORDER BY post_id DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<div id="rcorners2">';
echo '<p id="p2">' .$row['username']. '</p>';
echo '<p id="p4">' .$row['date_time']. '</p>';
echo '<hr id="hr2">';
echo '<p id="p3">' .$row['body']. '</p>';
echo '<div class="test"> <a href="#" class="fill-div"></a></div>';
echo'</div>';
echo'</br>';
}
}
else {
}
?>