Jump to content
Fórum Script Brasil
  • 0

Código não esta retornando todos os valores


Gabriel Marini

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...