Jump to content


Photo

Exindo Uma Consulta Php


  • Faça o login para participar
15 replies to this topic

#1 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 29/06/2009, 16:34

OLá pessoal,

Estou com outro problema. Bom preciso exibir uma consulta da seguinte forma. Tenho um select com várias opções de curso, quando a pessoa selecionar um curso por exemplo: Curso PHP cujo id=1 ele deve armazenar o total de pessoas no curso, em seguida deve dividir esse total pela metade, ou seja, se ele encontrou por exemplo um valor total=10 pessoas, ele deve exibir 5 nomes na 4ª feira e os outros 5 na quinta-feira. E caso encontre um valor total=9 pessoas por exemplo deve fazer a mesma coisa, logicamente que irá ficar um numero maior de pessoas para 4ªfeira ou 5ª feira. Quero deixar minha página de exibição de consulta igual a página abaixo:

Escola Coteca

O meu código esta fazendo o seguinte, ele somente faz essa divisão quando encontra um valor par, por exemplo: 2,4,8,10,12.....

Vejam meu código:

include "include/conexao.php";        	$cursos = $_POST['cursos'];							if(!empty($cursos))	{		$sql = "select nome, nome_curso, curso1, count(*) from cursos inner join cursos_selecionadas on cursos.idcursos=cursos_selecionadas.curso1 where curso1='$cursos' or oficina2='$cursos' group by nome, nome_curso, curso1";															$rs = mysql_query($sql,$con) or die (mysql_error());  ?> 					$qtd=round(mysql_num_rows($rs)).'';											$calcula=$qtd/2;											$i=0; 					while($linha = mysql_fetch_array($rs))	{						$nome_bd = $linha['nome'];								$nome_oficina = $linha['nome_oficina'];																		 		if($i==$calcula)		{ 								    		    echo "                  		                        		  ";    			$i=0;  		}					$i++;						?>      '?>                                						               }//fim do while			           }//fim do if    mysql_close($con);?>


Se alguém puder me ajudar.....

#2 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 30/06/2009, 10:36

Fala galera, ando meio sumidão mas é falta de tempo mesmo.

Eu_Nana, eu faria da seguinte forma:

Listaria todos os alunos e guardaria em um array, depois checaria quantas pessoas estariam cadastradas nesse array (count()), dividiria ele por dois que é o seu caso e usaria uma função para arredondar o primeiro número para cima (ceil()) e usaria um for que jogaria essas pessoas na 4ª e um outro for que continuaria o for anterior e jogaria o restante das pessoas na 5ª.
$arrayPessoas = array("Pessoa1","Pessoa2","Pessoa3","Pessoa4","Pessoa5","Pessoa6","Pessoa7","Pessoa8","Pessoa9");

$quantidadePessoas = count($arrayPessoas);

$divisaoPessoas = $quantidadePessoas / 2;

$quartaFeira = ceil($divisaoPessoas);

$pessoasRestantes = $quantidadePessoas - $quartaFeira;

// FOR quarta-feira
for($i = 0; $i < $quartaFeira; $i++)
{
	echo $arrayPessoas[$i];
}



// FOR quinta-feira
for($i = $quartaFeira; $i < $quantidadePessoas; $i++)
{
	echo $arrayPessoas[$i];
}

Não testei mas deve funcionar.

Boa sorte!
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#3 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 30/06/2009, 10:50

Oiee

Eu não entendi essa linha:
[codebox]$arrayPessoas = array("Pessoa1","Pessoa2","Pessoa3","Pessoa4","Pessoa5","Pessoa6","Pessoa7","Pessoa8","Pessoa9");
[/codebox]

No meu caso os nomes das pessoas vem do banco.....

#4 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 30/06/2009, 15:42

É apenas um array.

Que pode ser montado assim:

$arrayPessoas = array("Pessoa1","Pessoa2","Pessoa3","Pessoa4","Pessoa5","Pessoa6","Pessoa7","Pessoa8","Pessoa9");

Ou assim:

$arrayPessoas[] = "Pessoa1";
$arrayPessoas[] = "Pessoa2";
$arrayPessoas[] = "Pessoa3";
$arrayPessoas[] = "Pessoa4";
$arrayPessoas[] = "Pessoa5";
$arrayPessoas[] = "Pessoa6";
$arrayPessoas[] = "Pessoa7";
$arrayPessoas[] = "Pessoa8";
$arrayPessoas[] = "Pessoa9";

Para mais detalhes

array()

E para fazer vindo do banco de dados como você disse basta fazer:

while...
{
	$arrayPessoas[] = campoDoBanco;
}

Resumidamente é assim e em baixo o código que postei no outro post.

Té mais...

Walison
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#5 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 30/06/2009, 16:11

Oie Walison,

Fiz como vc sugeriu mais esta exibindo td em uma lista em branco, veja como fiz, fix errado?[codebox]


$quantidadePessoas = count($arrayPessoas);

$divisaoPessoas = $quantidadePessoas / 2;

$quartaFeira = ceil($divisaoPessoas);

$pessoasRestantes = $quantidadePessoas - $quartaFeira;


while($linha = mysql_fetch_array($rs))
{


$arrayPessoas[] = $linha['nome'];


$nome_bd = $linha['nome'];

$nome_oficina = $linha['oficinas'];





// FOR quarta-feira
for($i = 0; $i < $quartaFeira; $i++)
{
echo $arrayPessoas[$i];
}



// FOR quinta-feira
for($i = $quartaFeira; $i < $quantidadePessoas; $i++)
{
echo $arrayPessoas[$i];
}


?>[/codebox]:

#6 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 30/06/2009, 17:47

Será uqe da forma que eu coloquei no primeiro post não levava a pensar que fosse assim????

while($linha = mysql_fetch_array($rs))
	{
			$arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array
			$nome_bd = $linha['nome'];
			$nome_oficina = $linha['oficinas'];
	}

	$quantidadePessoas = count($arrayPessoas); // Conta a quantidade de nomes existentes dentro do array "$arrayPessoas"
	$divisaoPessoas = $quantidadePessoas / 2; // Divide a quantidade existente no array por 2
	$quartaFeira = ceil($divisaoPessoas); // Arredonda o resultado da divisão para cima
	$pessoasRestantes = $quantidadePessoas - $quartaFeira; // Não está sendo usado em lugar nenhum. Coloquei apenas por colocar

	// FOR quarta-feira
	for($i = 0; $i < $quartaFeira; $i++)
	{
		echo $arrayPessoas[$i]; // imprime os nomes na tela
	}

	// FOR quinta-feira
	for($i = $quartaFeira; $i < $quantidadePessoas; $i++)
	{
		echo $arrayPessoas[$i]; // imprime os nomes na tela
	}

Cada for() deve ser colocado no lugar onde você quer que os nomes apareçam.

Até qualquer hora...
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#7 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 01/07/2009, 10:30

Olá

Valew, deu certo aqui.......muito obrigada.... ;)

Precisando eu volto a perguntar

Eu de novo......tenha paciência comigo.....sou iniciante.....

Preciso agora colocar uma outra condição, como tenho duas opções de curso pode acontecer da mesma pessoa cair pra fazer os dois cursos no mesmo dia.......

Como posso fazer isso?

#8 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 01/07/2009, 10:53

Ai já uma coisa mais elaborada, mais complicada e mais trabalhosa.

Você vai vai fazer tudo na mesma pagina? Será em paginas diferentes? Como você está controlando isso?

Porque a pergunta do controle? Porque tudo bem, você está exibindo os nomes em cada um dos dias, mas existe algum controle disso? Porque se você adicionar mais uma ou duas pessoas na base de dados pode mudar muita gente de lugar. Você já pensou nisso?

Não sei se consegui me expressar bem quanto ao que eu quis dizer, mas você pensando um pouquinho ai deve entender.

No mais, conte mais sobre como funciona esse segundo caso ai em relação a primeira.

Até mais...
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#9 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 01/07/2009, 11:26

Então......é o seguinte.


Quero manter a idéia do primeiro caso, ou seja, o programa deve somar o total de pessoas cadastradas em determinado curso e dividir, onde a metade deverá ficar na 4ª feira e a outra metade na 5ª......porém a pessoa precisa selecionar dois cursos que gostaria de realizar, e na hora de exibir pode acontecer da pessoa cair pra fazer os dois cursos no mesmo dia.






Eu pensei em fazer assim no formulário de cadastro dos alunos: Na tabela alunos, tenho os campos: nome, o curso1 e curso2, pensei em definir no formulário cadastro um campo onde seleciono quarta ou quinta para cada pessoa, assim na pagina exibir a consulta, não iria repetir os alunos nos mesmos dias. Veja se minha lógica esta correta?



Porém a pessoa q me pediu isso, disse quem decidirá em q dia o aluno realizará o curso deve ser o sistema. Tem como fazer assim?



Não sei se entendeu oq disse. Qual a dica vc me dá?

#10 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 01/07/2009, 15:49

O sistema pode até decidir, mas você concorda comigo que isso tem que ficar armazenado em algum lugar?

Porque da forma simplificada que está sendo feito, apenas exibindo os nomes dupondo que temos 9 pessoas cadastradas inicialmente irá ser um resultado, mas vamos supor que depois de já ter feito uma seleção pelo sistema seja cadastrado mais duas pessoas sejam cadastradas. O que vai acontecer é que pessoas que anteriomente estavam na quinta feira vão passar para quarta automaticamente.

Agora vamos ao seu problema resolvendo ele mais uma vez de forma simplificada:

<?
	$arrayPessoas = array("Pessoa1","Pessoa2","Pessoa3","Pessoa4","Pessoa5","Pessoa6","Pessoa7","Pessoa8","Pessoa9");
	
	$quantidadePessoas = count($arrayPessoas); // Conta a quantidade de nomes existentes dentro do array "$arrayPessoas"
	$divisaoPessoas = $quantidadePessoas / 2; // Divide a quantidade existente no array por 2
	$quartaFeira = ceil($divisaoPessoas); // Arredonda o resultado da divisão para cima
	$pessoasRestantes = $quantidadePessoas - $quartaFeira; // Não está sendo usado em lugar nenhum. Coloquei apenas por colocar

	// FOR quarta-feira
	for($i = 0; $i < $quartaFeira; $i++)
	{
		$arrayQuartaFeira[] = $arrayPessoas[$i]; // Guarda os nomes deste dia em um array para comparação no próximo array deste dia
		echo $arrayPessoas[$i]."<br />"; // imprime os nomes na tela
	}
	echo"<br />";
	// FOR quinta-feira
	for($i = $quartaFeira; $i < $quantidadePessoas; $i++)
	{
		$arrayQuintaFeira[] = $arrayPessoas[$i]; // Guarda os nomes deste dia em um array para comparação no próximo array deste dia
		echo $arrayPessoas[$i]."<br />"; // imprime os nomes na tela
	}
	
	echo"<br /><br />";
	
	$arrayPessoas2 = array("Pessoa10","Pessoa2","Pessoa11","Pessoa12","Pessoa5","Pessoa13","Pessoa14","Pessoa15","Pessoa8","Pessoa16","Pessoa9");
	
	$i = 0;
	foreach($arrayPessoas2 as $valor)
	{
		if($i % 2)
		{
			if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira
			{
				$arrayQuartaFeira2[] = $valor;
			}
			else
			{
				$arrayQuintaFeira2[] = $valor;
			}
		}
		else
		{
			if(!in_array($valor, $arrayQuintaFeira)) // verifica se o nome atual existe no array de quinta-feira
			{
				$arrayQuintaFeira2[] = $valor;
			}
			else
			{
				$arrayQuartaFeira2[] = $valor;
			}
		}
		$i++;
	}
	
	foreach($arrayQuartaFeira2 as $nomeAluno)
	{
		echo $nomeAluno."<br />";
	}
	echo"<br /><br />";
	foreach($arrayQuintaFeira2 as $nomeAluno)
	{
		echo $nomeAluno."<br />";
	}
	
	?>

Quanto mais coisas se faz pior vai ficando. O ideal é que você rodasse o arquivo em um determinado momento para que ele colocasse cada pessoa em um determinado dia e esse resultado fosse colocado em alguma coluna do seu banco de dados e depois disso seria mais fácil tratar.

Mas, para questão de estudos mesmo estou passando alguns exemplos de como trabalhar com array porque você disse que é iniciante então é bom ver as possibilidades que se tem trabalhando com array pois em algum momento ele pode ser util.

Até qualquer hora...
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#11 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 02/07/2009, 08:46

Respondendo a sua pergunta:O sistema pode até decidir, mas você concorda comigo que isso tem que ficar armazenado em algum lugar?
Eu tb concordo q deve ser armazenado em algum lugar.

Mais dae esse armazenamento não teria q ser feita no cadastro dos alunos, tipo marcar o dia quarta ou quinta para o curso escolhido?

Eu vou implementar essa sua dica e qq te falo.

Valew pela ajuda


Olá

Eu inseri o código que vc me passou, porém esta dando o seguinte erro:Warning: Invalid argument supplied for foreach() in exibe.php on line 234


Cursos _linenums:0'>while($linha = mysql_fetch_array($rs))    	{        	$arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array            $nome_bd = $linha['nome'];            $nome_curso = $linha['cursos'];			    	}    	$quantidadePessoas = count($arrayPessoas); // Conta a quantidade de nomes existentes dentro do array "$arrayPessoas"    	$divisaoPessoas = $quantidadePessoas/2; // Divide a quantidade existente no array por 2    	$quartaFeira = ceil($divisaoPessoas); // Arredonda o resultado da divisão para cima    	$pessoasRestantes = $quantidadePessoas - $quartaFeira; // Não está sendo usado em lugar nenhum. Coloquei apenas por colocar			?>        <strong class='bbc'>Cursos:   - Quarta-Feira</strong>                                    // FOR quarta-feira					for($i=0; $i<$quartaFeira; $i++)					{						$arrayQuartaFeira[] = $arrayPessoas[$i];						//echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").'';						echo $arrayPessoas[$i].'';											}					?> 					                 		<strong class='bbc'>Cursos:   - Quinta-Feira</strong>				                                                       // FOR quinta-feira					for($i=$quartaFeira; $i<$quantidadePessoas; $i++)					{    											$arrayQuintaFeira[] = $arrayPessoas[$i];						//echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").'';						echo $arrayPessoas[$i].'';					}					?>					                                                									$arrayPessoas2[] = $linha['nome'];										$i = 0;    				foreach($arrayPessoas2 as $valor)    				{        				if($i % 2)        				{            				if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira            				{                				$arrayQuartaFeira2[] = $valor;            				}            				else            				{                				$arrayQuintaFeira2[] = $valor;            				}        				}        				else        				{            				if(!in_array($valor, $arrayQuintaFeira)) // verifica se o nome atual existe no array de quinta-feira            				{                				$arrayQuintaFeira2[] = $valor;            				}            			else            			{                			$arrayQuartaFeira2[] = $valor;            			}        				}        				$i++;    				}        				<strong class='bbc'>// linha 234 // foreach($arrayQuartaFeira2 as $nomeAluno)</strong>    				{        				echo $nomeAluno."";    				}    				echo"";    				foreach($arrayQuintaFeira2 as $nomeAluno)    				{        				echo $nomeAluno."";    				}					?>                                                                                						              // }//fim do while			           }//fim do if    mysql_close($con);?>

Estou tentando corrigir, porém não estou conseguindo. Esta certo oq fiz ae?

#12 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 02/07/2009, 09:50

Tudo bem, mas onde está sendo carregado ai as pessoas do segundo curso?

Para formar as turmas do segundo curso você tem que montar um array como na primeira.

Até mais...
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#13 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 02/07/2009, 11:26

Acho que não me expressei bem da ultima vez que escrevi meu problema:

Bom o sistema funciona assim:



1ª - Formulário de cadastro dos alunos, onde tenho dois selects com cursos, a pessoa escolhe um curso como 1ªopção e no outro select um curso de 2ª opção, daí se cadastra. Ok

2º - Formulário de consulta: tenho um select com todos os cursos, daí por exemplo seleciono o curso PHP....ele exibe todos os nomes das pessoas cadastradas nesse curso dividindo entre 4ª e 5ª feira, depois volto ao select e seleciono um outro curso por exemplo curso MySQL.....faz a mesma coisa exibe todos os nomes das pessoas cadastradas nesse curso dividindo entre 4ª e 5ª feira, porém pode ter pessoas que se cadastraram no curso PHP e MySQL e cair no mesmo dia para fazer os dois cursos.....



Vc entendeu oq disse?



Tudo bem, mas onde está sendo carregado ai as pessoas do segundo curso?

Para formar as turmas do segundo curso você tem que montar um array como na primeira.

Até mais...



Oiee....esta em negrito...esta errado oq fiz, da forma q fiz?
$arrayPessoas2[] = $linha['nome'];

$i = 0;
foreach($arrayPessoas2 as $valor)
{
if($i % 2)
{
if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira
{
$arrayQuartaFeira2[] = $valor;
}
else
{
$arrayQuintaFeira2[] = $valor;
}

......continua ....não colei td

_linenums:0'><strong class='bbc'>$arrayPessoas2[] = $linha['nome'];</strong>$i = 0;foreach($arrayPessoas2 as $valor){if($i % 2){if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira{$arrayQuartaFeira2[] = $valor;}else{$arrayQuintaFeira2[] = $valor;}......continua ....não colei td


#14 gennf

gennf

    A Solução está ai...

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG

Posted 02/07/2009, 11:44

Sim, está porque agora vc tem que fazer uma consulta no banco de acordo com a sua segunda opção de curso.

Porque?

No primeiro While você selecionou todas as pessoas que fariam o curso 1 agora você precisa de um segundo while que pegue todas as pessoas que queiram fazer o curso 2 e essas pessoas que farão o curso 2 deverão ser guardadas naquele array que você destacou colocando em negrito.

Exemplo:
$result = mysql_query("SELECT * FROM tabela WHERE opcaoCurso1 = 'curso'");

WHILE($linha = mysql_fetch_array($result))
{
	$arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array
	$nome_bd = $linha['nome'];
	$nome_curso = $linha['cursos'];
}

$result = mysql_query("SELECT * FROM tabela WHERE opcaoCurso2 = 'curso'");

WHILE($linha = mysql_fetch_array($result))
{
	$arrayPessoas2[] = $linha['nome']; // Coloca os nomes dentro de um array
	$nome_bd = $linha['nome'];
	$nome_curso = $linha['cursos'];
}

Ou então você seleciona todo mundo e coloca um if dentro do while assim:

$result = mysql_query("SELECT * FROM tabela");

WHILE($linha = mysql_fetch_array($result))
{
	if($linha['opcaoCurso1'] == 1)
	{
		$arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array
	}

	if($linha['opcaoCurso2'] == 2)
	{
		$arrayPessoas2[] = $linha['nome']; // Coloca os nomes dentro de um array
	}
	$nome_bd = $linha['nome'];
	$nome_curso = $linha['cursos'];
}

Eu não sei bem como é a sua estrutura ai, por isso eu passo apenas exemplos, você é que tem que adaptar ai os exemplos de acordo com as suas necessidades.

Até mais...
Portal BatePapoBrasil
URL: www.batepapobrasil.com

----------------------------
Site desenvolvidos
URL:
VitrineABC :: Alugue Litoral :: OrtodontiaLago

#15 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 02/07/2009, 16:46

Oie

Acho q estou conseguindo, esta dando certo.....

Quando seleciono o curso de 1ª opção ele exibe correto....porém dá o seguinte erro que segue abaixo e quando seleciono o curso de 2ª opção ele duplica o resultado.

Veja meu código como fiz, esta errado?

Warning: Invalid argument supplied for foreach() in exibe.php on line 239

Warning: Invalid argument supplied for foreach() in exibe.php on line 266

Warning: Invalid argument supplied for foreach() in exibe.php on line 271




foreach($arrayPessoas2 as $valor)  [u]// linha 239[/u][u] do erro[/u]
{
if($i % 2)
{
if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira
{
$arrayQuartaFeira2[] = $valor;
}
else
{
$arrayQuintaFeira2[] = $valor;
}
}
else
{
if(!in_array($valor, $arrayQuintaFeira)) // verifica se o nome atual existe no array de quinta-feira
{
$arrayQuintaFeira2[] = $valor;
}
else
{
$arrayQuartaFeira2[] = $valor;
}
}
$i++;
}

foreach($arrayQuartaFeira2 as $nomeAluno) [u]//linha 266 do erro[/u]
{
echo $nomeAluno."
";
}
echo"

";
foreach($arrayQuintaFeira2 as $nomeAluno) //linha 271 do erro
{
echo htmlentities (($nomeAluno), ENT_QUOTES, "UTF-8")."
";
}

?>


}//fim do if
mysql_close($con);
?>

_linenums:0'>include "include/conexao.php"; $cursos = $_POST['cursos']; if(!empty($cursos)) { $sql = "select nome, nome_curso, curso1, count(*) from cursos inner join cursos_selecionadas on cursos.idcursos=cursos_selecionadas.curso1 where curso1='$cursos' or oficina2='$cursos' group by nome, nome_curso, curso1"; $rs = mysql_query($sql,$con) or die (mysql_error()); ?> while($linha = mysql_fetch_array($rs)) { $arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array $nome_bd = $linha['nome']; $nome_oficina = $linha['oficinas']; //echo $nome_oficina; } $quantidadePessoas = count($arrayPessoas); // Conta a quantidade de nomes existentes dentro do array "$arrayPessoas" $divisaoPessoas = $quantidadePessoas/2; // Divide a quantidade existente no array por 2 $quartaFeira = ceil($divisaoPessoas); // Arredonda o resultado da divisão para cima $pessoasRestantes = $quantidadePessoas - $quartaFeira; // Não está sendo usado em lugar nenhum. Coloquei apenas por colocar ?> // FOR quarta-feira for($i = 0; $i < $quartaFeira; $i++) { $arrayQuartaFeira[] = $arrayPessoas[$i]; // Guarda os nomes deste dia em um array para comparação no próximo array deste dia //echo $arrayPessoas[$i].""; // imprime os nomes na tela echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").''; } echo"<br />" // FOR quinta-feira for($i = $quartaFeira; $i < $quantidadePessoas; $i++) { $arrayQuintaFeira[] = $arrayPessoas[$i]; // Guarda os nomes deste dia em um array para comparação no próximo array deste dia //echo $arrayPessoas[$i].""; // imprime os nomes na tela echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").''; } echo"<br>"; $result = mysql_query("SELECT * FROM oficinas_selecionadas WHERE oficina2 = '$oficinas'");while($linha = mysql_fetch_array($result)){ $arrayPessoas2[] = $linha['nome']; // Coloca os nomes dentro de um array $nome_bd = $linha['nome']; } $i = 0; <strong class='bbc'>foreach($arrayPessoas2 as $valor)</strong> <strong class='bbc'> [u]// linha 239[/u]</strong>[u] <strong class='bbc'>do erro</strong>[/u] { if($i % 2) { if(!in_array($valor, $arrayQuartaFeira)) // verifica se o nome atual existe no array de quarta-feira { $arrayQuartaFeira2[] = $valor; } else { $arrayQuintaFeira2[] = $valor; } } else { if(!in_array($valor, $arrayQuintaFeira)) // verifica se o nome atual existe no array de quinta-feira { $arrayQuintaFeira2[] = $valor; } else { $arrayQuartaFeira2[] = $valor; } } $i++; } <strong class='bbc'>foreach($arrayQuartaFeira2 as $nomeAluno)</strong> [u]<strong class='bbc'>//linha 266 do erro</strong>[/u] { echo $nomeAluno.""; } echo""; <strong class='bbc'>foreach($arrayQuintaFeira2 as $nomeAluno)</strong> <strong class='bbc'>//linha 271 do erro</strong> { echo htmlentities (($nomeAluno), ENT_QUOTES, "UTF-8").""; } ?> }//fim do if mysql_close($con);?>

oie

Eu consegui resolver os erros que tinha postado:

Warning: Invalid argument supplied for foreach() in exibe.php on line 239

Warning: Invalid argument supplied for foreach() in exibe.php on line 266

Warning: Invalid argument supplied for foreach() in exibe.php on line 271

Mais ainda continuo com o problema de duplicação na exibição.....como disse no Post anterior......vc pode me dar um help, please.

Attached Files






1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq