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

PRECISO AJUDA PARA TERMINAR ESTE SCRIPT


joanita

Pergunta

neste código eu listo as diversas entradas na tabela, uma abaixo da outra... a minha questão é a seguinte, queria que desse para ao clicar num link "VER" (à frente de cada entrada) me abri-se a página "individual.php" com o conteudo total dessa entrada, em vez de mostrar so o "id, nome e suite"

LISTAR.PHP

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

<?php
/*
    LISTAR.PHP
    Exibe todos os dados da tabela 'suites' já com paginação
*/

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

    // inclui os estilos da página
    require_once("style.css");
    
    // número de resultados a ser exibido por página
    $per_page = 10;
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites");
    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results / $per_page);

    // verifica se a variável 'page' está definida na URL (ex: listar.php?page=1)
    if (isset($_GET['page']) && is_numeric($_GET['page']))
    {
        $show_page = $_GET['page'];
        
        // verifica se o valor em $show_page é válido
        if ($show_page > 0 && $show_page <= $total_pages)
        {
            $start = ($show_page -1) * $per_page;
            $end = $start + $per_page;
        }
        else
        {
            // erro - mostra o primeiro conjunto de resultados
            $start = 0;
            $end = $per_page;
        }        
    }
    else
    {
        // se a página não estiver definida, mostra o primeiro conjunto de resultados
        $start = 0;
        $end = $per_page;
    }
    
    // mostra o titulo da pagina atual
    echo "<p align='center'><titulo>Lista Total de Reservas MMH</p></titulo><hr size='1'>";
        
    // exibe os dados existentes na tabela
    echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>";
    echo "<tr> <th bgcolor='#55572c'>ID</th> <th bgcolor='#55872c'>Nome</th> <th bgcolor='#55872c'>Suite</th> <th bgcolor='#55872c'>Opções</th></tr>";

    // faz um loop dos resultados pesquisados na base de dados e mostra-os na tabela
    for ($i = $start; $i < $end; $i++)
    {
        // certifica-se que o PHP não está a tentar mostrar resultados que não existem
        if ($i == $total_results) { break; }
    
        // mostra o conteúdo de cada linha da tabela
        echo "<tr>";
        echo '<td bgcolor="#55872c" align="center"><txt1>' . mysql_result($result, $i, 'id') . '</txt1></td>';
        echo '<td bgcolor="#00572c" align="center"><txt2>' . mysql_result($result, $i, 'nome') . '</txt2></td>';
        echo '<td bgcolor="#004221" align="center"><txt2>' . mysql_result($result, $i, 'suite') . '<txt2></td>';
        echo '<td bgcolor="#00572c" align="center"><txt1><b><i>&nbsp;<a href="editar.php?id=' . mysql_result($result, $i, 'id') . '"><img src="imagens/editar.png" border="0" alt="editar"></a>&nbsp;&nbsp;<a href="apagar.php?id=' . mysql_result($result, $i, 'id') . '"><img src="imagens/apagar.png" border="0" alt="apagar"></a>&nbsp;</i></b></txt1></td>';
        echo "</tr>";
    }
    // fecha a tabela
    echo "</table>";
    
?>

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href="adicionar.php">Adicionar Nova Reserva</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='individual.php?page=1'>Outra Página</a></i></b></p>

<?PHP
    // mostra a paginação
    echo "</b></p><hr size='1'>";
    echo "<p align='center'><b>";
    echo "| ";
    for ($i = 1; $i <= $total_pages; $i++)
    {
        echo "<a href='listar.php?page=$i'>$i</a> | ";
    }
?>

</txt1></td></table>
</body>
</html>

 

 

abaixo o código que recupera todos os dados individuais de cada entrada (como teste coloquei a abrir a ID=7 porque é a única que tenho atualmente)

INDIVIDUAL.PHP

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

<?php
/*
    INDIVIDUAL.PHP
    Exibe todos os dados de uma determinada suite
*/

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

    // inclui os estilos da página
    require_once("style.css");
    
    // pesquisa o total de páginas no banco de dados
    $result = mysql_query("SELECT * FROM suites WHERE (id = '7')");

    // mostra o titulo da pagina atual
    echo "<p align='center'><titulo>Reserva Atual</p></titulo><hr size='1'>";
        
    // mostra o conteúdo de cada linha da tabela
    echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>

     <tr><td align='right' width='150' height='32'><txt1>Nome:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;<font color='yellow'><b><i>" . mysql_result($result, $i, 'nome') .

