Jump to content

Recommended Posts

Boa tarde. Como faço para usar dois foreach para verificar se os nomes são iguais e assim deixá-los com selecionados.

Segue os retornos das variáveis:

$risco_e =

    Array
    (
        [0] => Postura Inadequada
        [1] => Postura Inadequada por tempo Indetermidado
    )




$risco_ergonomico = 
    Array
    (
        [0] => stdClass Object
            (
                [idRiscoErgonomico] =>; 5
                [riscoErgonomico_Nome] =>; Esforço Fisico
            )

        [1] => stdClass Object
            (
                [idRiscoErgonomico] =>; 1
                [riscoErgonomico_Nome] =>; Não Exposto
            )

        [2] => stdClass Object
            (
                [idRiscoErgonomico] =>; 2
                [riscoErgonomico_Nome] =>; Odontologos
            )

        [3] => stdClass Object
            (
                [idRiscoErgonomico] =>; 3
                [riscoErgonomico_Nome] =>; Posições Encomodas
            )

        [4] => stdClass Object
            (
                [idRiscoErgonomico] =>; 6
                [riscoErgonomico_Nome] =>; Postura Inadequada
            )

        [5] => stdClass Object
            (
                [idRiscoErgonomico] =>; 4
                [riscoErgonomico_Nome] =>; Postura Inadequada por tempo Indetermidado
            )

    )

Tentei assim e meio que deu certo, os valores igual ficam selecionados, porém todos são duplicados, como mostra na foto a seguir:

<select>
  <?php

    str = trim($result->setor_RiscoErgonomico, ',');
    $risco_e = explode(',', $str);

    foreach ($risco_ergonomico as $riscoErgonomico)
    { 
       foreach ($risco_e as $re)
       {  ?>

          <option <?=$re == $riscoErgonomico->riscoErgonomico_Nome ? "selected" : ""?>><?=$riscoErgonomico->riscoErgonomico_Nome?></option>

       <?php }                        
     } 

  ?>
</select>

