Ir para conteúdo

POWERED BY:

Arquivado

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

[VAZA]

Com dizer ao PHP: se no campo tal tiver o numero 2

Recommended Posts

quero +/- isso pessoal:Se o campo diasdasemana conter Segunda-Feira, fica checado um checkbox, se tiver Terça feira, fica checado um outro checkbox..e assim por diante..tem alguma função para isso?no Coldfusion tem a função CONTAINS..tipo..contém..como faço isso no PHP?Falow..t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou o switch??

 

switch ($dia){   case 0:      [comandos para o domingo];      break;   case 1:      [comandos para a segunda];      break;   case 2:      [comandos para a terça];      break;   case 3:      [comandos para a quarta];      break;   case 4:      [comandos para a quinta];      break;   case 5:      [comandos para a sexta];      break;   case 6:      [comandos para a sabado];      break;}

Dependendo do caso, até da pra usar array... mas se entendi o que você quer, acho que isso serve..... ajudei??

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas por exemplo..os campos podem ser: segunda, terça, sexta...dai como segunda, terça e sexta são os dias, marcas as checkbox correspodentes...ou seja, marcas as checkbox segunda, a checkbox terça e a checkbox sexta.Falow..t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não entendeu...as checkbox estão criadas...eu quero se se no campo diadasemana tiver: segunda, terçaas checkbox de segunda e de terça fiquem checadas...entenderam?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos por etapa: Diga o q você está gravando no campo: os dias da semana em números de 0 à 6 por exemplo ou na forma escrita (segunda, terça...).Outra coisas, estão gravados no mesmo campo ou em campos diferentes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

estão em escritas (segunda, terça, etc)e os dados ficam tudo em um mesmo campo...por exemplo..no campo diadasemana do id 4 esta: segunda, sextaentendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem, você pode fazer tipo assim: - Faz o select pegando os valores do campo correspondente a tal pessoa;- o resultado da pesquisa joga numa variável por exemplo: $resultado = mysql_fetch_assoc($parametro); Dê um explode na variavel $resultado assim:$dias = explode(",", $resultado);Repare que entre as aspas dupla tem uma vírgula. Se no banco os dias estiverem separados por vírgula, você coloca lá. Se tiver por hífen, você coloca explode("-", $resultado), beleza?Daí pra saber o valor das variáveis você coloca assim:echo $dias[0]; // vai aparecer segundaecho $dias[1]; // vai aparecer terçae por aí vai.Pra deixar as checkbox selecionadas você pode fazer assim:<input type="checkbox" name="chk_Segunda" value="Segunda" <? if ($dias[0] == "Segunda") echo "Checked"; ?>>é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra eu tb nao entendi nada.. posta seu codigo logo ai que veremos oq podemos fazer por voce.[]'z

Compartilhar este post


Link para o post
Compartilhar em outros sites

por exemplooooo

no banco de dados eu tenho:

modalidade, professor, horario e dias da semana!!!

na pagina eu tenho 6 checkbox: Segunda-Feira, Terça-Feira, Quarta-Feira em Diante!!!

 

quando eu cadastro alguma modalidade, ficaria por exemplo:

Modalidade: Full Contact

Professor: Claudemir

Horario: 12,30

Dias da semana: Segunda-Feira, Quarta Feira

 

ta assim cadastrado...

quando eu for alterar os dados desse cadastro, puxando os dados de uma query, vai aparecer:

 

Modalidade: Full Contact

Professor: Claudemir

Horario: 12,30

Dias da semana: (OS CHECKBOX SEGUNDA-FEIRA E QUARTA-FEIRA ESTARÃO CHECADOS)

 

