Ir para conteúdo
Fórum Script Brasil
  • 0

a dor de cabeça dos forms com SELECTs


joanita

Pergunta

tenho uma pagina "adicionar.php" onde tenho um formulário com diversos campos deste género:

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
            <select name="suite" id="suite">
                <option value="Azul Céu">Azul Céu</option>
                <option value="Verde Esperança">Verde Esperança</option>
                <option value="Verde-Lima">Verde-Lima</option>
                <option value="Vermelho Paixão">Vermelho Paixão</option>
            </select>
        </td>
    </tr>

tudo funciona bem, adiona o valor selecionado no db... acontece que tenho outra pagina "editar.php" onde o admin poderá editar dados da reserva efetuada, acontece que nessa página consigo recuperar bem os dados dentro de inputs, mas nestes selects não recupera a opção gravada no banco (quando o admin adicionou a reserva), ou seja se quizer editar não consigo adivinhar o valor já existente nesses campos... como fazer aparecer no form da pagina "editar.php" esses valores do db?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Nesse caso você vai precisar verificar em cada option se o valor deste bate, como neste exemplo usando operadores ternários:

 

            <select name="suite" id="suite">
                <option <?php echo ($suite == 'Azul Céu') ? 'selected' : ''; ?> value="Azul Céu">Azul Céu</option>
                <option <?php echo ($suite == 'Verde Esperança') ? 'selected' : ''; ?> value="Verde Esperança">Verde Esperança</option>
                <option <?php echo ($suite == 'Verde-Lima') ? 'selected' : ''; ?> value="Verde-Lima">Verde-Lima</option>
                <option <?php echo ($suite == 'Vermelho Paixão') ? 'selected' : ''; ?> value="Vermelho Paixão">Vermelho Paixão</option>
            </select>

 

Editado por MLeandroJr!
Link para o comentário
Compartilhar em outros sites

  • 0

MLeandroJr! já coloquei assim mas não retorna nenhum valor... tudo se mantem como se nada acontecesse

mas curiosamente se colocar este codigo numa outra parte da pagina ele retorna o valor da suite registada

<?php echo $suite?>

Link para o comentário
Compartilhar em outros sites

  • 0

ve aqui:

<?php
// liga-se à base de dados
include("ligar-bd.php");

// habilita todas as mensagens de erro do PHP
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

// inclui os estilos da página
require_once("style.css");

