Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 03/31/18 in all areas

  1. 1 point
    Era realmente isso. Funcionou bem aqui, valeu!
  2. 1 point
    Para que variáveis globais sejam acessíveis localmente em métodos ou funções você deve utilizar a palavra chave global(http://php.net/manual/en/language.variables.scope.php) para introduzi-las no escopo. public function adicionaCliente(Usuario $u){ global $conn; //Indica que você quer acessar a váriavel global $conn neste escopo $sql = sprintf("insert into tb_usuario (nome, email, senha, id_grupo_usuario) values ('%s','%s','%s',3)", $u->nome, $u->email, $u->senha); if(mysqli_query($conn, $sql)){ Porem utilizar variáveis globais não é recomendável, nessa situação você poderia passar a conexão no construtor. class Usuario{ //... private $conn; //Recebe a conexão no construtor public function __construct($conn){ $this->conn = $conn; } //... public function adicionaCliente(Usuario $u){ //... if(mysqli_query($this->conn, $sql)){
  3. 1 point
    A parte do key eu sabia agora current e novo pra mim, ajudou muito, problema resolvido....
  4. 1 point
    Isso está ocorrendo pois o conteúdo está sendo ordenado como texto, provavelmente o campo no banco é do tipo VARCHAR(ou outro que armazene texto). Você pode corrigir o problema alterando o tipo do banco para INTEGER ou DECIMAL dependendo do tipo de valor que você armazena. Uma alternativa menos eficiente seria converter o valor do campo para um tipo numérico na ordenação. SELECT * FROM ranking ORDER BY CAST(`pontuacao` AS UNSIGNED) DESC Substitua UNSIGNED por SIGNED caso o campo possa possuir valores negativos ou DECIMAL caso o campo possuir casas demais.
  5. 1 point
    Se eu entendi o que você deseja é pegar a chave e índice do item presente em cada subarray do array principal, para isso você poderia fazer o seguinte. <?php $array = [ 0 => [ 5 => 5 ], 1 => [ 7 => 7 ], 2 => [ 6 => 9 ], 3 => [ 2 => 2 ], 4 => [ 9 => 10 ], ]; foreach($array as $item) { //Atende ao objetivo, porem a função each foi descontinuada no PHP 7.2. //list($key, $value) = each($item); //Alternativamente você pode fazer. $key = key($item); $value = current($item); echo "$key => $value\n"; } Você pode testar o código acima em https://3v4l.org/5R04k.
  6. 1 point
    Creio eu que o erro seja o seguinte: Na linha "al.curso.codigo" você está acessando o objeto Aluno, que você chamou de al, e dentro dele você tenta acessar o Curso do Aluno(al), porém, você não cria o Curso do Aluno(al) e mesmo sem criar você tenta acessa-lo... E isso está causando o NullPointerException. Para consertar, antes de você tentar acessar o "al.curso.codigo" crie o objeto Curso: al.curso = new Curso(); Caso não tenha entendido, aqui vai a sua classe Main com o erro consertado(eu testei): import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner input; input = new Scanner(System.in); int opc = 1; Aluno[] cadastro = new Aluno[10]; Curso[] c = new Curso[10]; int count = 0; int cont = 0; while (opc != 0 ) { System.out.println("1- Cadastrar Aluno: "); System.out.println("2- Imprimir Cadastros: "); System.out.println("3- Cadastrar Curso: "); System.out.println("4- Imprimir Cursos: "); System.out.println("Outra tecla - Sair"); opc = input.nextInt(); if(opc == 1) { if(c == null || c.length == 0){ System.out.println("Deves antes cadastrar um curso!"); return; } Aluno al = new Aluno(); al.curso = new Curso(); System.out.println("Nome: "); input.nextLine(); al.nome = input.nextLine(); System.out.println("CPF: "); al.cpf = input.nextLine(); System.out.println("Código do Curso: "); al.curso.codigo = input.nextLine(); cadastro[count] = al; count++; } else if (opc == 2){ for(int i = 0; i<count;i++) { System.out.println(cadastro[i].nome); System.out.println(cadastro[i].cpf); System.out.println(cadastro[i].curso.codigo); System.out.println(cadastro[i].curso.nome); System.out.println(cadastro[i].curso.turno); } } else if (opc == 3) { Curso cs = new Curso(); System.out.println("Nome do curso: "); input.nextLine(); cs.nome = input.nextLine(); System.out.println("Código: "); cs.codigo = input.nextLine(); System.out.println("Turno: "); cs.turno = input.nextLine(); c[cont] = cs; cont++; } else if(opc == 4) { for(int i = 0; i<cont;i++) { System.out.println(c[i].nome); System.out.println(c[i].codigo); System.out.println(c[i].turno); } } else { opc = 0; } } } }
This leaderboard is set to Sao Paulo/GMT-03:00
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.