entenderam agora??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi o q quer fazer.Já fiz algo assim. Da maneira que te expliquei anteriormente funciona perfeitamente. É só implementar.Resumindo: você vai fazer a consulta no banco, usar a função explode pra quebrar os dias da semana e jogar em variáveis do tipo array ($dias[0], $dias[1], $dias[2]...). Pros ckeck aparecerem selecionados, você compara com o value do check assim:<input type="checkbox" name="chk_Segunda" value="Segunda"<? if ($dias[0] == "Segunda") echo "Checked"; ?> ><input type="checkbox" name="chk_Terca" value="Terca"<? if ($dias[1] == "Terca") echo "Checked"; ?> >e por aí vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é bem assim não...pq um registro vai começar como terça-feira, quarta-feira por exemplo.dai no checkbox de terça vai ta:<? if ($dias[1] == "Terca") echo "Checked"; ?>o dias[1] vai ser quarta feira...então o checkbox não vai estar checado entendeu??pq o $dias[1] vai ser quarta feira e não terçao $dias[0] que vai ser terçae se for: Quinta, Sextanão vai nem existir $dias[4] entendeu? vai só existir $dias[0] e $dias[1] dai não vai checar nada....eu tentei fazer um loop +/- assim:<? for ($i = 0; $i <7; $i++){if ($diadasemana2[$i] == "Segunda-Feira"){echo "checked";break;}} ?> só que se nao existir diadasemana2[3] ele retorna erro...tem como contar o numero de registros de uma array?por exemplo, tem array de diadasemana até 3..dai ficaria até $diadasemana[3]...tem como contar isso?se tiver como contar o numero de registros de cada array o meu codigo acima fica correto...falow.t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

VAZA isso aí é simples de se resolver mas ficaria mais simples se você pudesse modificar um pouco a estrutura dos seus dados

 

 

ao invés de gravar no banco

"segunda-feira, sexta-feira ..."

 

grave em formato numérico

 

além de mais prático na hora da consulta, ocupa menos espaço

 

 

daí ficaria tipo assim:

 

Modalidade: Full Contact

Professor: Claudemir

Horario: 12,30

Dias da semana: 13

 

 

onde 1 = segunda

3 = quarta

 

 

você já deverá ter uma tabelinha:

 

0 = domingo

1 = segunda

2 = terça

...

 

 

entendeu?

 

 

daí no seu banco de dados você grava apenas o número

 

 

para recuperar você apenas puxa esses valores para uma variável.

aproveitando o seu exemplo ficaria assim:

 

Modalidade: Full Contact

Professor: Claudemir

Horario: 12,30

Dias da semana: 13

$dias_semana = $resultado; <- o valor já consultado do banco de dados

 

no PHP, um string é um vetor, então você pode fazer isso:

 

 

echo $dias_semana[0];

echo $dias_semana[1];

 

vai retornar "13"

 

 

 

você tendo os checkbox já organizados, então basta você ordenar o seu vetor

 

ord($dias_semana);

 

 

 

nos checkbox

não precisa criar um por um.

use um pouco a cabeça. coloque dentro de um loop

e verifique as valores dentro de uma codicional

 

 

 

um exemplo:

 

 

 

<?

// testando valores

$dias_marcar = "13";

 

 

$dias_semana[0] = "Domingo";

$dias_semana[1] = "Segunda-Feira";

$dias_semana[2] = "Terça-Feira";

$dias_semana[3] = "Quarta-Feira";

$dias_semana[4] = "Quinta-Feira";

$dias_semana[5] = "Sexta-Feira";

$dias_semana[6] = "Sábado";

 

$k = 0;

$lim = sizeof($dias_semana);

$lim2 = strlen($dias_marcar);

for($i=0;$i<$lim;$i++){?>

<?=$dias_semana[$i];?>

 

<?}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou deixando do jeito que está, se entendi bem, você pode dar um explode:

PHP [/tr][tr]$dias = explode(", ",$diasDaSemana);[/tr]

E depois nos checkboxs verificar se existe o valor no array:

PHP [/tr][tr]if (in_array("Terça-feira",$dias)) echo "checked"; [/tr]

Acho que é mais ou menos isso. ;)

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.