// edita uma entrada existente
function renderForm(
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>MMH - Editar Reserva</title>

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type='text/javascript'>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>
</head>

<body>
<br>
<p align="center"><img src="imagens/logo.png" border="0"></p>
<p align='center'><titulo>EDITAR RESERVA EXISTENTE</p></titulo>

<?php if ($error != ''){echo "' . $error. '";}?>

<form action="" method="post">
<div>

<?php if ($id != ''){?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<p align='center'><b>RESERVA ATUAL - ID ( <font color='red'><?php echo $id; ?></font> )</b></p>
<?php }?>

<table align="center" width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="nome" id="nome" value="<?php echo $nome; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 && event.charCode <= 57"

value="<?php echo $telefone; ?>"
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="email" id="email" size="9" value="<?php echo $email; ?>"
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
    <select name="suite" id="suite">
        <option <?php echo ($suite == 'Azul Céu') ? selected : ''; ?>         value="Azul Céu">Azul Céu</option>
        <option <?php echo ($suite == 'Verde Esperança') ? selected : ''; ?>     value="Verde Esperança">Verde Esperança</option>                  <option <?php echo ($suite == 'Verde-Lima') ? selected : ''; ?>     value="Verde-Lima">Verde-Lima</option>
        <option <?php echo ($suite == 'Vermelho Paixão') ? selected : ''; ?>     value="Vermelho Paixão">Vermelho Paixão</option>                    </select>

        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td>
            <input STYLE="background-color: #91c200; line-height:22px;" type="text" name="checkin" id="datepicker1" value="<?php echo $checkin; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td>
            <input STYLE="background-color: #ff1f1f; line-height:22px;" type="text" name="checkout" id="datepicker2" value="<?php echo $checkout; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h)">Sim (Máx. até ás 14h)</option>
                <option value="Sim Pagando + 40€ (Máx. até ás 17h)">Sim Pagando + 40€ (Máx. até ás 17h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input STYLE="background-color: #fff19f; line-height:22px;" type="text" name="pagamento" id="pagamento" value="<?php echo $pagamento; ?>">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="data_jantar" id="datepicker3" value="<?php echo $data_jantar; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="animais" id="animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea STYLE="height:100px;" name="pedido_especial" id="pedido_especial" value="<?php echo $pedido_especial; ?>"></textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

</table>

<table align='center' width='450' border='0' cellpading='3' cellspacing='3' bgcolor='#cccc99'>
<tr>
<td bgcolor='#55572c' align='center'>
<div style=' margin-left:auto; margin-right:auto; padding:4px; border:30px solid #336666; color:#55572c; background-color:#cccccc;'>
<p align='center'>
<input type ="submit" name="submit" id="submit" value="Alterar Reserva">
&nbsp;
<input type="button" value="Ver Todas as Reservas" onclick="javascript: location.href='ver.php?page=1';" />
</p>
</div>
</td>
</tr>
</table>
</p>
</form>

</body>
</html>

<?php
}

// se a variável 'id' existir na URL, pode-se editar uma entrada
if (isset($_GET['id']))
{

// ao carregar em "Enviar", executa o formulário
if (isset($_POST['submit']))
{

// verifica se a "id" na URL é válida
if (is_numeric($_POST['id']))
{

// pega nas variáveis da URL/formulário
$id = $_POST['id'];
$nome = htmlentities($_POST['nome'], ENT_QUOTES);
$telefone = htmlentities($_POST['telefone'], ENT_QUOTES);
$email = htmlentities($_POST['email'], ENT_QUOTES);
$suite = htmlentities($_POST['suite'], ENT_QUOTES);
$tipo_reserva = htmlentities($_POST['tipo_reserva'], ENT_QUOTES);
$checkin = htmlentities($_POST['checkin'], ENT_QUOTES);
$checkout = htmlentities($_POST['checkout'], ENT_QUOTES);
$late_checkout = htmlentities($_POST['late_checkout'], ENT_QUOTES);
$pagamento = htmlentities($_POST['pagamento'], ENT_QUOTES);
$hora_chegada = htmlentities($_POST['hora_chegada'], ENT_QUOTES);
$camas_extra = htmlentities($_POST['camas_extra'], ENT_QUOTES);
$berco = htmlentities($_POST['berco'], ENT_QUOTES);
$pequeno_almoco = htmlentities($_POST['pequeno_almoco'], ENT_QUOTES);
$jantar = htmlentities($_POST['jantar'], ENT_QUOTES);
$data_jantar = htmlentities($_POST['data_jantar'], ENT_QUOTES);
$animais = htmlentities($_POST['animais'], ENT_QUOTES);
$atividades = htmlentities($_POST['atividades'], ENT_QUOTES);
$transporte = htmlentities($_POST['transporte'], ENT_QUOTES);
$pedido_especial = htmlentities($_POST['pedido_especial'], ENT_QUOTES);

{

// se tudo estiver ok atualiza as informações na base de dados
if ($stmt = $mysqli->prepare("UPDATE suites SET
nome = ?,
telefone = ?,
email = ?,
suite = ?,
tipo_reserva = ?,
checkin = ?,
checkout = ?,
late_checkout = ?,
pagamento = ?,
hora_chegada = ?,
camas_extra = ?,
berco = ?,
pequeno_almoco = ?,
jantar = ?,
data_jantar = ?,
animais = ?,
atividades = ?,
transporte = ?,
pedido_especial = ?
WHERE id=?"))

{

$stmt->bind_param("sssssssssssssssssssi",
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial,
$id);

$stmt->execute();
$stmt->close();
}

// se encontrar erros durante a preparação do envio mostra a mensagem de erro
else
{
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'><img src='imagens/alert.png' border='0'><br>Erro: Impossivel preparar corrétamente o SQL.</font></p></h3></div><br>";
}

// se a alteração for efetuada com sucesso. mostra a mensagem de sucesso
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'><img src='imagens/ok.png' border='0'><br>Reserva Alterada!</font></p></h3></div><br>";

// inclui a página "ver.php" abaixo da mensagem de sucesso
include("ver.php");

}
}

// se a variável "id" não for válida mostra mensagem de erro
else
{

echo "Erro: ID inválido!";
}
}

// se o formulário não foi enviado, pega nas informações da base de dados e mostra-as no formulário
else
{

// confirma se o valor da "id" é válido
if (is_numeric($_GET['id']) && $_GET['id'] > 0)
{

// pega na "id" da URL
$id = $_GET['id'];

// pega nos valor da base de dados
if($stmt = $mysqli->prepare("SELECT * FROM suites WHERE id=?"))
{

$stmt->bind_param("i", $id);
$stmt->execute();

$stmt->bind_result(
$id,
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial
);

$stmt->fetch();

// mostra o formulário
renderForm(
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial,
NULL, $id
);

$stmt->close();
}

// se existirem erros, mostra-os
else
{
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font color='red'><img src='imagens/alert.png' border='0'><br>Erro: Impossivel preparar corrétamente o SQL.</font></p></h3></div><br>";
}
}

// Se o valor da "id" não for válido, volta para a página ver.php
else
{

ob_start(); header("Location: ver.php"); ob_end_clean();
}
}
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

hhh reparei agora que não aparece selecionado mas se eu clicar no seletor, la dentro aparece:

Notice:  Use of undefined constant selected - assumed 'selected' in /.../editar.php on line 110
selected 	value="Verde-Lima">Verde-Lima</option> (e essa é a opcao no db)
Editado por joanita
Link para o comentário
Compartilhar em outros sites

  • 0

se colocar <?php echo $suite; die();?> fora do form funciona, no form (que é onde interessa aparecer para se poder editar) não aparece nada

esta assim:

        <td>
    <select name="suite" id="suite">
        <option <?php echo ($suite == 'Azul Céu') ? 'selected' : ''; ?>         value="Azul Céu">Azul Céu</option>
        <option <?php echo ($suite == 'Verde Esperança') ? 'selected' : ''; ?>         value="Verde Esperança">Verde Esperança</option>      

        <option <?php echo ($suite == 'Verde-Lima') ? 'selected' : ''; ?>         value="Verde-Lima">Verde-Lima</option>
        <option <?php echo ($suite == 'Vermelho Paixão') ? 'selected' : ''; ?>         value="Vermelho Paixão">Vermelho Paixão</option>   

            </select>

        </td>

 

Link para o comentário
Compartilhar em outros sites

  • 0

msa que função? eu não estou a usar nenhuma função penso eu... so se esse comando php dentro do option é uma funçao... o que acontece é que como postei acima não da, mas se colocar  o que dizes noutro local da pagina já fora do form, mostra o valor guardado no db... era isso quer queria que mostrasse mas na forma de seleçao no select, tal como quando ao registar é selecionado

Link para o comentário
Compartilhar em outros sites

  • 0

Essa é sua função:
Dentro dela, a suite é exibida?


function renderForm(
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{
Link para o comentário
Compartilhar em outros sites

  • 0

há ok... coloquei logo abaixo de

function renderForm(


e dá este erro: Parse error: syntax error, unexpected T_ECHO, expecting '&' or T_VARIABLE in /.../editar.php on line 14

// edita uma entrada existente
function renderForm(
echo $suite;die();
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{
?>

se colocar assim funciona

// edita uma entrada existente
function renderForm(
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{echo $suite;
?>

mostra o resultado pretendido mas... não aparece no campo de selecao selecinado

Editado por joanita
Link para o comentário
Compartilhar em outros sites

  • 0

É que você precisa colocar depois da declaração dela.
Faz assim:

[code
function renderForm(
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{
echo $suite;

die();

Link para o comentário
Compartilhar em outros sites

  • 0

sabes, penso que assim funciona ve la:

        <option <?php echo ($suite == '<?php echo $suite;?>') ? 'selected' : ''; ?>     value="<?php echo $suite;?>"</option>

sim assim como meti funciona, mas aind á um problema... ou seja, eu no ficheiro "ver.php" se clicar em editar funciona bem, mas imagina que entretanto eu edito e mudo o valor, na minha pagina "editar.php" tenho um include que apos efetuar a alteração inclui a pagina ver.php para mostrar os resultados já alterados, e aí não aparece nada selecionado, mas basta fazer um refresh que aparece

Link para o comentário
Compartilhar em outros sites

  • 0

Desta forma você está abrindo a tag do PHP dentro de um bloco que já está aberto.

Se você precisa dar um refresh na página, é porque tem alguma coisa errada com a ordem em que as coisas estão sendo feitas.
O ideal 'e salvar os dados antes, aí com o header, enviar pra página ver.php


header('Location? ver.php');
die();

Link para o comentário
Compartilhar em outros sites

  • 0

para que funcionasse tive que criar mais essa opçao acima... mas continua com o problema... apos alterar o valor no "edit.php" ele mostra a mensagem de sucesso e inclui o "ver.php" e se eu logo de seguida clicar novamente em editar, o tal campo select aparece vaziu... algo me diz que o  include esta a causar isso, porque basta fazer um refresh que aparece tudo ok de novo selecionado

   <select name="suite" id="suite">
        <option <?php echo ($suite == '<?php echo $suite;?>') ? 'selected' : ''; ?>     value="<?php echo $suite;?>"</option>
        <option <?php echo ($suite == 'Azul Céu') ? 'selected' : ''; ?>         value="Azul Céu">Azul Céu</option>
        <option <?php echo ($suite == 'Verde Esperança') ? 'selected' : ''; ?>         value="Verde Esperança">Verde Esperança</option>      

        <option <?php echo ($suite == 'Verde-Lima') ? 'selected' : ''; ?>         value="Verde-Lima">Verde-Lima</option>
        <option <?php echo ($suite == 'Vermelho Paixão') ? 'selected' : ''; ?>         value="Vermelho Paixão">Vermelho Paixão</option>   

            </select>

tudo funcionaria perfeito se alguns segundos apos aparecer a mensagem, ela desaparecesse novamente e desse um refresh na pagina atual ou algo do genero...

 

é esta a mensagem:

// se a alteração for efetuada com sucesso. mostra a mensagem de sucesso
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font

color='red'><img src='imagens/ok.png' border='0'><br>Reserva Alterada!</font></p></h3></div><br>";

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado :) deve ser mesmo codigo mal estruturado :/ é o desesperooooooooooooooooooooooooo :) vou colar aqui o codigo como tenho atualmente para poderes ver. obrigado

 

editar.php

<?php
// liga-se à base de dados
include("ligar-bd.php");

// habilita todas as mensagens de erro do PHP
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

// inclui os estilos da página
require_once("style.css");

// edita uma entrada existente
function renderForm(
$nome = '',
$telefone = '',
$email = '',
$suite = '',
$tipo_reserva = '',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
)
{
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>MMH - Editar Reserva</title>

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type='text/javascript'>

$(document).ready(
function() {
    $("#datepicker1").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker2").datepicker({dateFormat: "dd-mm-yy"});
    $("#datepicker3").datepicker({dateFormat: "dd-mm-yy"});
    }
);
</script>
</head>

<body>
<br>
<p align="center"><img src="imagens/logo.png" border="0"></p>
<p align='center'><titulo>EDITAR RESERVA EXISTENTE</p></titulo>

<?php if ($error != ''){echo "' . $error. '";}?>

<form action="" method="post">
<div>
<?php if ($id != ''){?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<p align='center'><b>RESERVA ATUAL - ID ( <font color='red'><?php echo $id; ?></font> )</b></p>
<?php }?>

<table align="center" width="450px" border="0" cellpading="4" cellspacing="8"  bgcolor="#f0f0f0">
    <tr>
        <td align="left">
            <label for="name">Nome: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="nome" id="nome" value="<?php echo $nome; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="telefone">Telefone: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="telefone" maxlength="9" size="9" onkeypress="return event.charCode >= 48 &&

event.charCode <= 57"

value="<?php echo $telefone; ?>"
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="email">Email: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="email" id="email" size="9" value="<?php echo $email; ?>"
        </td>
    </tr>

    <tr>
    <td align="left">
        <label for="suite">Suite: </label>
        </td>
        <td>
    <select name="suite" id="suite">
        <option <?php echo ($suite == '<?php echo $suite;?>') ? 'selected' : ''; ?>     value="<?php echo $suite;?>">---</option>
        <option <?php echo ($suite == 'Azul Céu') ? 'selected' : ''; ?>         value="Azul Céu">Azul Céu</option>
        <option <?php echo ($suite == 'Verde Esperança') ? 'selected' : ''; ?>         value="Verde Esperança">Verde Esperança</option>      

        <option <?php echo ($suite == 'Verde-Lima') ? 'selected' : ''; ?>         value="Verde-Lima">Verde-Lima</option>
        <option <?php echo ($suite == 'Vermelho Paixão') ? 'selected' : ''; ?>         value="Vermelho Paixão">Vermelho Paixão</option>   

            </select>

        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="tipo_reserva">Reservado via: </label>
        </td>
        <td>
            <select name="tipo_reserva" id="tipo_reserva">
                <option value="Booking">Booking</option>
                <option value="Trip Advisor">Trip Advisor</option>
                <option value="Site Oficial">Site Oficial</option>
                <option value="Pessoalmente">Pessoalmente</option>
                <option value="Outro">Outro</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkin">Check in: </label>
        </td>
        <td>
            <input STYLE="background-color: #91c200; line-height:22px;" type="text" name="checkin" id="datepicker1" value="<?php echo $checkin; ?

>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="checkout">Check out: </label>
        </td>
        <td>
            <input STYLE="background-color: #ff1f1f; line-height:22px;" type="text" name="checkout" id="datepicker2" value="<?php echo $checkout;

?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="late_checkout">Late Check out: </label>
        </td>
        <td>
            <select name="late_checkout" id="late_checkout">
                <option value="---">---</option>
                <option value="Sim (Máx. até ás 14h)">Sim (Máx. até ás 14h)</option>
                <option value="Sim Pagando + 40€ (Máx. até ás 17h)">Sim Pagando + 40€ (Máx. até ás 17h)</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input STYLE="background-color: #fff19f; line-height:22px;" type="text" name="pagamento" id="pagamento" value="<?php echo $pagamento;

?>">
        </td>
    </tr>
    
    <tr>
        <td align="left">
            <label for="hora_chegada">Hora de Chegada: </label>
        </td>
        <td>
            <select type="text" name="hora_chegada" id="hora_chegada">
            <?php
            for ($i = 0;$i<=23;$i++)
                        {
                echo ($i < 10) ? "<option>0" . $i . ":00</option>" : "<option>" . $i . ":00</option>";
                echo ($i < 10) ? "<option>0" . $i . ":30</option>" : "<option>" . $i . ":30</option>";
                        }
            ?>    
            <?PHP echo $hora_chegada;?>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="camas_extra">Camas Extra: </label>
        </td>
        <td>
            <select name="camas_extra" id="camas_extra">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="berco">Berço: </label>
        </td>
        <td>
            <select name="berco" id="berco">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pequeno_almoco">Peq. Almoço no Quarto: </label>
        </td>
        <td>
            <select name="pequeno_almoco" id="pequeno_almoco">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="jantar">Jantar Incluído: </label>
        </td>
        <td>
            <select name="jantar" id="jantar">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select name="jantar">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="data_jantar">Data do Jantar: </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="data_jantar" id="datepicker3" value="<?php echo $data_jantar; ?>">
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="animais">Nº de Animais: </label>
        </td>
        <td>
            <select name="animais" id="animais">
                <option value="---">---</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="atividades">Atividades Incluídas: </label>
        </td>
        <td>
            <select name="atividades" id="atividades">
                <option value="---">---</option>
                <option value="Mota de Água">Mota de Água</option>
                <option value="Geocaching">Geocaching</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="transporte">Serviço de Transporte: </label>
        </td>
        <td>
            <select name="transporte" id="transporte">
                <option value="---">---</option>
                <option value="Sim">Sim</option>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pedido_especial">Pedido Especial: </label>
        </td>
        <td>
            <textarea STYLE="height:100px;" name="pedido_especial" id="pedido_especial" value="<?php echo $pedido_especial; ?>"></textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

</table>

<table align='center' width='450' border='0' cellpading='3' cellspacing='3' bgcolor='#cccc99'>
<tr>
<td bgcolor='#55572c' align='center'>
<div style=' margin-left:auto; margin-right:auto; padding:4px; border:30px solid #336666; color:#55572c; background-color:#cccccc;'>
<p align='center'>
<input type ="submit" name="submit" id="submit" value="Alterar Reserva">
&nbsp;
<input type="button" value="Ver Todas as Reservas" onclick="javascript: location.href='ver.php?page=1';" />
</p>
</div>
</td>
</tr>
</table>

</p>
</form>

</body>
</html>

<?php
}

// se a variável 'id' existir na URL, pode-se editar uma entrada
if (isset($_GET['id']))
{

// ao carregar em "Enviar", executa o formulário
if (isset($_POST['submit']))
{

// verifica se a "id" na URL é válida
if (is_numeric($_POST['id']))
{

// pega nas variáveis da URL/formulário
$id = $_POST['id'];
$nome = htmlentities($_POST['nome'], ENT_QUOTES);
$telefone = htmlentities($_POST['telefone'], ENT_QUOTES);
$email = htmlentities($_POST['email'], ENT_QUOTES);
$suite = htmlentities($_POST['suite'], ENT_QUOTES);
$tipo_reserva = htmlentities($_POST['tipo_reserva'], ENT_QUOTES);
$checkin = htmlentities($_POST['checkin'], ENT_QUOTES);
$checkout = htmlentities($_POST['checkout'], ENT_QUOTES);
$late_checkout = htmlentities($_POST['late_checkout'], ENT_QUOTES);
$pagamento = htmlentities($_POST['pagamento'], ENT_QUOTES);
$hora_chegada = htmlentities($_POST['hora_chegada'], ENT_QUOTES);
$camas_extra = htmlentities($_POST['camas_extra'], ENT_QUOTES);
$berco = htmlentities($_POST['berco'], ENT_QUOTES);
$pequeno_almoco = htmlentities($_POST['pequeno_almoco'], ENT_QUOTES);
$jantar = htmlentities($_POST['jantar'], ENT_QUOTES);
$data_jantar = htmlentities($_POST['data_jantar'], ENT_QUOTES);
$animais = htmlentities($_POST['animais'], ENT_QUOTES);
$atividades = htmlentities($_POST['atividades'], ENT_QUOTES);
$transporte = htmlentities($_POST['transporte'], ENT_QUOTES);
$pedido_especial = htmlentities($_POST['pedido_especial'], ENT_QUOTES);

{

// se tudo estiver ok atualiza as informações na base de dados
if ($stmt = $mysqli->prepare("UPDATE suites SET
nome = ?,
telefone = ?,
email = ?,
suite = ?,
tipo_reserva = ?,
checkin = ?,
checkout = ?,
late_checkout = ?,
pagamento = ?,
hora_chegada = ?,
camas_extra = ?,
berco = ?,
pequeno_almoco = ?,
jantar = ?,
data_jantar = ?,
animais = ?,
atividades = ?,
transporte = ?,
pedido_especial = ?
WHERE id=?"))

{

$stmt->bind_param("sssssssssssssssssssi",
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial,
$id);

$stmt->execute();
$stmt->close();
}

// se encontrar erros durante a preparação do envio mostra a mensagem de erro
else
{
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font

color='red'><img src='imagens/alert.png' border='0'><br>Erro: Impossivel preparar corrétamente o SQL.</font></p></h3></div><br>";
}

// se a alteração for efetuada com sucesso. mostra a mensagem de sucesso
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font

color='red'><img src='imagens/ok.png' border='0'><br>Reserva Alterada!</font></p></h3></div><br>";

// inclui a página "ver.php" abaixo da mensagem de sucesso
include("ver.php");
}
}

// se a variável "id" não for válida mostra mensagem de erro
else
{

echo "Erro: ID inválido!";
}
}

// se o formulário não foi enviado, pega nas informações da base de dados e mostra-as no formulário
else
{

// confirma se o valor da "id" é válido
if (is_numeric($_GET['id']) && $_GET['id'] > 0)
{

// pega na "id" da URL
$id = $_GET['id'];

// pega nos valor da base de dados
if($stmt = $mysqli->prepare("SELECT * FROM suites WHERE id=?"))
{

$stmt->bind_param("i", $id);
$stmt->execute();

$stmt->bind_result(
$id,
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial
);

$stmt->fetch();

// mostra o formulário
renderForm(
$nome,
$telefone,
$email,
$suite,
$tipo_reserva,
$checkin,
$checkout,
$late_checkout,
$pagamento,
$hora_chegada,
$camas_extra,
$berco,
$pequeno_almoco,
$jantar,
$data_jantar,
$animais,
$atividades,
$transporte,
$pedido_especial,
NULL, $id
);

$stmt->close();
}

// se existirem erros, mostra-os
else
{
echo "<br><div style='width:440px; margin-left:auto; margin-right:auto; padding:4px; border:2px solid red; color:red;'><h3><p align='center'><font

color='red'><img src='imagens/alert.png' border='0'><br>Erro: Impossivel preparar corrétamente o SQL.</font></p></h3></div><br>";
}
}

// Se o valor da "id" não for válido, volta para a página ver.php
else
{

ob_start(); header("Location: ver.php"); ob_end_clean();
}
}
}

?>

 

 

 

aproveito e colo tambem o ver.php pode ser necessario:

ver.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>MMH - Reservas Online</title>
</head>

<body>
<br>
<p align="center"><img src="imagens/logo.png" border="0"></p>
<p align="center"><titulo>LISTA DE RESERVAS</p></titulo></p>

<?php
// liga-se à base de dados
include('ligar-bd.php');

// habilita todas as mensagens de erro do PHP
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

// inclui os estilos da página
require_once("style.css");

// INICIO DA PAGINAÇÃO
// número de entradas exibidas por página (Paginação)
$per_page = 10;

// verifica o total de páginas na base de dados
if ($result = $mysqli->query("SELECT * FROM suites ORDER BY id"))
{

// se o número de páginas encontradas for diferente de zero
if ($result->num_rows != 0)
{

$total_results = $result->num_rows;

// ceil () retorna o próximo valor inteiro maior, arredondando para cima desse valor se necessário
$total_pages = ceil($total_results / $per_page);

// verifica se a variável "page"está indicada na URL (ex: ver.php?page=1)
if (isset($_GET['page']) && is_numeric($_GET['page']))
{

$show_page = $_GET['page'];

// confirma se o valor de $show_page é válido
if ($show_page > 0 && $show_page <= $total_pages)
{

$start = ($show_page -1) * $per_page;
$end = $start + $per_page;
}

// erro - mostra o primeiro conjunto de resultados
else
{
$start = 0;
$end = $per_page;
}
}

// se a página não for selecionada mostra o primeiro conjunto de resultados
else
{
$start = 0;
$end = $per_page;
}
// FIM DA PAGINAÇÃO

// mostra a tabela
echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#ffffff'>";
    echo "<tr> <th height='30' bgcolor='#cccc99'>ID</th> <th bgcolor='#336666'><font color='#ffffff'>Nome</font></th> <th bgcolor='#336666'><font color='#ffffff'>Suite</font></th> <th bgcolor='#336666'><font color='#ffffff'>Opções</font></th></tr>";

// faz um loop aos resultados encontrados na base de dados e exibe-os na tabela
for ($i = $start; $i < $end; $i++)
{

// verifica se o PHP não está a tentar exibir resultados que não existam
if ($i == $total_results) { break; }

// encontra uma linha específica
$result->data_seek($i);
$row = $result->fetch_row();

// mostra o conteúdo de cada linha na tabela
echo "<tr>";
        echo '<td bgcolor="#cccc99" align="center"><txt1>' . $row[0] . '</txt1></td>';
        echo '<td bgcolor="#ccccff" align="center"><txt2>' . $row[1] . '</txt2></td>';
        echo '<td bgcolor="#99ccff" align="center"><txt2>' . $row[2] . '<txt2></td>';
        echo '<td bgcolor="#cccc99" align="center"><txt1><b><i>&nbsp;<a href="individual.php?id=' . $row[0] . '"><img src="imagens/ver.png" border="0" alt="ver"></a>&nbsp;&nbsp;<a href="editar.php?id=' . $row[0] . '"><img src="imagens/editar.png" border="0" alt="editar"></a>&nbsp;&nbsp;<a href="apagar.php?id=' . $row[0] . '"><img src="imagens/apagar.png" border="0" alt="apagar"></a>&nbsp;</i></b></txt1></td>';
        echo "</tr>";
}

// fecha a tabela
echo "</table>";
}

// se não encontrar resultados mostra a mensagem
else
{
echo "Sem resultados!";
}
}

// se existirem erros na consulta mostra-os
else
{
echo "Erro de Consulta: " . $mysqli->error;
}
?>

<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#cccc99'>
<tr>
<td>
<div style=' margin-left:auto; margin-right:auto; padding:4px; border:30px solid #336666; color:#55572c; background-color:#cccccc;'>

<?php
echo '<p align="center"><img src="imagens/cliente.png" border="0"></p>';

// define a data de inicio da epoca alta
$inicio_alta = new DateTime("01-04-2016"); //exemplo

//adiciona 5 meses a essa data
$fim_alta = $inicio_alta->add(new DateInterval("P5M"));
    
// contagem total de resultados
$query = $mysqli->prepare("SELECT id FROM suites");
$query->execute();
$query->store_result();
$t_rows = $query->num_rows;
echo"<p align='center'><font size='5'>Existem atualmente <b>"; echo $t_rows; echo "</b> reserva(s).</font></p>";
// fim da contagem total de resultados

// mostra a mensagem com a data do final da epoca alta
echo "<p align ='center'><txt1>Configuração atual da Época Alta:</txt1><br>";
echo "<b>01-04-2016</b> a <b>";
echo $fim_alta->format("d-m-Y");
echo "</b></p><hr size='1'>";

// mostra a paginação
echo "<p align='center'></b> ";
for ($i = 1; $i <= $total_pages; $i++)
{
echo "| ";
if (isset($_GET['page']) && $_GET['page'] == $i)
{
echo $i . " ";
}

else
{
//echo "| ";
echo "<a href='ver.php?page=$i'>$i</a> ";
}
}
echo " |</p>";

$mysqli->close();
?>

<p align='center'>
<input type="button" value="Adicionar Nova Reserva" onclick="javascript: location.href='adicionar.php';" />
&nbsp;
<input type="button" value="Outra Página Qualquer" onclick="javascript: location.href='outra-pagina.php?page=1';" />
</p>
</div>

</td>
</tr>
</table>
</body>
</html>

Editado por joanita
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...