Bom dia, pessoal.
Seguinte, eu tenho uma consulta no banco…
[code] <?php
$sqlPagina = "SELECT * FROM pagina ORDER BY descricao ASC ";
$queryPagina = mysql_query($sqlPagina);
while($rowPagina = mysql_fetch_object($queryPagina)) {
?>
<div class ="checkCadastro">
<input type="checkbox" class="marcar" id="paginas" name="paginas[]" value="<?php echo var_dump($rowPagina->id_pagina) ?>"> <?php echo $rowPagina->descricao?>
</div>
<?php
}
?>[/code]
e quando eu dou um “echo” para ver o que retornou do banco, é mostrado apenas o primeiro valor. Por exemplo, na tabela “paginas”, onde está sendo feita a consulta, tem 20 itens cadastrados, mas quando eu vou ver o que retornou do banco, eu consigo visualizar apenas o primeiro item, os outros 19 não aparecem.
Como eu posso fazer para visualizar todos?
E outra coisa, como eu faço para salvar o resultado da busca em um array?
Utilize a função error_reporting(E_ALL) pra ver se é mostrado alguma mensagem de erro.
Quanto sua sintaxe, aparentemente nada fora do normal, a não ser o id=“paginas” que você acabou declarando pra todos os inputs (o que não é muito bom porque ID é um atributo único diferente de class que mais de um elemento pode ter).
E além disso o ponto e vírgula que você não declarou após cada comando echo
Quanto a salvar cada objeto obtido dentro um array, você pode fazer dessa forma:
$vetor[] = $rowPagina; // $vetor[] indexa dinamicamente
Espero ter ajudado.
Ok, dessa maneira funcionou, valeu…mas agora eu tenho outro problema.
No banco de dados eu tenho uma tabela, que tem o endereço de 12 páginas lá, cada página com seu ID. Pois bem, eu faço um SELECT (comando SQL) para buscar esses ID’s, e assim, montar dinamicamente vários checkbox com os nomes das páginas ao lado.
Esses id’s ficam salvos em um Array, e quando eu marco algumas checkbox e submeto a página, é chamada uma função javascript para fazer as validações e tudo mais, e aí está o meu outro problema, depois que os Id’s vão para o javascript, eu não consigo recuperá-los. Tem alguma ideia do que eu posso fazer?
Não entendi quando você diz recuperá-los no javascript, poderia explicar melhor?
Quanto a validações, você não precisa se prender ao id, pois lembre-se que é atributo único e se você tem mais de um checkbox com o mesmo id, como ele saberá qual deve validar?
Você pode usar jQuery validando pela class que você declarou (já que class é um atributo compartilhado ou composto).
Agora se não sabe faze em jQuery, o método getElementsByName() pode ajudar:
function validaChecks() {
var campos = document.getElementsByName("paginas[]"); // [] pro javascript não faz diferença nesse caso
for (var i = 0; i < campos.length; i++) {
if (!campos[i].checked) {
alert('Campo deve ser marcado!'); // apenas exemplo de saída
}
}
}
Espero ter ajudado.