tag loop get_the_tags get_the from codex actual php html mysqli calendar nested-loops

get_the_tags - php loop con varias veces al día



tags post wordpress (2)

Acabo de editar el último fragmento de código en función de su estructura de tabla mySQL . NO PROBADO . Pero espero que entiendas la idea:

<?php $day = null; echo "<table><thead><tr><th>--</th><th>--</th></tr></thead>"; while($row = $result2->fetch_assoc()) { if($day != $row["name"]) { $day = $row["name"]; echo "<tr><td>".$row["name"]."</td><td> ".strstr($row["date"], " ", -1)."</td></tr>"; } else { echo "<tr><td>".strstr($row["start_at"], " ")."</td><td></td></tr>"; } } echo "</table>"; ?>

Editar :

Me acabo de dar cuenta de que el tiempo de la base de datos proviene de la fila llamada "start_at". Solucionado el código.

Tengo una tabla mysql que se parece a esto

id date day 1 2016-03-10 15:00:00 monday 2 2016-03-10 16:00:00 monday 3 2016-03-10 17:00:00 monday 4 2016-03-11 15:00:00 tuesday 5 2016-03-11 16:00:00 tuesday 6 2016-03-11 17:00:00 tuesday 7 2016-03-11 18:00:00 tuesday

Y luego estoy usando el siguiente código php para extraer la información de fecha y hora entre ahora y 3 meses

<?php session_start(); if(isset($_SESSION["userID"])){ $start=date("Y-m-d H:i:s"); echo $stop= date(''Y-m-d H:i:s'', strtotime("+3 months", strtotime($start))); $result2 = $con->query("select * from event WHERE start_at BETWEEN ''".$start."'' AND ''".$stop."'' ORDER by start_at ASC"); }else{ header(''Location: Login.php''); } ?>

Y luego en mi cuerpo html he escrito algo como esto

<?php echo "<table><thead><tr><th>Day</th><th>Time</th></tr></thead>"; // output data of each row while($row = $result2->fetch_assoc()) { echo "<tr><td>".$row["name"]."</td><td> ".date(''G:i'', strtotime($row["start_at"]))."</td></tr>"; } echo "</table>"; ?>

Lo cual genera el siguiente resultado

Day Time Monday 15:00 Monday 16:00

Etcétera. Pero el resultado que quiero es esto

Monday 2016-03-10 15:00 16:00 17:00 Tuesday 2016-03-11 15:00 16:00 17:00 18:00

¿Ideas sobre cómo cambiar mi código para darme el resultado deseado?


Esa es tu necesidad.

<?php $start=date("Y-m-d H:i:s"); $stop= date(''Y-m-d H:i:s'', strtotime("+3 months", strtotime($start))); $result2 = $con->query("select * from event WHERE date BETWEEN ''".$start."'' AND ''".$stop."'' ORDER by date ASC"); echo "<table>"; $day = null; while($row = $result2->fetch_assoc()) { if($day != $row[''day'']){ $day = $row["day"]; echo "<tr><td>".ucfirst($row[''day''])."</td><td>".date(''Y-m-d'', strtotime($row["date"]))."</td></tr>"; echo "<tr><td colspan=''2''>".date(''G:i'', strtotime($row["date"]))."</td></tr>"; }else{ echo "<tr><td colspan=''2''>".date(''G:i'', strtotime($row["date"]))."</td></tr>"; } } echo "</table>"; ?>