Ir para conteúdo

POWERED BY:

Arquivado

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

miltonpt

[Resolvido] que tem mal este select?

Recommended Posts

...
$id = $_SESSION['username'];
...
$result= mysql_query("select nome, dia, mes, ano, turno, entra, sai from persons where nome='$id'");

Não tem parênteses nas colunas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta apresentando alguma mensagem de erro? Qual?

 

O nome de todos os campos e da tabela estão corretos?

 

A sessão esta realmente trazendo a informação desejada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$result= mysql_query("select (nome, dia, mes, ano, turno, entra, sai) from persons where nome='$id'") or exit(mysql_error());

Isso fará com que o errrrro retornado pelo MySQL seja exibido. Aí você descobre o problema. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

experimentei todas a hipoteses nada!

aparece uma tabela vazia...

aqui vai o codigo todo pra ver se me escapa algo...

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Gestao horas</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script language="javascript" type="text/javascript" src="niceforms.js"></script>

<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />

</head>

 

<?php

function Diferenca($hora1, $hora2=""){

 

if($hora2==""){

$hora2 = date("H:i:s");

}

 

for($i=1;$i<=2;$i++){

${"horas".$i} = substr(${"hora".$i},0,2);

${"minutos".$i} = substr(${"hora".$i},3,2);

${"segundos".$i} = substr(${"hora".$i},6,2);

}

 

$dia = date(d);

$mes = date(m);

$ano = date(Y);

 

$segundos = mktime($horas2,$minutos2,$segundos2,$mes,$dia,$ano)-mktime($horas1,$minutos1,$segundos1,$mes,$dia,$ano);

 

return date("H:i:s",mktime(0,0,$segundos,$mes,$dia,$ano));

 

}

 

echo "<a href='index.php'>voltar</a><br />";

//echo "<a href='exportar.php'>exportar</a><br />";

//echo "<a href='exportar2.php'>exportar2</a><br />";

echo "<a href='exportar3.php'>exportar</a><br />";

 

$id = $_SESSION['username'];

 

$con = mysql_connect("localhost","root80","teste");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

 

mysql_select_db("my", $con);

 

//$result = mysql_query("SELECT * FROM persons");

 

//$result= mysql_query("select nome, dia, mes, ano, turno, entra, sai from persons where nome='$id' or exit(mysql_error());

$result=mysql_query("select nome, dia, mes, ano, turno, entra, sai from persons where nome= ' ".$id." ' " );

 

//$result= mysql_query("select (nome, dia, mes, ano, turno, entra, sai) from persons where nome='$id'");

//DATEDIFF(entra, sai) as diferenca FROM

//SELECT campos, DATEDIFF(entra, sai) as diferenca FROM...

//$result2 = mysql_query("SELECT DATEDIFF(entra, sai) FROM persons");

 

//$data1 = $row['entra'];

//$data2 = $row['sai'];

//$datadif = echo datediff('$sai', '$entra');

//chamamos a função e imprimimos

//echo calcular_tempo_trasnc($entra, $sai);

 

 

echo "<table border='0' style='background-color:#F2B600' align='center'>

<tr>

<th>nome</th>

<th>dia</th>

<th>mes</th>

<th>ano</th>

<th>turno</th>

<th>entra</th>

<th>sai</th>

</tr>";

 

while($row = mysql_fetch_array($result))

{

echo "<tr style='background-color:#FFFF66'>";

echo "<td>" . $row['nome'] . "</td>";

echo "<td>" . $row['dia'] . "</td>";

echo "<td>" . $row['mes'] . "</td>";

echo "<td>" . $row['ano'] . "</td>";

echo "<td>" . $row['turno'] . "</td>";

echo "<td>" . $row['entra'] . "</td>";

echo "<td>" . $row['sai'] . "</td>";

// echo "<td>" . Diferenca($data1,$data2) . "</td>";

 

echo "</tr>";

}

echo "</table>";

 

mysql_close($con);

 

?>

<body style="background-color: #CCCCCC"></body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando o select:

$result= mysql_query("select (nome, dia, mes, ano, turno, entra, sai) from persons where nome='$id'") or exit(mysql_error());

 

o erro q me aparece:

Operand should contain 1 column(s)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

$sql = "select nome, dia, mes, ano, turno, entra, sai from persons where nome='" . $id . "'";
echo $sql;
$result = mysql_query($sql) or exit(mysql_error());

Será mostrada a consulta a ser executada e o erro, se houver

Compartilhar este post


Link para o post
Compartilhar em outros sites

$id é um inteiro ?

pq tratar como string colocando aspas ??

$sql = "select nome, dia, mes, ano, turno, entra, sai from persons where nome = ".$id." ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo,

aparece-me isto

select nome, dia, mes, ano, turno, entra, sai from persons where nome=''

e a tabela nao mostra valores.

 

William, o $id tem o valor do username (q está na sessao)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá... realmente tem um $_SESSION ali..

mas cadê o session_start() ?

Coloca antes dos cabeçalhos HTML, se não, você não vai conseguir resgatar o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ser o que o William disse, pois $id está vazio.

 

Por isso é melhor criar uma string só para a cosulta. Aìo dá para dar um echo nela e ver como ela está. Se você colocar a consulta diretamente na função mysql_query, não poderá ver como ela ficou antes de ser executada. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.