1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

lista de valores php

Discussão em 'Web Development' iniciada por RicAlmeida, 16 de Junho de 2008. (Respostas: 2; Visualizações: 742)

  1. RicAlmeida

    RicAlmeida Power Member

    boas,

    tenho este codigo
    PHP:
    <form method=GET action="index.php?r=1&fil=1">
    <select name=tipo>
    <option value="0" selected="selected">Selecione um tipo</option>
    <? liga_bd();
    $tipo=mysql_query("SELECT * FROM tipo order by cod_tipo");
    $n=mysql_num_rows($tipo);
    for ($j=0;$j<=$n-1;$j++){
        $cod_tipo=(mysql_result($tipo,$j,'cod_tipo'));
        $desc_tipo=mysql_result($tipo,$j,'desc_tipo');
        if ($cod_tipo==$tipo){
            $var="selected";
    }else{
        $var="";
        echo "<option value=".$desc_tipo.">".$desc_tipo."</option>";
    }
    }?>
    </select>
    <input type=submit value=OK>
    </form>
    quando fazo ok ele faz todo bem o que eu queria era que depois de fazer o ok o valor que fica-se na lista fosse o que tinhamos selecionado e nao o primeiro.

    se nao me fiz entender avisem que tento explicar melhor.

    cumps
     
  2. naoliveira

    naoliveira Power Member

    à 1ª vista vejo aí alguns erros, a saber,

    Se tiveres o register globals activo (é altamente recomendado que não o tenhas) estás a cometer um erro de duplicação de variáveis (este é um dos problemas do register globals estar activo o outro é a segurança), o teu código tem uma variável com o nome $tipo para a query e outra também chamada $tipo para receber o SELECT da form, a que vier em último (neste caso a da query) apaga a anterior.

    PHP:
     <form method=GET action="index.php?r=1&fil=1">
    <select name=tipo>
    <option value="0" selected="selected">Selecione um tipo</option>
    <? liga_bd();
    $tipo = $_GET['tipo']; <-- Acrescentei esta var
    $tipo_q=mysql_query("SELECT * FROM tipo order by cod_tipo"); <-- Alterei esta var
    $n=mysql_num_rows($tipo_q);
    for ($j=0;$j<=$n-1;$j++){
        $cod_tipo=(mysql_result($tipo_q,$j,'cod_tipo'));
        $desc_tipo=mysql_result($tipo_q,$j,'desc_tipo');
        if ($cod_tipo==$tipo){
            $var='selected="selected"'; <-- Alterei esta var
    }else{
        $var="";

    }
    echo '<option value="'.$desc_tipo.'"' . $var . ' >'.$desc_tipo."</option>"; <-- Mudei isto para fora do IF/ELSE e acrecentei o valor da var
    }?>
    </select>
    <input type=submit value=OK>
    </form>
     
    Última edição: 16 de Junho de 2008
  3. RicAlmeida

    RicAlmeida Power Member

    obrigado .. logo ja exprimento isso
     

Partilhar esta Página