Ir para conteúdo

POWERED BY:

Arquivado

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

Doxonjrj

Problemas com While

Recommended Posts

Galera, é o seguinte, tenho uma tabela relacionada que guarda os números de teleofne de um determinado associado, ou seja, um associado pode ter de 1 4 telefones para contato. Fazendo a inserção e buscando os dados beleza.

Meu problema está no seguinte, quando o usuário tenta alterar o cadastro dele, tenho que carregar os dados dos telefones dele, só que ele pode ter 1 ou até 4, portanto tem que ser carregado em um ou em quatro campos, mas se ele tiver apenas 1 telefone outros três campos devem aparecer, caso ele queira incluir um novo telefone.

então o que eu fiz:

 

1 - Faço um select nesta tabela pelo código do usuário

 

SELECT A.codigo, A.tb_tipo_telefone_codigo, A.tb_anunciante_codigo, A.ddd, A.numero FROM tb_anunciante_telefone as A WHERE A.tb_anunciante_codigo = 6$queryDadosTelefone = @mysql_query($sql_listaDadosTelefone);
2 - Uso o seguinte comando para trazer a quantidade de registros

 

$numeroRegistros = @mysql_num_rows($queryDadosTelefone);
3 - Agora começa o meu problema, coloquei um IF, se a quantide de registros for maior que 1, preencho o telefone no campo 01, então usei:

 

$resultadoDadosTelefone = @mysql_fetch_array($queryDadosTelefone)
Aqui vai a minha pergunta:

 

Li na documentação do PHP que o @mysql_fetch_array é uma matriz associativa, apresenta os dados tanto em colunas com o Código como no Descritivo do Campo,

entõa imagino que isto não de para fazre o que eu quero, então tentei usar o

@mysql_fetch_rows, que é uma mtriz apenas pelo Descritivo do Campo, agora me digam:

 

- Se é uma Matriz, ela não deveria apresentar na formatação CAMPO[LINHA][COLUNA]?

 

Então porque quanto eu coloco o seguinte código

 

echo $resultadoDadosTelefone[0][codigo]
ele não me apresenta o valor do campo CODIGO da linha 0?

 

Porque imagina nos outros campos o que vou ter que fzer se isto não funcionar, um laço While junto com um IF para saber qual registro inserir naquele campo?

 

Galera, ficou um pouco grande mas se não entenderem por favor me perguntem novamente, precisava disto com Urgência, VALEU a todos!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha nem li tudo ,mas o que você tem que fazer é se os numeros de telefones

estao relacionados com o cliente basta buscar o id do cliente e trazer tudo

que tem dele se tiver 1 ou 4 nao importa

 

e joga os dados nos campos para ele editar e atualizar

 

posta ai qualquer duvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isso, isto eu já faço sem problemas, o que esotu dizendo é com este resultado preencher os campos dentro da página entendeu?Isto que está complicado, poderia até fazer um laço montando esta página inteira mas o problema é que se eu tiver apenas um telefone registrado, mesmo asim tenho que mostrar os 4 campos, 01 preenchido e 3 nao preenchidos, se tiver dois telefones, dois campos preenchidos e 2 nao preenchidos e assim por diante, aí é que está o meu problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isso, isto eu já faço sem problemas, o que esotu dizendo é com este resultado preencher os campos dentro da página entendeu?

Isto que está complicado, poderia até fazer um laço montando esta página inteira mas o problema é que se eu tiver apenas um telefone registrado, mesmo asim tenho que mostrar os 4 campos, 01 preenchido e 3 nao preenchidos, se tiver dois telefones, dois campos preenchidos e 2 nao preenchidos e assim por diante, aí é que está o meu problema

Esta é a vantagem do PHP , sempre um ombro amigo pra você se apoiar e te dar de bandeja =P

 

espero que te ajude !!

 

Ps.. nem lembro qnt tempo sofri tentando resolver da melhor e + simples forma !

 

