Jump to content
Salvatore

Como fazer isso em php

Recommended Posts

Galera alguem poderia me explicar como faço isto ultilizando php? estou perdido

tenho que usar varias imagens?

 

De acordo que ele clica e seleciona a poltrona ela muda de cor 

RED: OCUPADA

AZUL: LIVRE

DISTRIBUI--O-BANCOS-AZULSINHO.png.c9920eed3ac7c403b030729d1e14a4a9.png

Share this post


Link to post
Share on other sites
3 horas atrás, Salvatore disse:

tenho que usar varias imagens?

Não. Você pode usar o php para fazer a construção do html por repetições.

exemplo:

$img = "<div><img src=\"arquivo-de-imagem.formato\" alt=\"imagem\" /></div>";
echo (str_repeat($img, 30)); // A string será repetida 30 vezes
// OU
for ($i = 1; $i < 31; $i++) {  // A string será repetida 30 vezes
    echo ("<div><img src=\"arquivo-de-imagem.formato\" alt=\"imagem-{$i}\" /></div>");
}

Obs.: Você pode fazer o layout dos botões com CSS ao invés de usar imagens, mas isso fica a critério da necessidade e objetivo final.

 

 

3 horas atrás, Salvatore disse:

De acordo que ele clica e seleciona a poltrona ela muda de cor 

Para isso você pode usar o css (input checkbox + label), só então enviar a informação de qual cadeira foi clicada para o servidor.

Porque?

A ação do click é computada pelo hardware do usuário, ou seja, jamais o php que é executado no servidor irá saber em que local o usuário clicou, por isso a necessidade de enviar os dados.

 

Vejamos um exemplo:

<style>
    .recebe_label {
        display: none
    }
    label {
        margin: 1px;
        padding: 10px;
        background-color: blue;
        cursor: pointer
    }
    .recebe_label:checked + label {
        background: red
    }
</style>
<form method="post" action="recebe.php">
    <?php
    for ($i = 1; $i < 31; $i++) {
        echo ("<input class=\"recebe_label\" type=\"checkbox\" name=\"poltrona[]\" id=\"poltrona_{$i}\" value=\"poltrona_{$i}\" /><label for=\"poltrona_{$i}\">{$i}</label>");
    }
    ?>
    <button>ENVIAR</button>
</form>

Então no recebe.php eu obtenho os dados dessa maneira:

foreach ($_POST['poltrona'] as $name => $checked) {
    if ($checked) {
        echo ("Input Selecionado:{$checked}<br>");
    }
}

 

Share this post


Link to post
Share on other sites

@Salvatore eu recomendo você a fazer com JavaScript a mudança dos botões (poltronas), colocar os botões dentro de um FORM para chamar o arquivo PHP responsável por fazer a efetivação da compra, acho que o código abaixo vai de dar uma ajuda.

 

Botões mudam de cor ao clicar, de AZUL para VERMELHO.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Valida Checkbox</title>
<style>
    button{
		border-radius: 12px;
        padding: 35px 50px;
        font-weight: bolder;
        color: #fff;
    }
</style>

