Boas!
Tenho uma página em PHP a mostrar uma certa programação semanal.. O que eu queria era por exemplo, na Terça-Feira mostrar logo a programação para Terça-Feira.
Muito obrigado desde já.
Vês qual a data de hoje - http://pt.php.net/date
e com um switch mostras o conteudo que quiseres, por exemplo...
//aqui recebes um número entre 0 e 6, correspondente ao dia da semana
$dia_semana = date("w");
//aqui o dia da semana por extenso
$dia_semana_ext = date("D");
//aqui o dia do mês, entre 01, e 31
$dia_mes = date("d");
//aqui a data completa, no formato DD-MM-YYYY
$data = date("d-m-Y");
mas não me esclareceste. a tua programação vai ser apenas 7 coisas diferentes (uma para cada dia da semana, sendo igual todas as semanas) ou cada dia vai ter sempre uma coisa diferente?
para usar a função date:
mais informação sobre outros tipos de formatação que podes usar para esta função (que como podes ver é completamente personalizáve), encontras aqui: http://pt2.php.net/datePHP://aqui recebes um número entre 0 e 6, correspondente ao dia da semana $dia_semana = date("w"); //aqui o dia da semana por extenso $dia_semana_ext = date("D"); //aqui o dia do mês, entre 01, e 31 $dia_mes = date("d"); //aqui a data completa, no formato DD-MM-YYYY $data = date("d-m-Y");
<?
if (!$dia){
echo "<a href='programacao.php'><u>Segunda</u></a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
} elseif ($dia=='terca'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'><u>Terça</u></a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
} elseif ($dia=='quarta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'><u>Quarta</u></a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
} elseif ($dia=='quinta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'><u>Quinta</u></a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
}
elseif ($dia=='sexta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'><u>Sexta</u></a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
}
elseif ($dia=='sabado'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'><u>Sábado</u></a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Aqui a programação"";
}
elseif ($dia=='domingo'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'><u>Domingo</u></a><br/><br/>Aqui a programação";
}
?>
switch ($dia_semana) {
case 0:
//mostrar opções para Domingo
break;
case 1:
//opções para Segunda
break;
//etc...
}
}
/*
$fileToWork -> file to save the menu (plus password on 1st line)
Return 0 -> problems working with file
Return 1 -> ends Ok
Return 2 -> date field not filled
*/
function saves_menu ($fileToWork,$arrToWrite) {
$data = $_POST['data'];
$dia_semana = $_POST['dia_semana'];
$keePass = 'TESTE';
$msgCode = '';
$strToWrite = '';
//gets the password from the file
$fr = fopen ($fileToWork,"r");
if (!$fr) {
$msgCode = 0;
} else {
$keepPass = fgets ($fr);
fclose($fr);
$strToWrite = $keepPass;
$strToWrite .= implode ("\n",$arrToWrite);
$fr = fopen ($fileToWork, "w");
if (!$fr) {
fclose ($fr);
$msgCode = 0;
} else {
fwrite ($fr,$strToWrite);
fclose($fr);
$msgCode = 1;
} // fr
} // filecontents
return $msgCode;
} // function
// returns an array with the menu, or returns an error
function get_menu ($fileToWork) {
$file_content = '';
$fr = fopen($fileToWork, 'r');
if(!$fr) {
return 0;
} else {
fclose ($fr);
$file_content = file( $fileToWork );
unset ($file_content[0]); // removes the password field
} // fr
return $file_content;
} // function
// shows the menu in menu page (ementa.php)
function Show_menu ($fileToWork){
// array with menu for each
$arr_menu = get_menu ($fileToWork);
$menu_date = $arr_menu[1]; // gets the field with the week starting date (should indicate monday)
$date_ok = date_validation ($menu_date); // checks if the date field as a valid date on it
unset ($arr_menu[1]); // leaves only the week days on array
$arr_week = array('2ª Feira','3ª Feira','4ª Feira','5ª Feira', '6ª Feira', 'Sábado');
if ($date_ok ){
$menu_date = str_replace ('-','/',$menu_date);
$split_date = explode ('/',$menu_date);
// valid date, shows the week days name plus the date
for ($x=0;$x<6;$x++){
$arr_week [$x] .= ', '.date('d/m/Y', mktime(0, 0, 0, $split_date[1], $split_date[0]+$x, $split_date[2]));
}
}
$daily_menu = '';
$str_formated = '' ; // format the output html with DL and UL according
if ($arr_menu == 0 ) {
return 0;
} else {
$str_formated = '<dl>';
$x=0;
foreach ($arr_menu as $value) {
$str_formated .= "<dt>{$arr_week[$x]}</dt>";
$x++;
$str_formated .= '<dd><ul>';
// split the menu for each day
$daily_menu = explode (';',$value);
foreach ($daily_menu as $value){
// formats the daily menu for html ul
$str_formated .= '<li>' . $value . '</li>';
}
$str_formated .= '</ul></dd>';
}
$str_formated .= '</dl>';
}
return $str_formated;
} // function
--- início do ficheiro -----
palavra-passe, para evitar abusos:)
15/09/2008 <- dia da 2ª feira, os outros dias são tirados deste
Dobrada;Coxas de Frango
Carne assada;Filetes de pescada com arroz de tomate
Carne de porco à alentejana; Carapaus Cozidos
Mão de vaca c/ grão; Maionese com mostarda;Rojões com manteiga;Bitoques
Carne de vaca à primavera; Pataniscas c/ arroz de tomate
Rancho c/ feijão;Arroz de pato
--- fim do ficheiro -----
<?
$dia_semana = date("w");
switch ($dia_semana) {
case 1:
if (!$dia){
echo "<a href='programacao.php'><u>Segunda</u></a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
}
switch ($dia_semana) {
case 2:
} elseif ($dia=='terca'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'><u>Terça</u></a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
}
switch ($dia_semana) {
case 3:
} elseif ($dia=='quarta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'><u>Quarta</u></a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
switch ($dia_semana) {
case 4:
} elseif ($dia=='quinta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'><u>Quinta</u></a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
}
switch ($dia_semana) {
case 5:
elseif ($dia=='sexta'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'><u>Sexta</u></a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
}
switch ($dia_semana) {
case 6:
elseif ($dia=='sabado'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'><u>Sábado</u></a> | <a href='?dia=domingo'>Domingo</a><br/><br/>Programação";
break;
}
switch ($dia_semana) {
case 7:
elseif ($dia=='domingo'){
echo "<a href='programacao.php'>Segunda</a> | <a href='?dia=terca'>Terça</a> | <a href='?dia=quarta'>Quarta</a> | <a href='?dia=quinta'>Quinta</a> | <a href='?dia=sexta'>Sexta</a> | <a href='?dia=sabado'>Sábado</a> | <a href='?dia=domingo'><u>Domingo</u></a><br/><br/>Programação";
break;
}
?>
[B]Parse error[/B]: parse error, unexpected T_ELSEIF in [B]/home/www/******/******/programacao.php[/B] on line [B]105[/B]
<?
$dia_semana = date("w");
switch ($dia_semana) {
case "1":
echo "i is apple";
break;
case "2":
echo "i is bar";
break;
case "3":
echo "i is cake";
break;
}
?>
$dia_semana = date("w");
if(!isset($_GET['dia']) {
switch ($dia_semana) {
case "1":
echo "i is apple";
break;
case "2":
echo "i is bar";
break;
case "3":
echo "i is cake";
break;
}
} else {
switch ($_GET['dia']) {
case "segunda":
echo "i is apple";
break;
case "terca":
echo "i is bar";
break;
case "quarta":
echo "i is cake";
break;
// etc
}
}
?>
Algo do genero...
PHP:$dia_semana = date("w"); if(!isset($_GET['dia']) { switch ($dia_semana) { case "1": echo "i is apple"; break; case "2": echo "i is bar"; break; case "3": echo "i is cake"; break; } } else { switch ($_GET['dia']) { case "segunda": echo "i is apple"; break; case "terca": echo "i is bar"; break; case "quarta": echo "i is cake"; break; // etc } } ?>
<?
$dia_semana = date("w");
if(!isset($_GET['dia'])) {
switch ($dia_semana) {
case "1":
echo "i is apple";
break;
case "2":
echo "i is bar";
break;
case "3":
echo "i is cake";
break;
}
} else {
switch ($_GET['dia']) {
case "segunda":
echo "i is apple";
break;
case "terca":
echo "i is bar";
break;
case "quarta":
echo "i is cake";
break;
// etc
}
}
?>
$dia = isset($_GET['dia']) ? $_GET['dia'] : date("w");
switch ($dia) {
case "domingo":
case "0":
//código para o domingo
break;
case "segunda":
case "1":
//código para segunda
break;
//etc, etc
}
é desnecessário usar dois cases diferentes para fazer a mesma coisa, quando podem fazer isto:
mas melhor ainda, porque é que o $_GET['dia'] tem que vir num formato (o dia por extenso), e o date() tem que vir noutro(o número do dia)?PHP:$dia = isset($_GET['dia']) ? $_GET['dia'] : date("w"); switch ($dia) { case "domingo": case "0": //código para o domingo break; case "segunda": case "1": //código para segunda break; //etc, etc }
não era muito mais simples e lógico dar o mesmo tipo de valores aos dois?
neste caso, podem usar valores numéricos de 0 a 6, ou então os dias por extenso, mas em inglês (porque é assim que eles são retornados do date() )
de qualquer das formas, tudo isto é mais lógico do que fazer dois swith diferentes para a mesma coisa