Как выбрать данные из строки, имеющей значение - PullRequest
1 голос
/ 12 июля 2020

Я создаю социальную сеть, у которой есть страница исследования. Я хочу показать текст сообщения или изображение в двух отдельных блоках. То, как он отображается сейчас, не то, что я хочу.

Он показывает текст и изображение в одном блоке div, а если изображения нет, он показывает пустой квадрат там, где должно быть изображение. Это страница исследования, поэтому я хочу, чтобы текст сообщения и изображение отображались случайным образом и в отдельных div, и если в div изображения ничего нет, он просто покажет текст и наоборот.

How it shows

$explore_image = $con->prepare('SELECT body, image FROM posts ORDER BY RAND()');
$explore_image->execute();
$explore_image->store_result();
$explore_image->bind_result($body, $image);

// output data of each row
while ($explore_image->fetch()) {
    
    echo ' '; echo "$ body 



";}

ОБНОВЛЕНИЕ !!! -

Этот код показывает только одно изображение и один div

$explore_image = $con->prepare('SELECT body, image FROM posts ORDER BY RAND()');
$explore_image->execute();
//$explore_image->store_result();
//$explore_image->bind_result($body, $image);
$explore_image_result = $explore_image->get_result();

while ($row = $explore_image_result->fetch_assoc()) {
    
    //$id = $row['id'];
    $body = $row['body'];
    //$added_by = $row['added_by'];
    //$date_time = $row['date_added'];
    $image = $row['image'];

}           

// output data of each row
if (!empty($image)) {
    # code...

    echo '<div id="rcorners2">';
    echo "<img src='" . $image . "' id='explore_post_pic'></br><br><br><br>  
        </div><br>" ;
}

Ответы [ 2 ]

0 голосов
/ 12 июля 2020
<?php

$explore_image = $con->prepare('SELECT body, image FROM posts ORDER BY RAND()');
$explore_image->execute();
$explore_image->store_result();
$explore_image->bind_result($body, $image);

// output data of each row
while ($explore_image->fetch()) {
    
    if($image!=''){
    $newImage="<img src='".$image."' id='explore_post_pic'>";
    }
    else{
    $newImage="";
    }
    
    echo '<div id="rcorners2">'.$body.'</div>';
    echo '<div id="rcorners2">'.$newImage.'</div>';
}

?>
0 голосов
/ 12 июля 2020

Удалить $explore_image->store_result. См. Документацию . И не забудьте закрыть как подготовленный оператор, так и соединение (в этом порядке) после завершения. Исходя из вашего исходного кода:

$explore_image = $con->prepare('SELECT body, image FROM posts ORDER BY RAND()');
$explore_image->execute();
// $explore_image->store_result();
$explore_image->bind_result($body, $image);

// output data of each row
while ($explore_image->fetch())
{
    if (!empty($image))
    {
     echo '<div id="rcorners2">';
     echo "$body <img src='$image' id='explore_post_pic'></br><br><br><br></div><br>";
    }
}
$explore_image -> close();
$con -> close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...