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

Fiz um teste com seu código, e este funcionou sem problemas.
Segue o que foi feito:

<?php

header('Content-type: text/html; charset=utf-8');

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
}

renderForm(
$nome = 'Marcos',
$telefone = '5511999999999',
$email = 'mleandrojr@yggdrasill.com.br',
$suite = 'Azul Céu',
$tipo_reserva = 'Pessoalmente',
$checkin = '',
$checkout = '',
$late_checkout = '',
$pagamento = '',
$hora_chegada = '',
$camas_extra = '',
$berco = '',
$pequeno_almoco = '',
$jantar = '',
$data_jantar = '',
$animais = '',
$atividades = '',
$transporte = '',
$pedido_especial = '',
$error = '', $id = ''
);

 

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

  • 0

não percebi... o que alteraste? o que se passa aqui é que eu da forma que te mostrei que meti o php, ele funciona bem no edit.php, mas apos editar não retorna o valor dentro dos selects, so depois de fazer refresh é que esse valor aparece, o que não é normal pois quem vai editar necessita saber o que la estava anteriormente... a questão é que os valores no banco deviam aparecer ao clicar em "editar.php"

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
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...