Ir para conteúdo

POWERED BY:

Arquivado

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

marcelokat

select php

Recommended Posts

Olá galera do Imasters.

 

sou iniciante em php e tenho que fazer um trabalho de conclusao de curso na faculdade

e estou precisando muito de uma ajuda de vocês.

 

a duvida é a seguinte.

Estou fazendo um sistema de agenda escolar quando o usuario loga eu pego todos os filhos dele e mostro pra ele eim um select. e se for menino vai para uma pagina e se for menina vai para outra pagina. onde o usuario logado ou seja o pai ou mae dos meninos vai mandar um recado para o professor. so que quando ele mostra os dados de quem enviou o recado ele mostra so o primeiro registro do banco. mas o titulo e o recado ta certo.

exe.: o pai loga e seleciona o "jose" mas o banco so mostra a "maria" e isso nao importa o login que eu logue.

 

o codigo da agenda que ele escolhe os filhos é este. galera por favor me ajude to com muita dificuldade obrigado.

 

<?php

 

include "conecta_mysql.inc";

include "valida_sessao.inc";

$consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP

ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

 

while ($dados = mysql_fetch_array($consulta))

 

{

?>

<form name="formulario2" id="formulario2" action="aaaaaa.php" method="post">

<select name="filho" onchange="MM_jumpMenu('parent',this,0)" >

<option >selecione uma opção</option>

<option <?php if($dados['SEXO'] == "M")

{ echo "value=\"agendamenino.php\"";}

elseif($dados['SEXO'] == "F")

{ echo "value=\"agendamenina.php\"";}

?>><?php echo $dados['NM_ALUNO']?></option>

</select>

</form>

<?php }

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja, por exemplo, a variável $dados['SEXO']

 

Ela não é um array com vários registros e sim um único índice do primeiro conjunto de resultados. Troca sua declaração while() para isso:

 

$dados = array();

while( $resultado = mysql_fetch_assoc( $consulta ) ) {
	$dados[] = $resultado;
}
Assim, tudo que tiver em $resultado ficará armazenado em $dados.

 

Depois faz um loop for() básico e exibe os resultados. Cada registro deverá ser acessado através de $dados[ $i ]['nome_do_campo'], onde $i é a variável de incremento do loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Imagges

 

como eu falei eu sou iniciante nao estou conseguindo por favor me ajuda.

valeu olha como que ficou.

 

<?php

 

include "conecta_mysql.inc";

include "valida_sessao.inc";

$consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP

ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

 

$dados = array();

 

while( $resultado = mysql_fetch_assoc( $consulta ) ) {

$dados[] = $resultado;

 

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

$dados[ $i ]['SEXO'];

}

?>

<form name="formulario2" id="formulario2" action="testee.php" method="post">

<select name="filho" >

<option >selecione uma opção</option>

<option <?php if($dados['SEXO'] == "M")

{ echo "value=\"agendamenino.php\"";}

elseif($dados['SEXO'] == "F")

{ echo "value=\"agendamenina.php\"";}

?>><?php echo $dados['NM_ALUNO']?></option>

</select>

<input name="" type="submit" />

</form>

<?php $recebe = $dados ['NM_ALUNO']; ?>

<?php }

 

 

ta dando erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilizando o mysql_fetch_assoc você vai receber devolta um array associado a linha... entao você pode utilizar a variavel $resultado direto .. lembrando que a variavel eh um array .. quando você utilizar por exemplo ['SEXO'] você esta determinando um indice para pegar um resultado mais especifico .. ^^

 

valw espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera acho que agora ta indo.

 

so que nao ta aparecendo o nome dos filhos no selec.

tipo eu tenho 2 email cadastrados no baanco um com dois filhos e outro com apenas 1. ai se o filho for do sexo feminino F vai para uma pagina especifica

se nao vai para a do meninos. o sexo ta pegando. eu tava querendo fazer assim depois que ele selecioar o nome do filho ai pelo action vai para uma pagina onde vai direcionar para qual pagina deve i eu qria continuar usando os dado do filho selecionado em outra pagina.

 

ta ficando assim

 

<?php

 

include "conecta_mysql.inc";

include "valida_sessao.inc";

$consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP

ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

 

$dados = array();

 

while( $resultado = mysql_fetch_assoc( $consulta ) ) {

$dados[] = $resultado;

}

 

?>

 

<?php

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

echo $dados[$i]['SEXO'];

}

?>

<form name="formulario2" id="formulario2" action="testee.php" method="post">

<select name="filho" >

<option >selecione uma opção</option>

<option ><?php echo $dados[$i]['NM_ALUNO']?></option>

</select>

<input type="submit" value="enviar" />

</form>

 

 

obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso?

 

<?php

include "conecta_mysql.inc";
include "valida_sessao.inc";
$consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP
ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

$dados = array();

while( $resultado = mysql_fetch_assoc( $consulta ) ) {
$dados[] = $resultado;
}

?>

