Jump to content


Photo

Consulta Sql Php


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

#1 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 10:55

Olá pessoal, please

Estou querendo fazer o seguinte.......a consulta SQL esta fazendo oq eu quero.......exibe todos os alunos inscritos em determinado curso......agora quero dividir esses dados. Por exemplo, tenho 20 alunos inscritos em determinado curso, quero exibir a metade, ou seja, 10 alunos para cada lado. Ele deve exibir 10 alunos para 2ª feira e os outros 10 para 3ª feira. Como faço isso? Estou tentando aqui mais não consigo....



Minha consulta para exibição dos dados esta abaixo:




Turma Segunda-Feira



while($linha = mysql_fetch_array($rs))
{
$nome_bd = $linha['nome'];
?>







}//fim do while
}//fim do if
mysql_close($con);
?>
_linenums:0'>include "include/conexao.php"; $cursos = $_POST['cursos']; if(!empty($cursos)) { $sql = "select nome, email, cursos, curso1, count(*) from cursos inner join cursos_selecionados on oficinas.idcursos=cursos_selecionados.oficina1 where idcursos='$cursos' group by nome, email, cursos, curso1";?> <strong class='bbc'>Turma Segunda-Feira</strong> while($linha = mysql_fetch_array($rs)) { $nome_bd = $linha['nome']; ?> }//fim do while }//fim do if mysql_close($con);?>



o resto do meu código

<tr>                  <td><?=$nome_bd?></td>                </tr>                                                                <?php                }//fim do while        }//fim do if    mysql_close($con);?>


#2 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 24/06/2009, 11:56

isto deve resolver...


[codebox]
<table>
<tr>
<td>
<?php
$qtd=10;
$i=0
while($linha = mysql_fetch_array($rs))
{
if($i==$qtd){ //se $i for igual a 10, vai fechar a coluna atual e abrir outra
echo '</td><td>';
$i=0;
}

echo $linha['nome'].'<br />';

$i++;
}
?>
</td>
</tr>
</table>
[/codebox]
--
Samuel Machado
www.samuelmachado.com

#3 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 13:10

isto deve resolver...


