Ir para conteúdo

POWERED BY:

Arquivado

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

Kakaroto1309

[Resolvido] PHP com Mysql

Recommended Posts

Pessoal

 

Tenho um cadastro de shows, e nesse cadastro eu coloco a data do show e o local. Os shows serão gravados de forma aleatória de data, ou seja, pode ser que eu cadastre um show dia 30/01, mais depois tenha que cadastrar outro dia 29/01.

 

Meu formulário está funcionando legal, ele insere e grava na BD tudo certinho, mais ele mostra um embaixo do outro, sendo que eu queria que ele mostrasse por ordem da data do show (show antes mostra antes).

 

Não sei se a função que fará essa ordenação, deverá ser colocada na hora de gravar os dados na BD, ou na hora de formar a página que mostrará esses shows.

 

Preciso do código php que faz esse tipo de função ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é no SQL cara.

 

SELECT * FROM shows ORDER BY data DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

nessa ai que mostramos.

 

mostre o código em que você lista os shows.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
  // codigo que recupera informações da tabela de dados
  require_once("Includes/FormularioAgenda.php");
  $resultado = formModel::getInstance()->get_noticia();
  while ($row = mysqli_fetch_array($resultado)) {
	echo "<div class=\"resultado\">";
	echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>";
	echo "<tr align='center'>";
	echo "<td height='10' colspan='3' valign='top'><font color='#00CC00' size='6' face='Impact'></font><font color='#00CC00'><img src='" . $row["foto"] . "' width='220' height='100' border='1'></font></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td width='27%' rowspan='5' valign='top'><font color='#00CC00' size='6' face='Impact'>" . $row["dia"] . "<br>";
	echo "<font size='1' face='Verdana'><strong>" . $row["mes"] . "</strong></font></font></td>";
	echo "<td width='3%' valign='top' bgcolor='#FFFFFF'></td>";
	echo "<td width='70%' height='10' align='left'><font color='#00CC00' size='1' face='verdana'><strong>" . $row["show"]. "</strong></font></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td width='3%' valign='top' background='sistema/line.jpg' bgcolor='#FFFFFF'></td>";
	echo "<td height='20' align='left'><font color='#000000' size='1' face='Verdana'>" . $row["local"] ."</font></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td width='3%' valign='top' bgcolor='#FFFFFF'></td>";
	echo "<td height='20' align='left'><p><font color='#000000' size='1' face='Verdana'>" . $row["cidade"] . "</font></p></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td width='3%' valign='top' bgcolor='#FFFFFF'></td>";
	echo "<td height='20' align='left'><font color='#000000' size='1' face='Verdana'>" . $row["descricao"] . "</font></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td width='3%' valign='top' bgcolor='#FFFFFF'></td>";
	echo "<td height='20' valign='top'></td>";
	echo "</tr>";
	echo "<tr align='center'>";
	echo "<td height='20' colspan='3' valign='top'></td>";
	echo "</tr>";
	echo "</table>";
	echo "</div>";
}
?>

 

 

Nota-se que não existe a variável $data. A variável data eu usei somente pra poder ordernar conforme vocês disseram. Ai eu usei a $dia e $mes que irão mostrar de outra forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

public function get_noticia() {
       return $this->query("SELECT * FROM agenda");
   }

 

esse

 

Sendo assim, conforme o pessoal postou:

 

 

public function get_noticia() {
       return $this->query("SELECT * FROM agenda ORDER BY data DESC");
   }

 

Porém, pelo que parece seu campo não é data? Onde você grava suas datas? São campos de dia, mes, ano? (separados)

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, isso que eu disse

no formulario tem o campo data que grava em $data, porem esse campo só é pra ordenação, ele não é mostrado.

 

Já troquei, coloquei em vez de DESC coloquei ASC pra ordenar a data, a mais perto primeiro a mais longe depois, porém gravo o formulario e olho no bd a data ta assim 0000/00/00. qual o comando pra ela gravar corretamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostra como você ta tentando gravar.

 

você precisa pegar a data

dd/mm/yyyy e converter pro formato do banco yyyy-mm-dd

 

manipulação de string mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o tópico abaixo:

 

http://forum.imasters.com.br/index.php?/topic/418115-converter-string-em-date/page__fromsearch__1

 

O amigo beraldo tem a função mais rapida do oeste para resolver seu problema :lol:

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza ... consegui. ..

só preciso de mais uma ajuda ...

 

como faço pra na hora que formar a página dinamica com os dados, fazer com que se a data já passou, ele não mostrar mais ela...

Compartilhar este post


Link para o post
Compartilhar em outros sites

estude sql básico cara..

 

return $this->query("SELECT * FROM agenda WHERE data >= NOW() ORDER BY data DESC");

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.