Pegar índice de combobox HTML

2 respostas
Andre_Rosa

Olá. Eu tenho um combobox com a seguinte estrutura:

<select size="1" name="ComboEmpresas">
<option selected value="Selecione o Sistema">Selecione o Sistema</option>
<option value="Focus PDV">Focus PDV</option>
<option value="Focus Gerenciador">Focus Gerenciador</option>
<option value="Focus Sinc Web">Focus Sinc Web</option>
<option value="Focus Seller">Focus Seller</option>
</select>

Eu preciso do seguinte esquema:

Focus Gerenciador = 1
Focus PDV = 2
Focus Sincweb = 3
Focus Seller = 4

Como, creio eu, o combobox começa a contar do zero, irei incrementar 1 ao índice. Isso não é o problema. O problema é saber como eu passo esse índice para outra página, escrita em PHP. Nesse caso, o arquivo PHP é esse aqui:

<?php
class banco{
    private $conn;
    private $db;
    private $query;
    private $data;
    
    function __construct($cnn,$base){
        $this->conn=$cnn;
        $this->db=base;    
    }
    
    function seleciona($tabela, $razaosocial, $nomecampo){
        if ($razaosocial != trim(''))
            $this->query="SELECT * FROM $tabela where $nomecampo like '%" . $razaosocial . "%'";
        else
            $this->query="SELECT * FROM $tabela";
        $result=mysql_query($this->query) or die ("Nao foi possivel selecionar na base");
        return $result;
    }
    
    function insere($tabela,$campos,$valores){
        $this->query="INSERT INTO $tabela $campos VALUES $valores";
        mysql_query($this->query) or die ("Nao foi possivel inserir o registro na base");        
    }
    
    function apaga($tabela,$id){
        $this->query="DELETE FROM $tabela WHERE CD_EMPRESA=$id";
        mysql_query($this->query) or die ("Nao foi possivel apagar o registro na base");        
    }
    
    function altera($tabela,$alteracao,$id){
        $this->query="UPDATE $tabela SET $alteracao WHERE CD_EMPRESA=$id";
        mysql_query($this->query) or die ("Nao foi possivel alterar o registro na base");        
    }    
}
?>

Vou usar isso na função seleciona(), chamando-a num arquivo com o seguinte conteúdo:

<?php
require_once("../include/conexao.inc.php");
require_once("../include/Clbanco.php");
    
$cadastro = new banco($conn,$db);
$q = (isset($_GET['pesquisa'])) ? $_GET['pesquisa'] : "";
$data=$cadastro->seleciona("acesso", $q, "NM_EMPRESA");


//se encontrar registros    
if(mysql_num_rows($data)){
    header("Content-type: application/xml"); 
        
    $xml="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";  
    
    //preenchimento da Array com o nome dos campos
    for($i=0;$i < mysql_num_fields($data);$i++){
        $campos[$i]=mysql_field_name($data,$i);
    }    
    
    $xml.="<dados>";
    $xml.="<cabecalho>";
    
    //cabecalho da tabela
    for($i=0;$i < sizeof($campos);$i++){
        $xml.="<campo>".$campos[$i]."</campo>";
    }
    
    $xml.="</cabecalho>";
    
    //corpo da tabela
    while($row=mysql_fetch_object($data)){
        $xml.="<registro>";
        for($i=0;$i < sizeof($campos);$i++){
            $xml.="<item>".$row->$campos[$i]."</item>";
        }
        $xml.="</registro>";        
    }
    
    //fim da tabela
    $xml.="</dados>";    
}


echo $xml;
mysql_close($conn);
exit();
?>

Como nota-se, nesse aquivo eu já chamo um form daquela página, nesse caso um fieldtext chamado "pesquisa".

Porém eu não consigo fazer o mesmo com o índice do combobox. Alguém poderia me dizer como proceder?

a minha intenção é receber o índice, adiciona-lo como parâmetro da função seleciona (vou modificar a estrutura dela) e fazer um WHERE pelo índice do combobox.

Obrigado!

2 Respostas

P
Andre Rosa:
Olá. Eu tenho um combobox com a seguinte estrutura:
<select size="1" name="ComboEmpresas">
<option selected value="Selecione o Sistema">Selecione o Sistema</option>
<option value="Focus PDV">Focus PDV</option>
<option value="Focus Gerenciador">Focus Gerenciador</option>
<option value="Focus Sinc Web">Focus Sinc Web</option>
<option value="Focus Seller">Focus Seller</option>
</select>

Eu preciso do seguinte esquema:

Focus Gerenciador = 1
Focus PDV = 2
Focus Sincweb = 3
Focus Seller = 4

Como vc quer um indice se vc não colocou o indice na pagina, troque o "value" dos "options" pelos indices.

perdeu

$_POST[‘ComboEmpresas’] ou $_GET[‘ComboEmpresas’]? depende do q esta no seu method no formulario.

Criado 8 de outubro de 2012
Ultima resposta 10 de out. de 2012
Respostas 2
Participantes 3