<form name="formulario2" id="formulario2" action="testee.php" method="post">
<select name="filho" >
<option disabled="disabled">selecione uma opção</option>
<?php
for($i = 0; $i <= $consulta; $i++){
echo '<option name="'.$dados[$i]['SEXO'].'">'.$dados[$i]['SEXO'].'</option';
}
?>
</select>
<input type="submit" value="enviar" />
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve André

 

cara acho que é isso mesmo, grande ajuda mais ta dando este erro

será que nao ta pegando dados no banco?

 

me ajuda ai por favor

 

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema ta é na consulta do MySQL.

 

consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP
ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

Tem alguma sintaxe errada aqui, nome de tabela e etc.

Só verificar essa parte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

André pra falar a verdade nao consegui achar um erro nesse script mas eu fiz ele de novo

e deu certinho. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

so que quando eu clico para abrir o select ele abri como se tivesse varios itens, mas so tem dois que é F ou M mas isso eh de menos.

 

na verdade eu queria mais uma ajuda por que preciso de fazer assim , na verdade no select vai aparecer o nome dos alunos ai quando clicar em um eu tenho que ver se o sexo eh F ou M dependendo vai para uma pagina onde ele vai mandar um recado ai eu imprimo o nome do aluno selecionado em autor do recado.

 

se puder me ajudar fico muito agradecido André ai acho que vou conseguir fazer o resto do trabalho depois

 

 

abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to fazendo assim quando ele escolher la o aluno ele vai para essa pagina so que nao consigo direcionar para pagina certa.

 

acho que a logica ta errado. por favor ajudem

 

<?php

include "conecta_mysql.inc";

include "valida_sessao.inc";

 

$filho = $_POST['filho'];

 

if($filho['NM_ALUNO'] == "Emanuel Gomes"){

//se o sexo for feminino a variavel $link recebe a url da agenda menina

$link = "agendamenina.php";

}

else{

if($filho['NM_ALUNO'] == "Juliana Amaral"){

//se o sexo for masculino a variavel $link recebe a url da agenda menino

$link = "agendamenino.php";

}

elseif($filho['NM_ALUNO'] == "Fernando Santos"){

$link = "agendamenino.php";

}

 

else{

echo " nao possui nenhum depedente";

exit;

}

}

echo $filho;

header ("location:$link");

 

?>

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade eu queria mais uma ajuda por que preciso de fazer assim , na verdade no select vai aparecer o nome dos alunos ai quando clicar em um eu tenho que ver se o sexo eh F ou M

Faz uma busca no banco de dados para verificar o sexo.

 

dependendo vai para uma pagina onde ele vai mandar um recado ai eu imprimo o nome do aluno selecionado em autor do recado.

Faz uma condição usando if.

 

if ($sexo = 'M') {
// recado masculino
}else{
// recado feminino
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

André e a galera que me deu uma ajudonaaa eu agradeço e o codigo deu certo vou postar aqui como que ficaram.

 

obrigadaoO.

 

1- Agenda.php

<?php

 

include "conecta_mysql.inc";

include "valida_sessao.inc";

 

$consulta=mysql_query("SELECT u.EMAIL,u.NM_USUARIO,u.ID_USUARIO,r.CO_USUARIO,r.ID_RESPONSAVEL,a.SEXO,a.CO_RESP

ONSAVEL,a.NM_ALUNO from tb_aluno a, tb_usuario as u, tb_responsavel as r where u.ID_USUARIO =r.CO_USUARIO and r.ID_RESPONSAVEL = a.CO_RESPONSAVEL and u.EMAIL = '$s_email'");

 

$dados = array();

 

while($resultado = mysql_fetch_assoc($consulta)) {

$dados[] = $resultado;

}

?>

 

<form name="formulario2" id="formulario2" action="testee.php" method="post">

<select name="filho" >

<option disabled="disabled">selecione uma opção</option>

<?php

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

echo '<option name="'.$dados[$i]['SEXO'].'">'.$dados[$i]['NM_ALUNO'].'</option';

}

?>

</select>

<input type="submit" value="enviar" />

</form>

 

2-valida selecao.php

 

<?php

 

$filho = $_POST["filho"];

 

if($filho == "Juliana Amaral"){

//se o sexo for feminino a variavel $link recebe a url da agenda menina

$link = "agendamenina.php";

}

else{

 

$link = "agendamenino.php";

}

 

header ("location:$link");

 

echo $filho;

?>

 

obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkk

 

André esse trabalho é uma monografia que to fazendo pra facul me formo dia 04/julho

entao eu so preciso cadastrar algums usuarios para mostrar como vai funcionar o trabalho.

 

so que ta rolando um erro. tipo quando eu escolho o aluno ele ate vai para a pagina certa so que quando eu mando o recado ele nao imprimi o nome da menina so dos meninos.

 

kkkkk

 

????

 

eu tenho um login do sistema que tem um menino quando mando o recado ele pega os doados dele

so o da juliana que nao pega me ajuda mais nessa ai por favor

 

abraço

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.