<script type="text/javascript">
function mudaCor(el){
	var cor = el.style.backgroundColor;
	if(cor == 'rgb(0, 0, 255)') {
        el.style.backgroundColor = '#FF0000';
	} else {
        el.style.backgroundColor = '#0000FF';
	}
}
</script>
<!-- Formulário de Cadastro Cliente -->
<div class="row container">
    <p>&nbsp;</p>
    <fieldset class="formulario" style="padding: 5px">
    <legend><img src="imagens/sacola.png" alt="[imagem]"style="width:80px; height:45px"></legend>
    <br>
    <!-- Botões -->
    <div class="input-field col s12">
        <div class="linha1">
            <button id="botao" data-numero="01" class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">01</button>
            <button id="botao" data-numero="02" class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">02</button>
            <button id="botao" data-numero="03" class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">03</button>
            <button id="botao" data-numero="04" class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">04</button>
            <button id="botao" data-numero="05" class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">05</button
        </div>
        <div class="linha2">
            <button id="botao" data-numero="06"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">06</button>
            <button id="botao" data-numero="07"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">07</button>
            <button id="botao" data-numero="08"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">08</button>
            <button id="botao" data-numero="09"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">09</button>
            <button id="botao" data-numero="10"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">10</button>          
        </div>
        <div class="linha3">
            <button id="botao" data-numero="11"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">11</button>
            <button id="botao" data-numero="12"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">12</button>
            <button id="botao" data-numero="13"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">13</button>
            <button id="botao" data-numero="14"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">14</button>
            <button id="botao" data-numero="15"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">15</button>          
        </div>
        <div class="linha4">
            <button id="botao" data-numero="16"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">16</button>
            <button id="botao" data-numero="17"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">17</button>
            <button id="botao" data-numero="18"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">18</button>
            <button id="botao" data-numero="19"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">19</button>
            <button id="botao" data-numero="20"class="btn blue" style="width:120px; height:37px; background-color: #0000FF;" onclick="mudaCor(this)">20</button>          
        </div>
    </div>
    </fieldset>
</div>
</body>
</html>

Espero ter ajudado.

 

Att.

Felipe Coutinho

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 Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) {$vativochk = "checked";} else {$vativochk = "";} echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo ' </tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
      //funcoes do grid dos graficos function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By violin101
      Caros amigos membros do grupo, saudações...
       
      Gostaria de tirar uma dúvida com os amigos.
       
      Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo:
       
      após selecionar  o arquivo criado com o nome de: ESTOQUE.PDF
       
      gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf.
       
      Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ?
       
      abaixo posto o fonte da rotina.
      <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?>  
      Grato,
       
      Cesar
    • By ViniciusRamoa
      Oi! Quando eu comecei a estudar php e logica de programação, é que uma das primeiras coisas que precisamos ter é uma noção exata do que queremos fazer, entao, o que eu estou querendo fazer, eu diria que é bem ousado para um iniciante, mas eu estou estudando e meu único foco é criar um de conteudos simples para meu site, será apenas para uso pessoal, nal tenho interesse em vender, mas iria disponibilizar para download , caso alguém queira, ele irá apenas postar conteúdos, apagar, editar e somente isso, não editará banner, ou layout ou qualquer outra coisa. Quero criar um sistema de loguin e dar permissão para apenas quem tiver o "rank 2" será considerado um adm e poderá postar.
      Nesse campo de postagem, terá apenas os campos de:
      Titulo
      Imagem (thumbnail)
      Link da página  (pois será um post clicavel, como um cardbox que ira redirecionar o visitante para a página destinada apenas àquele  conteudo) 
      Descrição 
      Apenas  isso
      Então, eu estou estudando PHP, no início ainda, mas é possivel eu criar tal ferramente em quanto tempo em média com a experiência que vocês ja possuem? 
      E outra, qual caminho devo seguir? Quero apenas criar o gerenciador de conteudo e sistema de loguin, tem algum "caminho" que eu deva seguir? Tenho que focar mais em x area para atingir o que eu quero e nao focar em y area, pois será perda de tempo? Como eu disse, quero apenas criar isso, e futuramente me aprofundar mais
      Então, possui alguma dica, orientação, link ou qualquer coisa que possa me ajudar a pelo menos ver qual caminho seguir, levando em conta que estou estudando por conta propria e nao tenho quem me orientar? Obrigado 
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) { $vativochk = "checked"; } else { $vativochk = ""; } echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo '</tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
       
      function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By egalauber
      Preciso descobrir qual é o nome do arquivo com a extensão.
      Só sei o início do nome:
       
      pasta "anexos".
      nome_do_arquivo_DAQUI_PRA_FRENTE_NAO_SEI_O_RESTO_DO_NOME_NEM_A_EXTENSAO
       
      Com a função glob eu consigo achar o arquivo, mas o nome completo ainda não.
       
       
      $verifica = glob("anexos/nome_do_arquivo_*");
      if($verifica == true){
         // achei o arquivo e agora preciso pegar o nome completo e a extensão
      } else {
            echo "Arquivo não encontrado";
         }
×

Important Information

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