Hallo Com,
ich habe kurz etwas geschrieben das, wenn man eingeloggt ist etwas Posten kann.
Folgene Sachen stehen beim Posten.
-Bild/Name
-Datum
-Text
Das Problem ist das ich nicht weiß wie ich Bild & Name aus der DB auslesen soll. Da ich nur eine Tabelle anspreche mit folgenden Spalten:
-post_id
-u_id
-text
-date
Natürlich kann man ja nicht einfach $row['username'] ausgeben weil dies in einer anderen Tabelle ist.
Jetzt frag ich mich wie kann ich es so machen das ich 2 Tabellen Anspreche sodass keine Fehlermeldung kommt wie undefined username.
PHP Code:
<form action="" method="POST">
<textarea name="post"></textarea>
</section>
<section class="sec_index_three">
<input type="hidden" name="uid"></input>
<input type="submit" name="send_post" value="Posten"></input>
<?php
if(isset($_POST['send_post'])) {
$uid = $_POST['uid'];
$uid = $_SESSION['id'];
$post = $_POST['post'];
if(empty(trim($post))) {
exit("Leeres Feld");
}
if($insert = $pdo->prepare("INSERT INTO u_post (u_id, post) VALUES (?, ?)")) {
$insert->BindParam(1, $uid);
$insert->BindParam(2, $post);
if(!$insert->execute()) {
print_r($insert->errorInfo());
} else {
echo 'Erfolgreich';
}
}
}
?>
</form>
</section>
<section class="sec_index_four">
<a href="#"><i class="fa fa-globe" aria-hidden="true"></i> <span>Öffentlich</span> <i class="fa fa-caret-down" aria-hidden="true"></i> </a>
</section>
</article>
<article id="user_post_therad">
<?php
if($stmt = $pdo->prepare("SELECT * FROM u_post ORDER BY date DESC")) {
if(!$stmt->execute()) {
print_r($stmt->errorInfo());
}
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
?>
<section class="user_post_top_left">
<ul>
<li><?phpecho '<img src="data:image/' . $row['im_type'] . ';base64,' . base64_encode($row['image']) . '"/>'; ?></li>
<li><h2><?php echo $row['username']; ?></h2></li>
</ul>
</section>
<section class="user_post_time">
<p><time><small><?php echo $row['date']; ?></small></time></p>
</section>
</section>
<section class="user_post_index">
<p><?php echo $row['post'] ?></p>
Bild:
[IMG=expandable: 1]

[/IMG]
PS: Das Blau kreis-makierte sollte das Bild sein.