"</b></i></txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Telefone:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'telefone') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Email:&nbsp;            </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'email') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Suite Reservada:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'suite') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Tipo de Reserva:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'tipo-reserva') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-in:&nbsp;        </txt1></td><td bgcolor='#91c200'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'checkin') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-out:&nbsp;        </txt1></td><td bgcolor='#ff1f1f'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'checkout') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Late Check out:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'late-checkout') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Valor já Pago:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;<b>    " . mysql_result($result, $i, 'pagamento') . " €</b>    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Hora de Chegada:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'hora-chegada') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Camas Extra:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'camas-extra') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Berços:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'berco') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Peq. Alm. no Quarto:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'pequeno-almoco') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Jantar Incluído:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'jantar') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data do Jantar:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'data-jantar') . "    </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Animais:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'animais') . "        </txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Atividades Incluídas:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'atividades') . "        </txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Serviço de Transporte:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'transporte') . "        </txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Pedido Especial:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;    " . mysql_result($result, $i, 'pedido-especial') . "    </txt2></td></tr>";

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

<table align='center' width='500' border='1' cellpading='3' cellspacing='3' bgcolor=''>
<td bgcolor='#55572c' align='center'><txt1>
<p align='center'><b><i><a href="adicionar.php">Adicionar Nova Reserva</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='listar.php?page=1'>Ver Todas as Reservas</a></i></b></p>
</txt1></td></table>
</body>
</html>

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

Posts Recomendados

  • 0

Comenta a linha da inserção ($result = mysql_query(...)), pega no texto da consulta e faz um echo dessa string. A seguir, preenche o formulário novamente e vê se todos os valores que inseriste estão a ser mostrados correctamente no ecrã. Se algum deles não aparecer, muito provavelmente tens aí o problema.

Link para o comentário
Compartilhar em outros sites

  • 0

não sei fazer isso...

ok já alterei e meti assim:

<?php
/*
 ADICIONAR.PHP
 Permite adicionar novas entradas á base de dados
*/

// HABILITA TODAS AS MENSAGENS DE ERRO
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

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

// inclui acesso ao servidor
require_once("ligar-bd.php");

// verifica se o formulário foi bem enviado. Se sim, guarda o formulário na base de dados
if (isset($_POST['submit']))
{
//$id          = $_POST['id'];
$nome          = $_POST['nome'];
$telefone      = $_POST['telefone'];
$email          = $_POST['email'];
$suite          = $_POST['suite'];
$tipo_reserva     = $_POST['tipo_reserva'];
$checkin      = $_POST['checkin'];
$checkout      = $_POST['checkout'];
$late_checkout    = $_POST['late_checkout'];
$pagamento      = $_POST['pagamento'];
$hora_chegada     = $_POST['hora_chegada'];
$camas_extra      = $_POST['camas_extra'];
$berco          = $_POST['berco'];
$pequeno_almoco   = $_POST['pequeno_almoco'];
$jantar          = $_POST['jantar'];
$data_jantar      = $_POST['data_jantar'];
$animais      = $_POST['animais'];
$atividades      = $_POST['atividades'];
$transporte      = $_POST['transporte'];
$pedido_especial  = $_POST['pedido_especial'];

// String com consulta SQL que insere os dados na base de dados
$result = mysql_query("INSERT INTO suites (
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
) VALUES (
null,
'$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'
) or die(mysql_error()");

//se os dados foram correctamente inseridos, mostra mensagem de sucesso
if ($result)
{

// após gravar mostra a mensagem de sucesso ou erro
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'>Reserva  

adicionada!</font></p></h3></div>";
}

//caso contrário, mostra 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'>ERRO:

Impossível adicionar a reserva!</font></p></h3></div>";
}
}
?>

<html>
<head>
<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>

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

<title>MMH</title>

</head>
<body>

<p align='center'><titulo>ADICIONAR NOVA RESERVA</p></titulo><hr size='1'></p>


<form action="" method="POST">
<p align="center">

<table 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="">
        </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=""
        </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=""
        </td>
    </tr>

    <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>

    <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="">
        </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="">
        </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>
            </select>
        </td>
    </tr>

    <tr>
        <td align="left">
            <label for="pagamento">Valor já Pago (€): </label>
        </td>
        <td>
            <input STYLE="line-height:22px;" type="text" name="pagamento" id="pagamento" value=" 0.00€">
        </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="">
        </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;?>"> Não tem pedidos

especiais...</textarea>
            <input type="hidden" name="enviar" id="enviar" value="S">
    </tr>

    <tr>
        <td align="left">
            <input type ="submit" name="submit" id="submit" value="Adicionar Reserva">
        </td>
    </tr>

</table>
</p>
</form>

