Autor Zpráva
Alexandr
Profil
Dobrý den ,

tak mám problém ohledně rezervace zájezdů , udělal jsem tlačítko rezervace , že po kliknutí na tlačítko mě vyskočí menší okno s vyhledávačem a s skriptem ---> (jméno , příjmení, email , telefoni číslo , rezervace pokojů a obsazenost) . a jelikož mám dejme tomu 5 zájezdů .udělal jsem to , že když do vyhledávače zadáte 1-5 po pravé straně by se měl ukázat název hotelu, číslo zájezdu , cena, akce a cena po akci (je to výpis z databáze),(udělal jsem to takhkle ,ptž něvěděl jsem jak udělat to že i když kliknete na tu rezervaci na předchozí stránce , tak aby vyskočilo to malé okenko a ve vyhledávači by se rovnou ukázel ten zájezd bez toho aby jste museli zadávat číslo zájezdu)

dále, když proběhne rezervace , tak obsazenost daného pokoje se mě ukáže u všech zájezdů (tož já nechci) .

příklad:
zadám do vyhledávače číslo 1 . po pravé straně se mě ukáže název zájezdu, který chci zarezervovat , udělal jsem to jako takové nějaké ověření jestli chtějí opravdu ten zájezd rezervovat .(kdyby mě to vypsalo hned , nemusel jsem to takto udělat) a zádné ověření by nemuselo byt. Vypíšu údaje (jméno , příjmení ..... atd) zarezervuji si pokoj např číslo 1. a kliknu na rezervovat , zájezd se rezervuje odešle do databáze kde se zaeviduje a zapíše.
A když najedu znova na rezervovat druhý zájezd (který si vyberu z ceníku ) a zadám do vyhledávače č.2 , pokoj číslo 1 bude zarezervovaný i když to je už jinačí zájezd.

tak jestli neznáte nějakou fintu nebo podle něčeho(id nebo takové něco) aby to poznalo ze chci a rezervuji druhý zájezd oproti prvnímu.


Mat. projekt

tady se na to můžete podívat bliž. a vyzkoušet to :) ---> sjedete niž a tam už najdete tlačítko rezervace.

děkuji za úsilí a snahu mě pomoci :)
Camo
Profil
Alexandr:
(id nebo takové něco)
Tak to si vystihol úplne presne(bez srandy).
Evidentne tá tvoja logika čo máš naprogramovanú nerozoznáva id zájazdu vo vzťahu k izbe. Veď predsa keď ukladáš rezerváciu tak ukladáš aj číslo zájazdu. Ako inak by si vedel ku ktorému zájazdu izba patrí...
Alexandr
Profil
Právě, přesně jak říkaš :) .. ale mě právě to ID nějak nechce jet .. nebo nevím kde je chyba .

