[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
fbax 0 Denunciar post Postado Dezembro 21, 2004 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
[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
fast 0 Denunciar post Postado Dezembro 21, 2004 mas php não é orientado a objetos.. você vai ter q criar 'na mão' cada checkbox... Compartilhar este post Link para o post Compartilhar em outros sites
[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
Leandru 0 Denunciar post Postado Dezembro 21, 2004 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
[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
Leandru 0 Denunciar post Postado Dezembro 21, 2004 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
Fagner 1 Denunciar post Postado Dezembro 21, 2004 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
[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
Leandru 0 Denunciar post Postado Dezembro 21, 2004 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
[VAZA] 0 Denunciar post Postado Dezembro 21, 2004 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
hinom 5 Denunciar post Postado Dezembro 22, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Dezembro 22, 2004 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