[PHP/MySQL] dúvida simples

SlashString

Power Member
Boa tarde a todos!

Estou encravado numa questão que até deve ser simples, mas já dei tantas voltas e não consegui resolver, que já não sei mais que pensar..

É simples, eu estou a imprimir uma listagem de registos de uma tabela da BD. O código que estou a usar é simples:
PHP:
$result = mysql_query("SELECT * FROM reservas order by data");
while($x = mysql_fetch_assoc($result))
{
    echo "<tr>";
    echo "<td class=\"style_table\">";
    echo $x['nome'] . " " . $x['apelido'] . "<br>" . $x['email'];
    echo "</td>";
    echo "<td class=\"style_table\">";
    echo $x['telemovel'];
    echo "</td>";
    echo "<td class=\"style_table\">";
    echo $x['participantes'];
    echo "</td>";
 echo "<td class=\"style_table\">";
    echo $x['data'] . " | " .$x['duracao'];
    echo "</td>";
 echo "<td class=\"style_table\">";
    echo $x['pacote'];
    echo "</td>";
    echo "<td class=\"style_table\">";
    echo $x['comentarios'] . "<br><br> ";
    echo "</td>";
}

Com isto imprimo uma listagem linha a linha, onde cada tipo de dados é colocado numa célula, onde existe uma certa lógica visual. O que não estou a conseguir fazer é o seguinte:
por vezes os comentários são muito extensos, o que estraga tudo.. portanto, a solução que pretendo implementar é deixar no sitio do comentário algo do tipo "ler comentário", onde o utilizador ao clicar, abre o comentário noutra página (tipo thickbox..).

Se ajudar, a tabela tem como chave primária um "ID" ao qual pertence apenas 1 comentário..

Agradeço desde já a ajuda,
e desculpem mas tive problemas na edição do tópico, por isso não ficou bem colocado :P

Cumprimentos
 
Última edição:
Ele está a modificar o post. Deve ter submetido por engano ;)

edit - já modificou mas continua incompleto o.O

Estava a editar sim, e voltou a fazer mal o post.. tinha a ver com o código php que colei aí.. deu conflito, mas eu retirei a parte que estava a dar problemas, visto que também não influenciava na resulução!

Peço desculpa :p

Cumprimentos
 
No problem :D

Em relação ao post (agora que já está pronto :P ), não podes pôr um width fixo? Isto é, cada coluna tem um tamanho definido? Assim, quando um comentário é muito extenso, ocupa mais espaço em altura e não em comprimento.

Em relação a saber o comprimento, vou ver se o PHP tem algum equivalente do TextWidth(). Se tiver, é de certeza possível.
edit - ok, lembrei-me agora que isso depende do tipo de letra e tamanho, pelo que é muito mais complexo do que pensava :x

Se quiseres, podes limitar o nº de caracteres por linha. Isto é, se uma linha tiver mais do que 80 caracteres, aparece esse aviso.
 
Última edição:
Se quiseres, podes limitar o nº de caracteres por linha. Isto é, se uma linha tiver mais do que 80 caracteres, aparece esse aviso.
Não éra necessário contar os caracteres porque não queria mesmo que fosse impresso o comentário, queria mesmo só uma ligação "ler comentário" para outra página onde mostrasse o comentário correcto! Isso é o que não consigo fazer.. não estou a ver como passar informação, tipo o ID do comentário para a outra página..:confused:

Cumprimentos:beerchug:
 
Passas para uma página, tipo lercomentario.php, e passas o ID do comentário como $_GET.
O que este ficheiro faria seria ler o $_GET e ir buscar o comentário correspondente ao ID que passas.

Existe uma coluna ID na tabela, certo? Se não existir, "data" é um timestamp?
 
Passas para uma página, tipo lercomentario.php, e passas o ID do comentário como $_GET.
O que este ficheiro faria seria ler o $_GET e ir buscar o comentário correspondente ao ID que passas.

Existe uma coluna ID na tabela, certo? Se não existir, "data" é um timestamp?
Existe um ID na tabela como cháve primária sim.. e a data também é timestamp..

De que forma é que posso passar o ID para esse 'lercomentario.php' ?
 
Se existe um ID, vai por aí, já que é impossível haverem IDs repetidos, mas não é impossível haverem dois comentários colocados no mesmo segundo :)

PHP:
echo "<a href='lercomentario.php?id=" . $x['id'] . "'>Ver comentário</a>";

O lercomentario.php trata de ir buscar esse ID ($id = $_GET['id']) e faz um query à BD para ir buscar o comentário correspondente.

Já agora, deixo-te um aviso: no lercomentario.php, começa assim:
PHP:
$id = $_GET['id'];
if(!is_numeric($id)) die("O ID está errado.");
ou algo do género, e introduz a variável $id (e não a $_GET['id']) na base de dados. Isto é para prevenir SQL Injection.
 
Última edição:
Back
Topo