Ir para conteúdo
Fórum Script Brasil
  • 0

Código não esta retornando todos os valores


Gabriel Marini

Pergunta

Boa tarde galera, estou desenvolvendo um projeto e nele tenho que fazer sistema de categorias com sub categorias, com até 2 níveis.

hoje eu tenho esse código: 

try {
		$query = "SELECT * FROM tipos_ocorrencias";
		$cont = 1;
		$result = $conn->query($query);
        while($all_user = $result->fetch(PDO::FETCH_ASSOC)){
			$id = $all_user['id_tipo'];
			$nome = $all_user['title_tipo'];
			$status = $all_user['status_tipo'];
			$paiId = $all_user['pai_tipo'];
			$PaiNome = $all_user['pai_nome_tipo'];
			$ordem = $all_user['ordem_tipo'];
				if($ordem == 3){
					$query = "SELECT title_tipo FROM tipos_ocorrencias WHERE id_tipo=(SELECT pai_tipo FROM tipos_ocorrencias WHERE id_tipo={$paiId}) ";
					$result = $conn->prepare($query);
					$result->execute();
					$all_user = $result->fetch();
					$nivel1 = $all_user['title_tipo'];
					$nome = $nivel1." > ".$PaiNome." > ".$nome;
				}else{
					$nome = ($paiId != ) ? $PaiNome." > ".$nome : $nome ;
				}

				if ($status == 1){
					$acao = "Desativar <span class='glyphicon glyphicon-remove-sign'>";
					$status = "Ativado";
				}else{
					$acao = "Ativar <span class='glyphicon glyphicon-ok-sign'>";
					$status = "Desativado";
				}
			print("
				<tr>
					<td>".$cont."</td>
					<td>".$nome."</td>
					<td>".$status."</td>
					<td>
					<a href='views?view=tiposocorrencias&&deletar=".$id."'>Excluir <span class='glyphicon glyphicon-trash'></span></a>
					&nbsp;&nbsp;&nbsp;&nbsp;
					<a href='views?view=tiposocorrencias&&status=".$id."'>".$acao."</a>
					</td>
				</tr>
			");
			$cont++;
		}
	}catch(PDOException $erro){
		var_dump($erro);
	}

Ele está me resultando apenas um dos sub-menus que tenho cadastrado

result.png

 

No banco eu tenho mais um sub menu cadastrado dentro do menu Interfone só que o código só printa 1 deles, não importa quantos eu cadastro ele só aparece um de cada.

table.png

Por favor me ajudem.

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
2 horas atrás, Beraldo disse:

Vlw amigo, consegui aqui, vou deixar o código final pra quem precisar.

try {
		$query = "SELECT * FROM tipos_ocorrencias";
		$cont = 1;
		$result = $conn->query($query);
        while($all_user = $result->fetch(PDO::FETCH_ASSOC)){
			$cats[$cont]['id'] = $all_user['id_tipo'];
			$cats[$cont]['title'] = $all_user['title_tipo'];
			$cats[$cont]['status'] = $all_user['status_tipo'];
			$cats[$cont]['pai'] = $all_user['pai_tipo'];
			$cats[$cont]['pai_nome'] = $all_user['pai_nome_tipo'];
			$cats[$cont]['ordem'] = $all_user['ordem_tipo'];
			$cont++;
		}
	}catch(PDOException $erro){
		var_dump($erro);
	}
		$num = count($cats);
		for ($i=1; $i <= $num; $i++) {
			if ($cats[$i]['status'] == 1){
				$acao = "Desativar <span class='glyphicon glyphicon-remove-sign'>";
				$cats[$i]['status'] = "Ativado";
			}else{
				$acao = "Ativar <span class='glyphicon glyphicon-ok-sign'>";
				$cats[$i]['status'] = "Desativado";
			}
			if($cats[$i]['pai'] != ){
				//$cats[$i]['title'] = $cats[$i]['pai_nome']." > ".$cats[$i]['title'];
				for ($s=1; $s < $num; $s++){
					if($cats[$s]['id'] == $cats[$i]['pai']){
						if($cats[$i]['ordem'] == 3){
							$cats[$i]['title'] = $cats[$s]['pai_nome']." > ".$cats[$i]['pai_nome']." > ".$cats[$i]['title'];
						}else{
							$cats[$i]['title'] = $cats[$i]['pai_nome']." > ".$cats[$i]['title'];
						}
					}
				}
			}
			print("
				<tr>
					<td>".$i."</td>
					<td>".$cats[$i]['title']."</td>
					<td>".$cats[$i]['status']."</td>
					<td>
					<a href='views?view=tiposocorrencias&&deletar=".$cats[$i]['id']."'>Excluir <span class='glyphicon glyphicon-trash'></span></a>
					&nbsp;&nbsp;&nbsp;&nbsp;
					<a href='views?view=tiposocorrencias&&status=".$cats[$i]['id']."'>".$acao."</a>
					</td>
				</tr>
			");
		}

result.png

esse é  o resultado final. Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...