I am trying to rewrite this script using PDO:
Get values ββfrom the database
mysql_select_db($database_db_FPF, $db_FPF); $query_rsWorksMenu = "SELECT works.year, GROUP_CONCAT(workstitle.title) as titulos, GROUP_CONCAT(workstitle.id_title) as links FROM works JOIN workstitle ON works.id_year = workstitle.id_year GROUP BY works.year ORDER BY works.year DESC"; $rsWorksMenu = mysql_query($query_rsWorksMenu, $db_FPF) or die(mysql_error()); $row_rsWorksMenu = mysql_fetch_assoc($rsWorksMenu);
Show values
<ul> <?php do { ?> <li><span><?php echo $row_rsWorksMenu['year']; ?></span> <ul> <?php $titulos = explode(",", $row_rsWorksMenu['titulos']); $links = explode(",", $row_rsWorksMenu['links']); foreach(array_combine($links, $titulos) as $link => $titulo){ ?> <li><span><a href="works.php?id=<?php echo $link; ?>"><?php echo $titulo; ?></a></span></li> <?php } ?> </ul> </li> <?php }while ($row_rsWorksMenu = mysql_fetch_assoc($rsWorksMenu)); ?> </ul>
What I got so far:
Get values ββfrom the database:
$stmt2 = $conn->prepare('SELECT works.year, GROUP_CONCAT(workstitle.title) as titulos, GROUP_CONCAT(workstitle.id_title) as links FROM works JOIN workstitle ON works.id_year = workstitle.id_year GROUP BY works.year ORDER BY works.year DESC'); $stmt2->execute(); $result2 = $stmt2->setFetchMode(PDO::FETCH_OBJ);
Show values
<ul> <?php do { ?> <li><span><?php echo $result2->year; ?></span> <ul> <?php $titulos = explode(",", $result2->titulos); $links = explode(",", $result2->links); foreach(array_combine($links, $titulos) as $link => $titulo){ ?> <li><span><a href="works.php?id=<?php echo $link; ?>"><?php echo $titulo; ?></a></span></li> <?php } ?> </ul> </li> <?php }while ($row_rsWorksMenu = mysql_fetch_assoc($rsWorksMenu)); ?> </ul>
The problem is that I do not know what to do with this line:
}while ($row_rsWorksMenu = mysql_fetch_assoc($rsWorksMenu));
UPDATE:
I am changing my code:
$stmt2 = $conn->prepare('...query...'); $stmt2->execute(); $result2 = $stmt2->fetchAll(); }while ($row_rsWorksMenu = $stmt2->fetchAll());
But nothing happens.
UPDATE 2
I am trying this code:
<?php do { ?> <li><span><?php echo $result2->year; ?></span> <ul> <?php $titulos = explode(",", $result2->titulos); $links = explode(",", $result2->links); foreach(array_combine($links, $titulos) as $link => $titulo){ ?> <li><span><a href="works.php?id=<?php echo $link; ?>"><?php echo $titulo; ?></a></span></li> <?php } ?> </ul> </li> <?php }while($result2 = $stmt2->fetch()); ?>
And my DOM shows the correct <li> numbers. But no values. Why?