<table align='center' width='450' border='0' cellpading='3' cellspacing='3' bgcolor=''>
<tr>
<td bgcolor='#55572c' align='center'>
<div style=' margin-left:auto; margin-right:auto; padding:4px; border:30px solid #55572c; color:#55572c; background-color:#cccccc;'>
<p align='center'>
<input type="button" value="Ver Todas as Reservas" onclick="javascript: location.href='listar.php?page=1';" />
&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>

já não me aparece esse erro, agora aparece o meu erro ao enviar (o que esta escrito no codigo php)

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'>ERRO:

Impossível adicionar a reserva!</font></p></h3></div>";

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

  • 0

se usar mysqli, adiciona QUASE perfeitamente... da-me o seguinte erro após enviar porquê? não encontro!

Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /.../reservar.php on line 343

 

reservar.php

<?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");

// inclui a ligação ao banco de dados
include ('ligacao.php');

if (isset($_POST['submit']))
{
$id        = 0;
$nome        = $_POST['nome'];
$telefone    = $_POST['telefone'];
$email        = $_POST['email'];
$suite        = $_POST['suite'];
$tipo_reserva    = $_POST['tipo_reserva'];
$checkin    = $_POST['checkin'];
$checkout    = $_POST['checkout'];
$late_checkout    = $_POST['late_checkout'];
$pagamento    = $_POST['pagamento'];
$hora_chegada    = $_POST['hora_chegada'];
$camas_extra    = $_POST['camas_extra'];
$berco        = $_POST['berco'];
$pequeno_almoco    = $_POST['pequeno_almoco'];
$jantar        = $_POST['jantar'];
$data_jantar    = $_POST['data_jantar'];
$animais    = $_POST['animais'];
$atividades    = $_POST['atividades'];
$transporte    = $_POST['transporte'];
$pedido_especial= $_POST['pedido_especial'];

$sql=$mysqli->prepare("INSERT INTO suites VALUES (
'$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'
)");

$sql->bind_param("isssssssssssssssssss",
$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
);

$sql->execute();
$sql->store_result();
$result=$sql->affected_rows;

// se o resultado for zero
if ($result > 0)
{

// 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 adicionada!</font></p></h3></div><br>";
}

// senao...
else
{

// mostra a mensagem de erro
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: Impossível adicionar a reserva!</font></p></h3></div><br>";
}}
?>

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

  • 0

obrigado já consegui ;) e coloquei já tudo em mysqli, mas agora preciso de outra coisa... eu tenho o formulario adicionar.php (que inclui diversos campos inclusive select boxes tipo drop down menu... e tenho outro ficheiro em que estou a trabalhar agora que é o editar.php, neste eu já consigo recuperar os valores guardados no db dentro dos inputs, acontece que não estou a conseguir recuperar os valores nos selects, ou seja aparecem sempre com as varias opçoes mas não aparece selecionada a que esta gravada no db... como posso fazer isso? é que num edit da jeito saber o que la estava! lol

<?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>

<p align='center'><titulo>EDITAR RESERVA EXISTENTE</p></titulo><hr size='1'>

<?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 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>

    <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>
            </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>

    <tr>
        <td>
        </td>
    <td align="right">
        <input type ="submit" name="submit" id="submit" value="Alterar Reserva">
    </td
    </tr>

</table>
</p>
</form>

<table align='center' width='450' border='0' cellpading='3' cellspacing='3' bgcolor=''>
<tr>
<td bgcolor='#55572c' align='center'>
<div style=' margin-left:auto; margin-right:auto; padding:4px; border:30px solid #55572c; color:#55572c; background-color:#cccccc;'>
<p align='center'>
<?php echo '<p align="center"><img src="imagens/logo.jpg" border="0"></p>';?>
<input type="button" value="Ver Todas as Reservas" onclick="javascript: location.href='ver.php?page=1';" />
&nbsp;
<input type="button" value="Outra Página Qualquer" onclick="javascript: location.href='outra-pagina.php?page=1';" />
</p>
</div>
</td>
</tr>
</table>
<p align='center'>Powered by: Ricky GAC</p>

</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();
}
}
}

?>

 

outra coisa que queria era que o script guardasse o registo de todas as reservas para consulta anual (talvez numa nova tabela ou algo do genero) e a tabela atual servia apenas para o uso no dia a dia, para ir apagando e inserindo as reservas consuante for necessário.

Por Ex: eu no script se a reserva já passou vou apagar, etc... (mais tarde gostava de meter um delete automatico apos a data de checkout), mas ao mesmo tempo preciso de no final do ano poder consultar o total de reservas do ano todo.

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...