<table><tr><td><?php$qtd=10;$i=0while($linha = mysql_fetch_array($rs)){  if($i==$qtd){ //se $i for igual a 10, vai fechar a coluna atual e abrir outra    echo '</td><td>';    $i=0;  }  echo $linha['nome'].'<br />';  $i++;}?></td></tr></table>



Oie

Então eu fiz oq vc indicou acima...deu certo porém esse valor que passei pra vc foi apenas um exemplo, no caso pode acontecer de ter em outros cursos 19 pessoas inscritas e como vou fazer para saber isso? No caso vc criou uma variavel $qtd=10; com o valor fixo.....como devo fazer?

#4 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 24/06/2009, 13:12

você quer sempre que seja a metade do total?
se sim, faça assim:


[codebox]
$qtd = round(mysql_num_rows($rs) / 2);
[/codebox]

Edição feita por: _Samuca_, 24/06/2009, 13:13.

--
Samuel Machado
www.samuelmachado.com

#5 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 13:23

você quer sempre que seja a metade do total?
se sim, faça assim:


$qtd = round(mysql_num_rows($rs) / 2);


Não deu certo....exibe a mesma quantidade....fiz assim veja:

while($linha = mysql_fetch_array($rs))					{																		$nome_bd = $linha['nome'];																		$qtd = round(mysql_num_rows($rs) / 2);												echo'<tr></td><td></tr>';  						echo $linha['nome'].'<br />';					}


#6 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 24/06/2009, 13:28

nao.

tem que ficar fora do while.

segue meu primeiro codigo implentando essa nova parte:
[codebox]
<table>
<tr>
<td>
<?php
$qtd=round(mysql_num_rows($rs) / 2);
$i=0
while($linha = mysql_fetch_array($rs))
{
if($i==$qtd){ //se $i for igual a 10, vai fechar a coluna atual e abrir outra
echo '</td><td>';
$i=0;
}

echo $linha['nome'].'<br />';

$i++;
}
?>
</td>
</tr>
[/codebox]
--
Samuel Machado
www.samuelmachado.com

#7 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 13:44

nao.

tem que ficar fora do while.

segue meu primeiro codigo implentando essa nova parte:

<table><tr><td><?php$qtd=round(mysql_num_rows($rs) / 2);$i=0while($linha = mysql_fetch_array($rs)){  if($i==$qtd){ //se $i for igual a 10, vai fechar a coluna atual e abrir outra    echo '</td><td>';    $i=0;  }  echo $linha['nome'].'<br />';  $i++;}?></td></tr>


ele continua exibindo tudo.....tenho 6 pessoas cadastradas.....e esta exibindo o nome das 6 pessoas no lugar de 3 nomes e depois abaixo + 3 nomes

Fiz como vc disse veja:

include "include/conexao.php";        					$cursos = $_POST['cursos'];							if(!empty($cursos))						{							$sql = "select nome, email, cursos, curso1, count( *) from cursos inner join cursos_selecionados on cursos.idcursos=cursos_selecionados.curso1 where idcursos='$cursos' group by nome, email, cursos, curso1";							        			?>                                   Turma Quarta-Feira                                   $qtd=round(mysql_num_rows($rs) / 2);			$i=0;		while($linha = mysql_fetch_array($rs))		{									$nome_bd = $linha['nome'];					if($i==$qtd)			{ 								    			echo '';    			$i=0;  			}						  		echo $linha['nome'].'';}


#8 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 24/06/2009, 13:44

bom, a principio faltou só um </table> ali no final, pra fechar a tabela.
de restante, é pra estar correto.

apresentando 3 em uma coluna, e na coluna do lado, mais 3.
da uma revisada aí...

se não resolver, posta o seu código desde a consulta no banco pra eu dar uma olhada
--
Samuel Machado
www.samuelmachado.com

#9 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 14:03

bom, a principio faltou só um </table> ali no final, pra fechar a tabela.
de restante, é pra estar correto.

apresentando 3 em uma coluna, e na coluna do lado, mais 3.
da uma revisada aí...

se não resolver, posta o seu código desde a consulta no banco pra eu dar uma olhada


Bom eu dei uma revisada......porém onde eu peço para ele exibir o nome das pessoas em ordem alfabética ele só exibe o ultimo nome. E acima ele exibe todos os nomes de inscritos. O meu código completo segue abaixo:



#10 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 24/06/2009, 14:13

me diz uma coisa, você quer exibir os nomes em linhas ou colunas separadas?
--
Samuel Machado
www.samuelmachado.com

#11 Eu_Nana

Eu_Nana

    12 Horas

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

Posted 24/06/2009, 15:47

me diz uma coisa, você quer exibir os nomes em linhas ou colunas separadas?


pode ser em colunas separadas.....
mais queria fazer assim tenho uma tabela com 1 coluna...especifico em um determinado local da tabela um titulo por exemplo: Inscritos Segunda-Feira....e abaixo os nomes....terminando os inscritos de 2ª Feira especifico um novo titulo: Inscritos Terça-Feira e os nomes abaixo.

Tipo como vc viu no meu código......entendeu?

Mais pode ser em coluna separadas tb...

Olá.....então eu consegui resolver...fiz o seguinte...segue abaixo:

//$qtd=round(mysql_num_rows($rs)/2);					$qtd=round(mysql_num_rows($rs)).'';					$calcula=$qtd/2;					$i=0;										while($linha = mysql_fetch_array($rs))					{																		$nome_bd = $linha['nome'];																								if($i==$calcula)						{ 								    						echo '';    						$i=0;  						}						  						echo $linha['nome'].'';  						$i++;					}								?>                        }//fim do if    mysql_close($con);?>

Esta exibindo certo só que veja como ele esta exibindo.....estou tentando corrigir mais não consigo......alguém pode me ajudar....veja a imagem de exibição......

Attached Files



#12 JeffMalm

JeffMalm

    Super Veterano

  • Usuários
  • 12254 posts
  • Sexo:Feminino
  • Localidade:Mount Carey

Posted 13/02/2023, 13:15

Saudi leaders have a conservative Sunni identity, and Iranian leaders have a Shiite identity cost of propecia
That s not a resolution or unresolution it s just what I know I need to focus on next in my life zithromax medicine However, the risk in some Asian countries is estimated to be about 10 times higher
The bronchodilators commonly used for bronchiectasis treatment include short acting bronchodilators, such as albuterol and levalbuterol, and long acting bronchodilators, such as formoterol, tiotropium and salmeterol buy stromectol 3mg Kaplan Meier survival curves have been plotted to allow a visual comparison of event free survival curves within risk groups for the models being compared
nolvadex 1988 Nov; 29 5 509- 16
clomid 50 mg Antibiotics work in two primary ways




0 user(s) are reading this topic

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

IPB Skin By Virteq