Ps2.. Estou utilizando template nesse código, se n entender como aplicar pergunte aki neste tópico !

 

PHP [/tr][tr]

$campos = '<input type="hidden" name="m" value="'.$mode.'"><input type="hidden" name="r" value="'.$registro.'"><input type="hidden" name="t" value="'.$titulo.'">';

 

$template->assign_block_vars('t_tel', array());

 

$sql = "SELECT ID, Num_Titulo, Telefone, Tipo FROM " . TELEFONES . "

WHERE Num_Titulo = $titulo

ORDER BY Tipo, Telefone"

;

 

$result_tel = $db->sql_query($sql);

$total = $db->sql_numrows($result_tel);

 

$template->assign_vars(array(

'ENC_TYPE' => '',

'NOME' => $nome,

'NUM_TITULO' => $titulo,

'TOTAL' => $total + 1,

'S_HIDDEN_FIELDS' => $campos)

);

 

if ( $total > 0 )

{

while( $row = $db->sql_fetchrow($result_tel) )

{

$telrow[] = $row;

}

for( $i = 0; $i < $total; $i++)

{

 

$x = $i + 1;

 

$telefone = "(".substr($telrow[$i]['Telefone'],0,2).") ";

$telefone .= substr($telrow[$i]['Telefone'],2,4)."-";

$telefone .= substr($telrow[$i]['Telefone'],6,4);

$id = $telrow[$i]['ID'];

$onchange = ' ' onChange="return infAlterado(a34f59274d50f313ec06e96e2620e117'.$x.'a34f59274d50f313ec06e96e2620e117)"';

$s_t_tel_tipo = telefone_select($telrow[$i]['Tipo], $select_name = "tel_tipo[".$x."]", $onchange);

 

$template->assign_block_vars('t_tel.t_tel_rows', array(

'MATRIZ' => $i + 1,

'ID' => $id,

'TIPO_SELECT' => $s_t_tel_tipo,

'TELEFONE' => $telefone,

'IGNORE' => '<input type="hidden" value="1" name="inf_ignore['.$x.']" />')

);

}

}

else

{

echo '<script type="text/javascript">window.alert("<<< AVISO >>>\n\n- Não existe nenhum telefone cadastrado para ser editado -")</script>';

 

echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL='.$root.'member.php?m=view&t='.$titulo.'">';

exit;

}

 

$db->sql_freeresult($result_tel);

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem.. nao sei o q aconteceu.. mas onde você encontrar :$onchange = ' onChange="return infAlterado(a34f59274d50f313ec06e96e2620e117'.$x.'a34f59274d50f313ec06e96e2620e117)"';substituir por: ' onChange="return infAlterado(\''.$x.'\')"';

Compartilhar este post


Link para o post
Compartilhar em outros sites

OtinhowCara, obrigado pela dica, entendi perfeitamente o que você fez e ficou super bom, era isso mesmo que eu precisava.Isto que as vezes eu me perco no PHP, como vim do ASP muitas coisas são diferentes e a parte de Array / matriz é bem diferente (rsrs).Obrigado mais uma vez pela ajuda e o que precisar, e claro eu conseguir resolver, por favor me aviseAbraçosDoxonjr

Compartilhar este post


Link para o post
Compartilhar em outros sites

OtinhowCara, obrigado pela dica, entendi perfeitamente o que você fez e ficou super bom, era isso mesmo que eu precisava.Isto que as vezes eu me perco no PHP, como vim do ASP muitas coisas são diferentes e a parte de Array / matriz é bem diferente (rsrs).Obrigado mais uma vez pela ajuda e o que precisar, e claro eu conseguir resolver, por favor me aviseAbraçosDoxonjr

Opa !! ainda bem q você entendeu! é que tava tarde já .. ai n tive tempo de explicar, mas tambem depois qualquer duvida eu ajudaria !mas de qualquer jeito foi util pra você né ? então tá otimo !e é pra isso q estamos aki !por isso mesmo q voltei a frequentar o forum =P

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.