Tengo curiosidad, ¿es posible crear un bucle en una página PHP separada que creará divs? Esto es en lo que he estado trabajando. Sé que mostrará los resultados de la primera fila de la tabla de datos. Sin embargo, no muestra las siguientes filas. Asumiría que, dado que no muestra lo siguiente, esto no funcionará.

Página PHP separada

$query = "SELECT `ID`, `fullname`, `comment`, `date` FROM `reviews`";
$result = mysql_query($query);
if(!$result)
  {
    die('Error: ' .mysql_error());
  }
  $row_count = mysql_num_rows($result);
  $row_users = mysql_fetch_array($result);

  for($i=0; $i<$row_count; $i++)
  {
    $results = '<div class="col-lg-4">Name:'.($row_users['fullname']).'<br>'.($row_users['comment']).'<br>Date: '.($row_users['date']).'</div>';
  }

Página web

  <div class="row">
    <?php {echo $results;}?>
  </div>
1
Matthew Kelsay 25 ago. 2016 a las 05:23

2 respuestas

La mejor respuesta

Crear Div para cada fila de MySQL

En archivo PHP que contiene la información adecuada de la base de datos.

function getTable() {
    $query = "SELECT `ID`, `fullname`, `comment`, `date` FROM `reviews`";
    $result = mysql_query($query);

    $table = '';

    if ($result) {
        while($row_users = mysql_fetch_array($result)) {
            $table .= "<div class='row'>";
            $table .= '<div class="col-lg-4">Name:'.($row_users['fullname']).'<br>'.($row_users['comment']).'<br>Date: '.($row_users['date']).'</div>';
            $table .= "</div>";
        }
    } else {
        die('Error: ' .mysql_error());
    }

    return $table;
}

En archivo de visualización HTML

<?php echo getTable(); ?>

¡La extensión PHP mysql está obsoleta!

La extensión está obsoleta a partir de PHP 5.5.0 y se eliminó en PHP 7.0.0.

No use la clase mysql en PHP. No es seguro. Utilice una biblioteca como mysqli o, mi favorito, PDO

1
Hurricane Development 25 ago. 2016 a las 03:04

Puedes probar el siguiente código:

$query = "SELECT `ID`, `fullname`, `comment`, `date` FROM `reviews`";
$result = mysql_query($query);
if(!$result)
  {
    die('Error: ' .mysql_error());
  }
  $results = ""
  while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $results .= '<div class="col-lg-4">Name:'.($row['fullname']).'<br>'.($row['comment']).'<br>Date: '.($row['date']).'</div>';
  }

Aquí, tienes que concatizar la cadena results en cada bucle. Debería usar mysqli_query() en lugar de mysql_query() ya que mysql_ está obsoleto.

0
Jay Patel 25 ago. 2016 a las 02:37