Moje představa je a byla taková , že když se zadá do vyhledávače číslo zájezdu po pravé straně se mě ukáže co je to za Hotel , název atd ..což mě funguje.. a rezervace pokojů právě na daný zájezd(což mě ještě nefrčí , ale zase nechci ke každému zájezdu vytvářet specialní stránku na rezervaci to by bylo zbytecné a moc nadlouho a podle mě se to dá nějak obejít . ptž kdybych ke každému zájezdu měl vytvářet dalši stránku ... no potěž ..


teoreticky chci , aby to fungovalo jako komentář ... že když zadáte jméno , příjmení ... atd .. tak ID se mě do databáze zapiše buď jako číslo zájezdu nebo jako jméno zájezdu a bude to daný "komentář" řadit k danému filmu .

a takhle nějak bych chtěl vyřesit i daný problěm
Camo
Profil
Alexandr:
Neviem či to robíš profesionálne, ale toto mi pripadá ako dosť rizikové a radšej by som sa držal osvedčených vzorov(vzhľadom na tvoje vedomosti).
Zabezpečiť konzistentnosť dát je úloha, ktorú musí každý kto to chce robiť zvládať.
Alexandr
Profil
Jsem student a toto mám jako maturitní projekt , s kterým se musím poprat ..

tady je kód podle kterého jsem to řešil jestli to nějak pomůže.

<h1 align="center">Rezervace leteckých zájezdů</h1>

<center>
<form action="">
<acronym title="TOTO okno slouží pro ověření rezervace zájezdů , po zadání čísla se na pravé straně musí zobrazit váš zájezd "><br>[Pro ověření zadej znovu číslo zájezdu , který chcete rezervovat]</acronym> <br><br>
<input class='textbox' name="rezer" value="<?=$_GET["rezer"]?>" type="text" maxlength="40" size="40" style="background-color:white; border-radius: 500px;"  />


<input type='submit' value='Vyhledat' class='button' style="background-color: darkgrey; border-radius: 20px;"/>
</form>
</center>


<input type="text" name="id" value="<?=$radek->cislozajezdu?>" width="1px" style="background-color:#FFDAB9; border-width: 1px;   border-style: solid; border-color: brown; display:none">






<?php
if($_GET["rezer"]){
$rezer = strtolower($_GET["rezer"]);
$rezer = str_replace('_',' ',$rezer);

mysql_connect("localhost","*********","**********");
mysql_set_charset("windows-1250"); 
mysql_select_db("**************");
$vysledek = mysql_query("SELECT * FROM `projekt` WHERE `cislozajezdu` = '" . $rezer . "' OR `termin` = '" . $rezer . "' OR `cena` = '" . $rezer . "' OR `nazev` = '" . $rezer . "' OR `akce` = '" . $rezer . "' OR `cenapoakci` = '" . $rezer. "'");
         while ($radek = mysql_fetch_object($vysledek))
  {    
?>

<br>

<h3 style="float: left;">
<style="padding-left: 7px;"><h3><u>Název HOTELU</u></h3> <style="padding-left: 5px"><H4><i><?=$radek->nazev?></i></H4></style><br>

<style="padding-left: 7px;"><h3><u>Číslo zájezdu</u></h3><style="padding-left: 5px"><H4><i><?=$radek->cislozajezdu?></i></H4></style><br>

<style="padding-left: 7px;"><h3><u>Cena zájezdu(1.os.)</u></h3><style="padding-left: 5px"><H4><i><?=$radek->cena?></i></H4></style><br>
<style="padding-left: 7px;"><h3><u>Akce na zájezd</u></h3><style="padding-left: 5px"><H4><i><?=$radek->akce?></H3></i></style><br>
<style="padding-left: 7px;"><h3><u>Celková cena po akci</u></h3><style="padding-left: 5px"><H4><i><?=$radek->cenapoakci?></i></H4></style><br>
</h3>



<?  
}
  mysql_free_result($vysledek);
}
?>

<?php
mysql_connect("localhost", "************", "********");
mysql_select_db("***********");

$jmeno = $_POST["jmeno"];
$prijmeni = $_POST["prijmeni"];
$telcislo = $_POST["telcislo"];
$email = $_POST["email"];
$id = $_POST["id"];

echo $_POST["prijmeni"];

for($a=1; $a<=10; $a++){
    $pokoj[$a] = $_POST["p$a"];
    if($pokoj[$a] == 1){
        $exist = mysql_numrows(mysql_query("SELECT * FROM rezervace WHERE pokoj='p$a'"));
        if($exist == 0){
            $sql = mysql_query("INSERT INTO rezervace(jmeno, prijmeni, pokoj, id,email,telcislo) VALUES('$jmeno', '$prijmeni', 'p$a', '$id','$email','$telcislo')");
            header("Location: rezervovano.php");
        }else{
            echo "Pokoj $a uz je rezervovan. <br>";


        }
    }
}
mysql_close();
?>
Camo
Profil
Alexandr:
Máš to zle navrhnuté a odporúčam ti to prepísať(ale najprv sa nad tým zamyslieť). Dizajn neriešime...
Ja som na tej tvojej stránke haluzil zopár minút, ale neobjednal by som si tam ani pizzu.
1.Každý čaká, že na takej stránke nájde ponuku zájazdov rozdelenú do kategórii(asi destinácie, doprava...), a tiež vyhľadávanie podľa kritérii (asi cena).
2.Každý JEDEN zájazd musí mať jedinečné ID, ktoré prenášaš ku klientovi v skrytom poli formulára.
3.Po kliku na "rezervovať" si to ID aj s číslom izby a ostatnými detailami uložíš do session.
4.U cestovky to môže byť aj posledný krok pre uložením do DB, takže nemusíš viesť nákupný košík.
5.To overovanie id zájazdu je blbosť. V obchodnom styku by niečo také ako "nevedel som čo objednávam" neuspelo, ak to tam máš čierne na bielom a vedome si to objednávaš. takže to overovať nemusíš. Kto je blbec je blbec jeho chyba...
...
Len dodám, že by bolo potrebné mať aj každú jednu izbu vedenú ako jedinečnú položku s tým, že obsahuje aj odkaz na id zájazdu.
Alexandr
Profil
vím , že to není nějak profesionálně , nebo udělané nejlépe ... ale dělal jsem podle možností to co nás teoreticky naučili.

a proto nechcu zacházet ještě do větších složitostí než jsem se pustil :D

a proto jsem se právě ptal jestli někdo , někdy nedělal to stejné nebo neřesil to stejné a mohl by mě poskytnou skripta nebo alspoň přepsat a nějak mě pomocí tohodle helpnut :)

profesionál nejsem , stránka se ani nikde na webu neobjeví , jde čistě jen o ten maturitni projekt :) aby na konci mojí práce bylo PROSPĚL :)
Camo
Profil
Alexandr:
Ide o to, že to takto asi nikto nikdy nerobil a ani robiť nebude.
By ma zaujímalo čo všetko ovládaš, keď už sa chceš do toho pustiť. Lebo vysvetľovať ti čo je to session, alebo ako sa tvoria sql príkazy sa mi a asi nikomu naozaj nechce.
IMHO s tými izbami je to blbosť. Zbytočne to komplikuješ. Žiadny zájazd ti vopred nezaručí, že dostaneš izbu číslo 42. Rozdeľ to do kategórii len podľa destinácie a izby sa rozdelia na 2/3/4 posteľové. Žiadne čísla izieb. To je blbosť.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: