Ir para conteúdo

POWERED BY:

Arquivado

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

(Blind)

[Resolvido] Mysql_num_rows

Recommended Posts

Bom dia

seguinte meu Mysql_num_rows so retorna 0

e ele é condiçao para que imprima se o horario está cheio ou não

 

aqui o código

 

CODE
if($variacaohora==1){

$horario = array('09:00','10:00','11:00','14:00','15:00','16:00','17:00');

$nHorarios=7;

}else{

$horario = array('08:30','09:00','09:30','10:00','10:30','11:00','11:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30');

$nHorarios=15;

}

 

for($i=0; $i<$nHorarios; $i++){

 

$sql=("select * from tb_visita where hora_visita=('$horario[$i]') and data_visita=('$data_visita')");

$result = mysql_query($sql,$conexao) or die(mysql_error());

 

if(mysql_num_rows($result)>=$hdia)

{

echo "<tr><td colspan=10 align=\"center\">Horario de $horario[$i] está cheio<td></tr>";

 

}else{

 

echo " <tr>

<td colspan=10 align=\"center\"><input name=\"horario\" type=\"submit\" class=\"inpit\" value=\"$horario[$i]\"</td>

</tr>";

 

}

 

 

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, de onde vem essa variável $hadia ? ela está indefinida e por isso o num_rows não compara nada... na parte do for, você está fazendo gambiarra para contar os arrays, está assim:

$horario = array('09:00','10:00','11:00','14:00','15:00','16:00','17:00');
$nHorarios=7;
}else{
$horario = array('08:30','09:00','09:30','10:00','10:30','11:00','11:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30');
$nHorarios=15;
}

for($i=0; $i<$nHorarios; $i++){

o correto é:

 

$horario = array('09:00','10:00','11:00','14:00','15:00','16:00','17:00');
}else{
$horario = array('08:30','09:00','09:30','10:00','10:30','11:00','11:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30');
}

for($i=0; $i< count($horario); $i++){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom no caso $hdia

é uma variavel de outro arquivo que ta incluido ^^

 

ela está recebendo 3 aqui no meu teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz da forma que você disse

deu no msm hehehe

tipo se tiver + de 3 registros em um dos horarios do array

eu quero q seja impresso

 

echo "<tr><td colspan=10 align=\"center\">Horario de $horario[$i] está cheio<td></tr>";

 

mostrando que o horario esta cheio

 

CODE
if(mysql_num_rows($result)>=$hdia)//$hdia=3;

{

echo "<tr><td colspan=10 align=\"center\">Horario de $horario[$i] está cheio<td></tr>";

}

else{

echo " <tr>

<td colspan=10 align=\"center\"><input name=\"horario\" type=\"submit\" class=\"inpit\" value=\"$horario[$i]\"</td>

</tr>";

 

}

echo "<input name=\"data\" type=\"hidden\" value=\"$data_selecionada\">";

}

echo "</table></form>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não tinha postado a solução, eu apenas corrigi uma gambiarra que vi ali ;)

 

vamos ver então,troque a linha do mysql_num_rows por isso:

 

if(mysql_num_rows($result) > 3)
{
echo "<tr><td colspan=10 align=\"center\">Horario de $horario[$i] está cheio<td></tr>";

}else{

echo " <tr>
<td colspan=10 align=\"center\"><input name=\"horario\" type=\"submit\" class=\"inpit\" value=\"$horario[$i]\"</td>
</tr>";

}
entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aaah certo hehe

realmente foi gambiarra

contei no dedao

ehaueauea

 

bom mas nao deu certo substituir o codigo

eu fiz uma gambiarra pra ver os valores que o Mysql_num_rows esta retornando

 

fiz dessa forma

 

$teste = Mysql_num_rows($result);

echo "$teste";

 

mas em todos os horarios foi retornado zero

e por isso que nao esta entrando na condicao dizendo que o horario esta cheio

 

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, se ta retornando 0 é porque não horários ou registros de cordo com a sua query de busca, analise direito, insira alguns horários no database.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa Alaerte seguinte

fiz um monte de teste aqui ^^

 

 

meu array

$horario = array('09:00','10:00','11:00','14:00','15:00','16:00','17:00');

meu for

for($i=0; $i< count($horario); $i++)

 

o meu problema está na query veja so oque acontece

 

$sql=("select * from tb_visita where hora_visita=('09:00') and data_visita=('$data_selecionada')");

ele retorna o valor e funciona perfeitamente

mas quando coloco

 

$sql=("select * from tb_visita where hora_visita=('$horario[$i]') and data_visita=('$data_selecionada')");

não funciona

 

agora porque disso ?

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perceba que você está fazendo algo de errado ai... por exemplo, a variável $horario[$i] contém todos dados do array, como quer que o mysql selecione todos esses dados de uma só vez ? você teria que colocar toda a queri dentro de um loop para obter o resultado desejado.

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.