Realizado

Ajuste em código Php - alternativa para while dentro do for

Publicado em 06 de Março de 2018 dias na TI e Programação

Sobre este projeto

Aberto

Sou curioso em PHP e assumi a responsabilidade de finalizar um sistema de cadastro e configurações de ramais. Como tenho conhecimentos limitados (aprendi tudo com o mestre Google), estou precisando de ajuda. Temos um código PHP que não está funcionando como gostaríamos.


Segue o código:
arquivo ativar_pabxvirtual.php:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
function alterar_div_seleciona_grupo() {
  $.ajax({
    type: "POST",
    url: "vinculagrupo.php",
    data: {
      ramal: $('#ramal').val(),
      grupo: $('#grupo').val()

    },
    success: function(data) {
      $('#seleciona_grupo').html(data);
    }
  });
    window.location.reload();
}
</script>
    <table id="tabela" width="100%" border="0" cellpadding="2" cellspacing="5" >
    <tr>
    <td width="100%" align="center" colspan="2" style="color:#EFEEF0;background-color:#584C95;border-style:inset;border-color:skyblue">
    Fila de Atendimento
    </td>
    </tr>
    </table>

    <div id="ramal_sel" class="diva" style="display:block">

    <table id="tabela" width="100%" border="0" cellpadding="2" cellspacing="5" >
    <tr>
    <td width="100%" align="center" colspan="2" style="color:#EFEEF0;background-color:#6699FF;border-style:inset;border-color:skyblue">
    <b>Organiza&ccedil;&atilde;o de Ramais</b>
    </td>
    </tr>
    <tr>
    <td  width="100%" align="center" colspan="2" align="justify" style="color:#999999;background-color:#F5F5F5;border-style:none;padding-left:2%;padding-right:2%">
    <br><b>Vincule os ramais a cada grupo ou op&ccedil;&atilde;o de atendimento</b><br><br>
    </td>
    </tr>
    <tr>
    <td width="100%" align="center" colspan="2" style="color:#EFEEF0;background-color:#6699FF;border-style:inset;border-color:skyblue">Ramais de Atendimento</td>
    </tr>
    <?php
    # Selecionando os ramais de atendimento registrados no BD (tabela ramais)
    # Só ramais de atendimento:
    $raq = $_session['aplogado']."0";
    $qramaisatendimento = mysql_query("select * from ramais where usuario='".$_session['aplogado']."' and ramal like '%".$Raq."%'");
    If(mysql_num_rows($qramaisatendimento)==0){ ?> <tr><td  width="100%" align="center" style="color:#6699FF;background-color:#F5F5F5;border-style:none;padding-left:2%;padding-right:2%"><br>N&atilde;o h&aacute; Ramais de Atendimento configurados. <Br>Favor contactar nosso suporte: suporte@mobex.com.br<br><br></td></tr><?php }
    else { ?>
        <tr>
        <td  width="50%" align="center" style="color:#ffffff;background-color:#cccccc;border-style:none;padding-left:2%;padding-right:2%">Grupo<br></td>
        <td width="50%" align="center" style="color:#ffffff;background-color:#cccccc;border-style:none;padding-left:1%;padding-right:1%">Adicione / Vincule ramais</td>
        </tr>
    </table>

    <div id="seleciona_grupo">   
    <?php
    /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
    // Ramais para o Select
    $rasel = $_POST['ramal'];
    $rasels .= "<Select name=\"ramal\" id=\"ramal\" onchange=\"alterar_div_seleciona_grupo();\" >\r";
    $rasels .= "<Option value=\"\">Selecione</option>\r";
    $qrasel = mysql_query("select * from ramais where usuario='".$_session['aplogado']."' and ramal like '%".$Raq."%' and grupo='' order by ramal");
    while ($rowrasel = mysql_fetch_array($qrasel))
            {
            $rasels .= "<Option value=\"".$Rowrasel['ramal']."\" ".Iif($ramal=="".$Rowrasel['ramal'].""," Selected")."> Ramal ".substr($rowrasel['ramal'],-3)." &Nbsp; </option>\r";
            }
    $rasels .= "</Select>\r";
    /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
    ?>
    <table id="tabela" width="100%" border="0" cellpadding="2" cellspacing="5" >
    <?php
    $qnga = mysql_query("select grupos_de_atendimento,ramais_de_atendimento from ilh_usuario where usuario='".$_SESSION['aplogado']."' ");
    $Rownga = mysql_fetch_array($qnga);
    for($gra=1;$gra<=$rownga['grupos_de_atendimento'];$gra++)
        {
        $grupo_gra = "0".$Gra;
        ?>
        <tr>
        <td  width="50%" align="center" style="color:#6699FF;background-color:#F5F5F5;border-style:none;padding-left:2%;padding-right:2%">
        <br><?php if($rownga['grupos_de_atendimento']>=2){echo "Opção ".$Grupo_gra;}elseif($rownga['grupos_de_atendimento']==1){echo "Grupo ".$Grupo_gra;}  ?><br><br>
        <?php $gruposelecionado = $_SESSION['aplogado'].$Grupo_gra; ?>
        <input type="hidden" name="grupo" id="grupo" value="<?php echo $gruposelecionado; ?>" /></td>
        <td width="50%" align="center" style="color:#000000;background-color:#F5f5f5;border-style:none;padding-left:1%;padding-right:1%">
        <?php
        $q2691 = mysql_query("select * from ramais where usuario='".$_session['aplogado']."' and ramal like '%".$Raq."%' AND grupo='".$Gruposelecionado."' order by ramal");
        while ($row2691 = mysql_fetch_array($q2691))
            {
            echo "<br>ramal ".substr($row2691['ramal'],-3)."<Br>";
            }
        echo "<br>".$Rasels."<Br>";

        ?>
        <br>
        </td>
        </tr>
        <?php
        }
    } ?> 
    </table>
    </div>


    <table id="tabela" width="100%" border="0" cellpadding="2" cellspacing="5" >
        <tr>
        <td width="100%" align="center" colspan="2" style="color:#EFEEF0;background-color:#6699FF;border-style:inset;border-color:skyblue">
        </td>
        </tr>
    <tr>
        <td  width="100%" colspan="2" align="center" style="color:#6699FF;background-color:#F5F5F5;border-style:none;padding-left:10%;padding-right:10%">
    <br>


    <form name="acao_organizado" action="ativar_pabxvirtual.php?acao=distribuir" method="post" >
    <input type="submit" name="acaodistribuir" id="acaodistribuir" value="Prosseguir" class="graybutton">
    </form><br>
    </td>
    </tr>
    <tr>
    <td colspan="2" style="color:#EFEEF0;background-color:#6699FF;border-style:inset;border-color:skyblue"><br></td>
    </tr>
    </table>
    </div>
    <?php
    }
arquivo vinculargrupo.php:
<?php
echo "POST-grupo:". $_POST['grupo']."<Br>";
echo "POST-ramal:". $_POST['ramal']."<Br><br><br>";
$q1 = mysql_query("update ramais set grupo='".$_POST['grupo']."' WHERE ramal='".$_post['ramal']."' and status='ativo' ");
?>
erros: quando seleciono um ramal na 1ª linha do grupo (1ª do laço "for"), ele salva no mysql normalmente. Porém, quando seleciono um ramal nas demais linhas, além de não capturar o ramal selecionado, o código está capturando o 1º grupo ainda (da 1ª do for).

Acredito que a solução esteja no laço foreach, mas até hoje não entendi bem como ele funciona... por isso: vamos contratar alguém para finalizar, ao menos, essa fase do código!

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por F. G.