Foto de anexo de teste do código

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By wandoh
      Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
       
      session_start(); //inicializa variaveis $id = "accountid"; $name = ""; $email = ""; $errors = array(); //conexão db $db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database"); //Registrar usuário if (isset($_POST['reg_user'])) { // receives all input values from the form $name = mysqli_real_escape_string($db, $_POST['name']); $email = mysqli_real_escape_string($db, $_POST['email']); $password = mysqli_real_escape_string($db, $_POST['password']); $password2 = mysqli_real_escape_string($db, $_POST['password2']); //form validação: ensure that the form is correctly filled ... // by adding (array_push)) corresponding error unto $errors array if(empty($name)) { array_push($errors, " "); } if(empty($email)) { array_push($errors, " "); } if(empty($pwd)) { array_push($errors, " "); } if($pwd != $pw2) { array_push($errors, " "); } // To protect MySQL injection (more detail about MySQL injection) $name = stripslashes($name); $password = stripslashes($password); // first check the databese to make sure // verifica na db se a usuário existente com o mesmo nome de usuário e email $user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1"; $result = mysqli_query($db, $user_check_query); $user = mysqli_fetch_assoc($result); if($user) { // if user existente if ($user['name'] === $name) { array_push($errors, " "); } if ($user['email'] === $email) { array_push($errors, " "); } } // Registra o usuário se não haver erros if (count($errors) == 0 ) { $pwd = md5($pwd); print $pwd; $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')"; mysqli_query($db, $query); $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); } } //LOGIN USER if (isset($_POST['login_user'])) { $name = mysqli_real_escape_string($db, $_POST['name']); $password = mysqli_real_escape_string($db, $_POST['password']); if (empty($name)) { array_push($errors, " "); } if (empty($password)) { array_push($errors, " "); } if (count($errors) == 0 ) { $pwd = md5($pwd); $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'"; $results = mysqli_query($db, $query); if (mysqli_num_rows($results)) { $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); }else{ array_push($errors, " "); } } } Com a variável abaixo, é exibido o nome de quem esta logado.
      $_SESSION["name"] Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
      $_SESSION["email"] Notice: Undefined index: email in Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
       Sou novo em PHP!
      Preciso puxar todos os dados cadastrado do usuário.
    • By Mucio Willamys
      olá, gostaria da ajuda de vcs :
      este código traz as informações do banco de dados e as coloca dentro de um select html
      é parte de um projeto de um sistema de uma clínica médica, onde ao cadastrar os médicos posso escolher a especialidade do mesmo.
      <select name="especialidade" required="">                 <option value="" >--Escolha uma especialidade--</option>          <?php              $result_especialidade = "select * from especialidade";              $result_especialidade = mysqli_query($bd, $result_especialidade);              while ($row_especialidade = mysqli_fetch_assoc($result_especialidade)){ ?>                    <option value="<?php echo $row_especialidade['id']; ?>"><?php echo  $row_especialidade['nome']; ?> </option> public function editar($id){ include "Bd.class.php"; $nome = $this->nome; $cpf = $this->cpf; $crm = $this->crm; $especialidade = $this->especialidade; $query = "update medico set nome = '$nome', cpf = '$cpf', crm = '$crm', especialidade_id = '$especialidade' where id = $id"; $status = $bd->query($query); return $status; } Acima ^ está a função editar...
       
       
       
      abaixo está o form com as informações do médico.
      <form method="POST" action="../controller/Controller-medico.php?op=e"> <input type="hidden" name="id" size="5" value="<?php echo $id; ?>" > <div class="campo"> <label for="nome">Nome: </label> <input type="nome" name="nome" size="30" value="<?php echo $m->getNome() ?>"> </div> <div class="campo"> <label for="cpf">CPF: </label> <input type="text" name="cpf" size="30" value="<?php echo $m->getCpf() ?>"> </div> <div class="campo"> <label for="rg">CRM: </label> <input type="text" name="crm" size="30" value="<?php echo $m->getCrm() ?>"> </div> <div class="campo"> <label for="especialidade"> Especialidade: </label> </div> <div class="campo"> <input type="submit" value="Atualizar"> </div> </form> Gostaria de saber como faço pra setar um input ou um select no caso para a alteração do dado(especialidade)?
    • By Marcosvn
      Estou trabalhando num projeto que será semelhante a um fórum de discussão. No entanto, além de criar o tópico, o usuário deverá responder a um questionário com 40 perguntas. Essas perguntas serão armazenadas e exibidas posteriormente em forma de gráficos com o resultado estatístico de todos os usuários que responderam o questionário.
       
      Minha pergunta é: mysql seria uma boa escolha para esse projeto?
       
      Com o tempo, conforme a quantidade de respostas aumenta, não ficaria muito lento o calculo e exibição dos gráficos?
       
      Qual o melhor caminho a seguir para eu não ter problemas de velocidade no futuro?
       
      abraço
       
       
    • By Jefferson andre
      Saudações mestres,
       
      Preciso de ajuda em um pequeno programa que faz a contagem de acessos ao site, ele abre o banco de dados corretamente e a partir dai ja da problemas retornando a mensagem:
      Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in C:\xampp\htdocs\xcompbrasil\contador.php on line 10
      Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\xcompbrasil\contador.php on line 24
       
      A tabela contador possui o campo codigo INT 11 sem auto inclemento e sem indice, o conteudo foi colocado manual sendo o numero 213
       
      segue  o programa de conexao.php
      <?php ini_set('error_reporting', E_ALL); ini_set('log_errors' , TRUE); ini_set('html_errors' , TRUE); ini_set('display_errors' , TRUE); // production: FALSE, development: TRUE $host_local = "localhost"; $db_local = "baseprincipal"; $user_local = "root"; $pass_local = ""; $arquivo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); try { } catch (PDOException $e) { echo "Error : " . $e->getMessage() . "<br/>"; die(); } ?> Segue o programa contador.php
      <?php // fazendo uma conexão com o banco de dados include_once 'conexao.php'; $arquivo->beginTransaction(); $consulta = $arquivo->query("SELECT * FROM contador"); $linha=mysqli_fetch_array($consulta); // igualar a array a uma variavel $cod = $linha["codigo"]+1; echo $cod; $arquivo->commit(); // lista a variavel echo "<font face='Arial'><span class='style1'>$cod</span></font>"; $sql = "UPDATE contador SET codigo=$cod"; if (mysqli_query($arquivo, $sql)) { // echo "Alteração efetuada com sucesso"; } else { // echo "Erro alterando o contador de visitas: " . mysqli_error($arquivo); } // fecha a conexao $arquivo = null; ?> Agradeço a atenção
×

Important Information

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