checkopenport
checkopenport

Reputation: 121

Php mysql fetch result

I've made a script for movies but i have an issue. The home of script is contain code like this :

<div class="box">
<div id="movie"></div><div id="movie"></div><div id="movie"></div>
</div>

I've do a mysql query but i don't know how to echo just 3 record per div . Im using this code for mysql query :

$query=mysql_query("select * from movies where id=$id");
while($row=mysql_fetch_assoc($query))
  {
  echo $row['name'];
  }

Upvotes: 1

Views: 218

Answers (2)

Henrik O. Skogmo
Henrik O. Skogmo

Reputation: 2013

You will need something like this I think

$query = mysql_query("select * from movies");

$result = array();

while($r = mysql_fetch_assoc($query)) {
    $result[$r['id']] = array($r['name'],$r['thumb']);
}

$i = 0;

foreach($result as $id => $data){

    if($i == 0)
    {
        echo "<div class=\"box\">";
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        $i = $i + 1;
    }
    elseif($i == 1)
    {
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        $i = $i + 1;
    }

    elseif($i == 2)
    {
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        echo "</div>";
        $i = 0;
    }

}

Upvotes: 1

symcbean
symcbean

Reputation: 48357

Multiple elements with the same id? Not a good idea.

You didn't say what you want to happen if you're query returns less then 3 rows.

You might try:

...
$x=0;
while($row=mysql_fetch_assoc($query) && ++$x<=3) {
  echo $row['name'];
}

Upvotes: 1

Related Questions