Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelcastro

Vetor

Recommended Posts

Grande comunidade, bom dia...

 

Tenho uma dúvida que acredito ser bem simples...

 

Tenho um texto pronto num sistema em php onde gostaria que fosse impresso para cada um dos clientes cadastrados no banco de dados. O sistema busca todos os nomes dos clientes e imprime na tela uma mala direta com o nome de cada um, cada um em uma carta diferente... Para tanto, estou usando o seguinte código na página principal:

 

<?

$i=1;

while

(

<input name=\"checkbox[$i]\" type=\"checkbox\" id=\"checkbox[$i]\" value=\"1\" checked><input name=\"paciente_nome[$i]\" type=\"hidden\"

id=\"paciente_nome[$i]\" value=\"$linha->PACIENTE_NOME\">

 

$i++;

}

?>

 

Não consigo recuperar o resultado de todos os nomes na próxima página...

 

imprime.php

// no início desse arquivo eu repito a consulta no banco de dados e jogo em $contador

<?

for ($j=1; $j<=$contador; $j++)

{

$pega_check[$j] = $_POST['checkbox'][$j];

$pega_nome[$j] = $_POST['paciente_nome'][$j];

 

echo $pega_check[$j];

echo $pega_nome[$j];

 

?>

 

Não consigo recuperar o valor nessa outra página...

 

O que estou fazendo de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não precisa do $i a não ser que use-o para algo

 

só porstando o campo[] já passa como array

 

 

ai no php faça assim

 

 

foreach($_POST['campo'] as $campos){
	echo $campos."<br>";
}

entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você deseja pegar a chave do array atribua-o a uma à função list do php

 

 

while( list( $k, $v ) = each( $_POST['campo] ) ){ // em negrito o nome do campo que deseja resgatar

 

echo '<br />';

echo $key; // indice do array

echo ': ';

echo $v; // valor do array

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros hinom e programador php: eu vou postar de uma outra forma o meu problema.

 

Na minha página index.php eu tenho um form que pede a data inicial e a data final. O dar o submit, nesta mesma página eu listo os clientes nascidos nesta data e em cada cliente eu mostro um checkbox já selecionado. O usuário então escolhe se quer enviar ou não uma correspondência dando os parabéns deixando marcado e caso queira não enviar, desmarca o checkbox.

 

Nesta mesma página index.php aparece um outro botão chamado Gerar correspondência. Quando clicado ele direciona para a página imprime.php...

 

Pensei o seguinte: eu passo a data inicial e a data final da consulta e na imprime.php eu faço a mesma consulta e pego a quantidade de usuarios para jogar num for. Nessa página imprime.php eu começo com 1 até a quantidade de clientes.

 

Vou postar os dois códigos:

 

index.php

 

CODE
<form name="form1" method="post" action="imprime.php">

<table width="100%">

<tr>

<td width="15%">Data Inicio</td>

<td width="20%"><input name="pdata_inicio" type="text" size="16" maxlength="10"></td>

<td width="33%">Data Fim

<input name="pdata_fim" type="text" size="16" maxlength="10">

</td>

<td><div align="center">

<input name="submit" type="submit" class="botao" accesskey="p" value="Pesquisar">

</div></td>

</tr>

</table>

</form>

 

e o imprime.php

 

CODE
<?

$data_inicio = $_POST['pega_data_inicio'];

$data_fim = $_POST['pega_data_fim'];

$contador=0;

 

$comando = "";

$comando = "SELECT * FROM SS_CON_CLIENTES('".$data_inicio."','".$data_fim."')";

$comando .= " WHERE ID != 0 AND DESTINO_ID='13'";

 

include "../bibliotecas/abre_conexao.php";

$trans=ibase_trans();

include "../bibliotecas/executa.php";

while ($mostra = ibase_fetch_object($resultado))

{

$contador++;

}

ibase_free_result($resultado);

ibase_commit($trans);

include "../bibliotecas/fecha_conexao.php";

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

<link href="../css/swih.css" rel="stylesheet" type="text/css">

</head>

 

<body>

<?

for ($j=1; $j<=$contador; $j++)

{

$pega_check[$j] = $_POST['checkbox'][$j];

$pega_nome[$j] = $_POST['paciente_nome'][$j];

 

echo $pega_check[$j];

echo $pega_nome[$j];

 

?>

<table width="675" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td height="30"><div align="right" class="ss-txt-tit-carta">

<div align="left" class="ss-txt-tit-carta"><strong>A Família de <? $_POST['paciente_nome[$i]']; ?></strong></div>

</div></td>

</tr>

</table>

 

<table width="675" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td height="30">CORRESPONDENCIA AQUI<td>

</tr>

</table>

 

<?

}

?>

</body>

</html>

 

 

 

Só recapitulando:

 

o index.php coloco a data inicial e a final, faço a primeira pesquisa no proprio index.php para desmarcar algum cliente que não quero que seja gerada a correspondencia... ao clicar em gerar ele envia a data inicial, a data final e um vetor com o nome do paciente e se foi marcado 1 ou 0 (1 envia, 0 não envia) para a página imprime.php

 

no imprime.php eu faço a mesma consulta para ver quantos clientes existem entre as datas e jogo num for para ir gerando as correspondencias...

 

no primeiro post eu não fui claro com relação ao código php... acho que nesse deve ter ficado melhor...

 

Abraço a todos...

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.