Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando migrar para php, só que ainda tenho dúvidas e estou tentando fazer um sistema de agenda de compromisso só que estou me atrapalhando com o codigo, alguém pode me ajudar? O sistema e simples e para testes, e para mostrar somente ate 4 eventos que ainda não foram realizados, ou caso nao tenho nenhum que nao tenha side realizado e todos ja foram realizados mostrar no maximo os 4 ultimos feitos.
o codigo da tabela e este:
CREATE TABLE agenda (id INT(11) NOT NULL AUTO_INCREMENT,local VARCHAR(255) NOT NULL,realizado VARCHAR(3) NULL DEFAULT NULL,data DATE NOT NULL,hora TIME NULL DEFAULT NULL,
PRIMARY KEY (id)
)
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (1, 'Copacabana', 'sim', '2016-01-01', '02:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (2, 'Morro da favela', 'sim', '2016-01-07', '05:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (3, 'Repeating Event', 'sim', '2016-01-16', '06:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (4, 'Conference', 'nao', '2016-01-11', '00:09:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (5, 'Meeting', 'nao', '2016-01-12', '12:30:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (6, 'Lunch', 'nao', '2016-01-12', '03:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (7, 'Happy Hour', 'sim', '2016-01-12', '01:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (8, 'Dinner', 'sim', '2016-01-12', '07:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (9, 'Birthday Party', 'nao', '2016-01-14', '07:00:00');
INSERT INTO `agenda` (`id`, `local`, `realizado`, `data`, `hora`) VALUES (10, 'Double click to change', 'nao', '2016-01-28', '08:00:00');
Observação no campo realizado e onde coloquei se nao, o evento não foi realizado, portanto, teria que aparecer caso tivesse os 4 ultimos compromissos que nao foram realizados mais que seram feitos, caso tenha somente 3 mostrar somente os 3 que nao foram realizados, e assim ate chegar a nenhum evento. Depois disso mostrar apenas os 4 ultimos que ja foram feitos.
Código PHP
<?php
$conexao = mysql_connect("localhost", "root", "");
if(!$conexao) die ("Falha ao conectar ao banco");
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conexao);
$bd = mysql_select_db("evento");
$sql = "select * from agenda";
$sql_evento_nao_realizado = "select * from agenda where realizado = 'nao' limit 0,4 ";
$sql_evento_realizado = "select * from agenda where realizado = 'sim' limit 0,4 ";
$resultado_nao_realizado = mysql_query(sql_evento_nao_realizado);
$resultado_realizado = mysql_query($sql_evento_realizado);
?>
<br><br>
Código responsável para mostrar os 4 ultimos eventos nao relizados
<div class="section">
<div class="container-fluid"> <h2><strong>Agenda</strong></h2>
<?php
while($linha = mysql_fetch_assoc($resultado_nao_realizado))
{echo '<div class="row">';
echo '<div class="col-md-3 col-sm-3 col-xs-12 item">';
echo '<i class="fa fa-heart"></i>';
echo '<h3><a href='inscricao.php'>'. $linha['data'] .'</a></h3>';
echo '<br>';
echo $linha['local'];
echo '<br>';
echo $linha['realizado'];
echo '</div>';
}
mysql_close($conexao);
?>
</div>
</div>
Código responsável para mostrar os 4 ultimos eventos já relizados
<div class="section">
<div class="container-fluid"> <h2><strong>Agenda</strong></h2>
<?php
while($linha = mysql_fetch_assoc($resultado_realizado))
{
echo '<div class="row">';
echo '<div class="col-md-3 col-sm-3 col-xs-12 item">';
echo '<i class="fa fa-heart"></i>';
echo '<h3>'. $linha['data'] .'</h3>';
echo '<br>';
echo $linha['local'];
echo '<br>';
echo $linha['realizado'];
echo '</div>';
}
mysql_close($conexao);
?>
</div>
</div>
Agora a dúvida que esta me matando e como fazer as condições dos IF pois ja tentei umas 30 vezes e não funciona, alguém poderia me ajudar a evoluir no PHP e sair desta zinca que eu estou.
Eu quero fazer o IF em que a variavel $resultado_nao_realizado mostre os 4 ultimos registros em que o campo realizado seja igual a 'NAO' . Caso nao tenha 4 tenha 3 mostrar so os 3 caso tenha so 2 mostrar so 2 caso tenha 1 mostrar somente 1, caso nao tenha nenhum mostrar os dados da variavel $resultado_realizado, entendeu?
Estou usando este aqui ate aprender php com oo e pdo:
<?php
error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
?>
Coloque o erro, para entendimento melhor do problema
Qual if você quer fazer? Não entendi direito.
Obs.: Migre para mysqli ou PDO, as funções mysql_ foram consideradas obsoletas desde a versão 5.5. e excluídas do php 7