Imprimir una tabla horizontal en lugar de vertical usando PHP

Problema:

Tengo una tabla que imprime en vertical, pero me gustaría que imprimiera en horizontal. ¿Alguien que pueda dar una guía sobre cómo se puede lograr esto?

Código PHP:

echo '
    <table class="table table-condensed table-bordered neutralize">     
        <tbody>
            <tr>
                <td><b>Kriterium</td>
                <td><b>Betyg</td>
            </tr>
';

while ($row = mysql_fetch_assoc($result))
{
    echo '
        <tr>
            <td>'.$i.'</td>
            <td>'.$row['RID'].'</td>
        </tr>
    ';

    $i++;
}

echo '
        </tbody>
    </table>
';

Salida de corriente:

enter image description here

Salida deseada:

enter image description here

preguntado el 12 de junio de 12 a las 18:06

Estás mezclando las etiquetas td y tr. -

2 Respuestas

Recorra los resultados de su consulta primero construyendo las dos filas que desea y luego agréguelas a su tabla después:

$kriterium = '';
$betyg = '';

while ($row = mysql_fetch_assoc($result))
{
    $kriterium .= '<td>'.$i.'</td>';
    $betyg .= '<td>'.$row['RID'].'</td>';
    $i++;
}

echo '
    <table class="table table-condensed table-bordered neutralize">     
        <tbody>
            <tr>
                <td><b>Kriterium</td>'.$kriterium .'
            </tr>
            <tr>
                <td><b>Betyg</td>'.$betyg .'
            </tr>
        </tbody>
    </table>
';

Respondido el 12 de junio de 12 a las 19:06

is .= y += lo mismo en PHP - Adán Sweeney

NO, .= es el operador de asignación de concatenación mientras que += es el operador de asignación de suma. - John Lawrence

Esa es una solución muy inteligente, nunca pensé en ella. ¡Muy apreciado! - kexxcream

Puede recopilar datos en una matriz bidimensional y luego reutilizar esta matriz para generar resultados en diferentes formatos:

$rows  = array();
$index = 0;

while ($row = mysql_fetch_assoc($result))
    $rows[0][] = ++$index;
    $rows[1][] = $row['RID'];
}

$table = '<table class="table table-condensed table-bordered neutralize">     
  <tbody>
    <tr><td><b>Kriterium</b></td><td>%s</td></tr>
    <tr><td><b>Betyg</b></td><td>%s</td></tr>
  </tbody>
</table>';

printf(
  $table, 
  implode('</td><td>', $rows[0]),
  implode('</td><td>', $rows[1])
);

Respondido el 12 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.