Autor Zpráva
shistain
Profil
Zdravím,
mám formulář,který má zapisovat data do databáze.
Formulář:
<form action="process.php" method="post" enctype="application/x-www-form-urlencoded" name="zapis" id="zapis">
  <p>
    <label><span class="auto-style5">HOME</span>
      <span class="auto-style5">&nbsp; AWAY </span><br />
      <br />
      <select name="home" id="home" style="width: 133px; background-color: #999999; color: #000000;">
        <option value="Manchester United">Manchester United</option>
        <option value="Chelsea FC">Chelsea FC</option>
        <option value="Manchester City">Manchester City</option>
        <option value="CSKA Moscow">CSKA Moscow</option>
        <option value="FC Barcelona">FC Barcelona</option>
        <option value="Real Madrid C.F.">Real Madrid C.F.</option>
        <option value="Tottenham Hotspur FC">Tottenham Hotspur FC</option>
        <option value="Celtic FC">Celtic FC</option>
        <option value="Liverpool FC">Liverpool FC</option>
        <option value="Inter Milan">Inter Milan</option>
        <option value="Juventus">Juventus</option>
        <option value="FC Bayern München">FC Bayern München</option>
        <option value="Olymypique Lyon">Olymypique Lyon</option>
        <option value="Olympique Marseille">Olympique Marseille</option>
        <option value="FC Arsenal London">FC Arsenal London</option>
        <option value="AC Milan">AC Milan</option>
      </select>
    </label>
    <img alt="" class="auto-style6" height="57" src="images/vs.jpg" width="63" /><select id="away" class="auto-style2" name="away" style="width: 133px; background-color: #999999; color: #000000;">
      <option value="Manchester United">Manchester United</option>
      <option value="Chelsea FC">Chelsea FC</option>
      <option value="Manchester City">Manchester City</option>
      <option value="CSKA Moscow">CSKA Moscow</option>
      <option value="FC Barcelona">FC Barcelona</option>
      <option value="Real Madrid C.F.">Real Madrid C.F.</option>
      <option value="Tottenham Hotspur FC">Tottenham Hotspur FC</option>
      <option value="Celtic FC">Celtic FC</option>
      <option value="Liverpool FC">Liverpool FC</option>
      <option value="Inter Milan">Inter Milan</option>
      <option value="Juventus">Juventus</option>
      <option value="FC Bayern München">FC Bayern München</option>
      <option value="Olymypique Lyon">Olymypique Lyon</option>
      <option value="Olympique Marseille">Olympique Marseille</option>
      <option value="FC Arsenal London">FC Arsenal London</option>
      <option value="AC Milan">AC Milan</option>
    </select>
  </p>
  <p>&nbsp;</p>
  <label>
    <input type="text" name="vysl1" id="vysl1" style="width: 42px; color: #FFFFFF; background-image: url('images/textpole.jpg');" />
    <input id="vysl2" class="auto-style1" name="vysl2" style="width: 42px; background-image: url('images/textpole.jpg'); color: #FFFFFF;" type="text" />
  </label>
  <label>
    <br />
    <input type="submit" value="Zapsat" />
  </label>
</form>


a soubor process.php:
<?php
$home=$_POST['home'];
$away=$_POST['away'];
$vysl1=$_POST['vysl1'];
$vysl2=$_POST['vysl2'];

mysql_connect ("host", "user", "pass") or die ('Error: ' .mysql_error());
mysql_select_db ("databaze");
$query="INSERT INTO vysledky (id, home, away, vysl1, vysl2)VALUES ('NULL','".home."', '".away."', '".vysl1."', '".vysl2."')"

echo "Výsledek uložen"

?>


Ale když ve formuláři odešlu data tak se ukáže prazdná stránka process.php a nic se nezápíše.
Prosím o pomoc
panther
Profil
shistain:
Ale když ve formuláři odešlu data tak se ukáže prazdná stránka process.php a nic se nezápíše.
ano, máš tam syntaktické chyby.

Zapni si vypisování chybových hlášek, případně i mysql_error(), pokud bys měl chybu i v dotazu po odstranění synt. chyb.
Spectator
Profil
1) středníky !!!!!!!!!!!!!!!!!
2) dotaz není dotazem mysql_query(), ale jen proměnnou $query.
3) to co doplňuješ v závorce VALUES nejsou platné názvy proměnných, chybí $$$$$$$$
4) echo "Výsledek uložen"; bych vypsal na základě nějaké splněné/nesplněné podmínky a ne jen tak
5) jak bylo řečeno, zapni mysql_error();
shistain
Profil
jsem začátečník ,prosím nemohli by ste mi říct přesně co kde jak nahradit
děkuju
Spectator
Profil
shistain:
jak ses dostal až sem?

<?php
$home=$_POST['home'];
$away=$_POST['away'];
$vysl1=$_POST['vysl1'];
$vysl2=$_POST['vysl2'];

//host user pass - snad nějak doplňuješ :-)
$link=mysql_connect("host", "user", "pass") or die ('Error: ' .mysql_error());
mysql_select_db("databaze",$link);
mysql_query("INSERT INTO vysledky (id, home, away, vysl1, vysl2) VALUES ('NULL','".$home."', '".$away."', '".$vysl1."', '".$vysl2."')");
?>
shistain
Profil
jo :-) děkuju,ale spíš nevím jak vypsat ten text jestli je to dobře nebo špatně zapsané
Spectator
Profil
if(mysql_query(".........")) echo "Uloženo";
shistain
Profil
děkuju a ještě jestli teda mužu bych potřeboval poradit
kdybych měl v databazi sloupec ,,Manchester United,, a ve formuláři když vyberu v listmenu Manchester united a vedle toho třeba zas nějaký jiný tým a ke každému pod tím zapíši výsledek ,tak aby se to zapsalo v databazi k tomu tymu ktery jsem vybral ve formuláři.Teď mám v databazi sloupce home a away a ktomu se mi zapiše co vyberu ve formuláři(manchester united...).Nebo jestli bude lepší když budu mít už v databazi sloupce Tým,Skore,Body a v ,Tým, už budu mít např. Manchester United a ve ,Skore, bude 0:0 a v ,Body, 0 a potom udělat formulář formou aktualizace že když se zapiše vysledek tak aby se to přičetlo k 0:0 a v ,Body, jestli bude vyhra tak se přičtou automaticky 3 body a jestli prohra tak 0 jestli remiza tak 1 bod jestli to ten formulář rzopozná kdo vyhral stoho vysledku jakoby :-).vím že to je moc rad ale prosím o pomoc
tiso
Profil
shistain: zobral si si preveľké sústo, uč sa na menších veciach, a hlavne od základov k zložitejším veciam.
Spectator
Profil
třeba udělej tabulky takhle:

tabulka týmů:
idTýmu, názevTýmu, body, ...

tabulka zápasů:
idZápasu, idTeamu1, idTeamu2, idVýtěze, skore

záleží na tobě
shistain
Profil
tiso:
shistain: zobral si si preveľké sústo, uč sa na menších veciach, a hlavne od základov k zložitejším veciam.
vim že je to těžké ale potřeboval bych to.

ale jak by se dalo teda udělat že když zapišu vysledek do tabuky zapasy tak jestli nějakým skriptem se da udelat ze se zapiši 3 body jestli vyhral nebo 1 bod jestli prohral atd...?
Spectator
Profil
shistain:
vzhledem k tomu, ze když zapisuješ výsledek, tak bys měl nějakým způsobem dát najevo, kdo je výherce a kdo ne, popř remíza, protože by se tato informace dala při obyčejném uložení zaměnit. takže bych pro ukládání výsledků udělal nějaký malý formulář, kde bude jedno jméno, druhé jméno, skore a nějaký radio, kde si vybereš jednoho, druhýho nebo remízu. No a k zpracování toho formu prostě přiřadíš k jednotlivejm daný počet. O co jde?
Keeehi
Profil
Spectator:
Radio je zbytečné, pokud to bude script potřebovat, tak si to dopočítá. Pokud se bojíš o nepřehlednost, tak dej tým1 skóre tým2. Tam je krásně vidět, kdo kolik gólů/košů/bodů dal.
shistain
Profil
Keeehi:
Radio je zbytečné, pokud to bude script potřebovat, tak si to dopočítá. Pokud se bojíš o nepřehlednost, tak dej tým1 skóre tým2. Tam je krásně vidět, kdo kolik gólů/košů/bodů dal.
Nechápu.Jak bude vypadat ten skript? nebo jak si to dopočítá? nebo jestli by se dalo že do pole ,skore, že rovnou ten kdo bude mít víc tak se mu přičtou body?
Keeehi
Profil
budeš to mít třeba takto
select(tym1) input(name=prvni) : input(name=druhy) select(tym2)
porovnáním hodnot z inputů zjistíš, kdo to vlastně vyhrál
if ($_POST["prvni"] > $_POST["prvni"]){
    // vyhrál první
}
elseif ($_POST["prvni"] < $_POST["prvni"]){
    // vyhrál druhý
}
else {
    // remíza
}
shistain
Profil
aha a jak by to prosím vypadalo v tom formuláři :
<form action="process.php" method="post" enctype="application/x-www-form-urlencoded" name="zapis" id="zapis">
  <p>
    <label><span class="auto-style5">HOME</span>
      <span class="auto-style5">&nbsp; AWAY </span><br />
      <br />
      <select name="home" id="home" style="width: 133px; background-color: #999999; color: #000000;">
        <option value="Manchester United">Manchester United</option>
        <option value="Chelsea FC">Chelsea FC</option>
        <option value="Manchester City">Manchester City</option>
        <option value="CSKA Moscow">CSKA Moscow</option>
        <option value="FC Barcelona">FC Barcelona</option>
        <option value="Real Madrid C.F.">Real Madrid C.F.</option>
        <option value="Tottenham Hotspur FC">Tottenham Hotspur FC</option>
        <option value="Celtic FC">Celtic FC</option>
        <option value="Liverpool FC">Liverpool FC</option>
        <option value="Inter Milan">Inter Milan</option>
        <option value="Juventus">Juventus</option>
        <option value="FC Bayern München">FC Bayern München</option>
        <option value="Olymypique Lyon">Olymypique Lyon</option>
        <option value="Olympique Marseille">Olympique Marseille</option>
        <option value="FC Arsenal London">FC Arsenal London</option>
        <option value="AC Milan">AC Milan</option>
      </select>
    </label>
    <img alt="" class="auto-style6" height="57" src="images/vs.jpg" width="63" /><select id="away" class="auto-style2" name="away" style="width: 133px; background-color: #999999; color: #000000;">
      <option value="Manchester United">Manchester United</option>
      <option value="Chelsea FC">Chelsea FC</option>
      <option value="Manchester City">Manchester City</option>
      <option value="CSKA Moscow">CSKA Moscow</option>
      <option value="FC Barcelona">FC Barcelona</option>
      <option value="Real Madrid C.F.">Real Madrid C.F.</option>
      <option value="Tottenham Hotspur FC">Tottenham Hotspur FC</option>
      <option value="Celtic FC">Celtic FC</option>
      <option value="Liverpool FC">Liverpool FC</option>
      <option value="Inter Milan">Inter Milan</option>
      <option value="Juventus">Juventus</option>
      <option value="FC Bayern München">FC Bayern München</option>
      <option value="Olymypique Lyon">Olymypique Lyon</option>
      <option value="Olympique Marseille">Olympique Marseille</option>
      <option value="FC Arsenal London">FC Arsenal London</option>
      <option value="AC Milan">AC Milan</option>
    </select>
  </p>
  <p>&nbsp;</p>
  <label>
    <input type="text" name="vysl1" id="vysl1" style="width: 42px; color: #FFFFFF; background-image: url('images/textpole.jpg');" />
    <input id="vysl2" class="auto-style1" name="vysl2" style="width: 42px; background-image: url('images/textpole.jpg'); color: #FFFFFF;" type="text" />
  </label>
  <label>
    <br />
    <input type="submit" value="Zapsat" />
  </label>
</form>


a v process.php:
<?php
$home=$_POST['home'];
$away=$_POST['away'];
$vysl1=$_POST['vysl1'];
$vysl2=$_POST['vysl2'];

$link=mysql_connect("host", "user", "pass") or die ('Error: ' .mysql_error());
mysql_select_db("databaze",$link);
mysql_query("INSERT INTO vysledky (id, home, away, vysl1, vysl2) VALUES ('NULL','".$home."', '".$away."', '".$vysl1."', '".$vysl2."')");
?>
Ono by bylo totiž fakt lepší mít dvě dabulky v myslq jednu tabulka týmů(idtýmu,nazevtymu,body,skore(sem by se příčitalo skore z tabulky vysledků-začínalo by to na 0:0)) a druhá tabulka zápasů(idzápasu, idteamu1, idteamu2, idvýtěze, skore)
Keeehi
Profil
V tomto případě přece nepotřebujete zjistit, kdo vyhrál.

shistain:
Ono by bylo totiž fakt lepší mít dvě dabulky v myslq jednu tabulka týmů(idtýmu,nazevtymu,body,skore(sem by se příčitalo skore z tabulky vysledků-začínalo by to na 0:0)) a druhá tabulka zápasů(idzápasu, idteamu1, idteamu2, idvýtěze, skore)
To rozhodně. Většinou ale v první tabulce sloupec skore není a vždy se dopočítává aktuálně z druhé tabulky. Občas se vyskytnout může, a to tehdy, když je ta informace (v tomto případě skóre) velmi často žádaná a její výpočet je nějak velmi obtížný (časově/složitostně/paměťove/…).
Tu druhou tabulku bych však viděl spíše jako ji máte teď vy.
shistain
Profil
V tomto případě přece nepotřebujete zjistit, kdo vyhrál. 
no potřebuju protože jak potom se zapíší bud 3 body nebo 1 bod nebo 0 ? no v te první tabulce by se to k sloupci skore pricitalo-celkové skore a v té druhé by bylo jenom k tomu určitému zápasu
Keeehi
Profil
shistain:
Právě že to skóre (popř. body) spočítáš až při výpisu, takže 1) ušetříš data (o sloupec méně) 2) nemusíš to pořád akrualizovat (čti provádět update řádků) a data jsou vždy aktuální.
shistain
Profil
aha takže když si vytvořím v mysql tabulku:,tymy, v ní by byly sloupce: idtymu,nazevtymu,body.Potom bych si vytvořil další tabulku : ,vysledky, se sloupcema: idzapasu,idtymu1,idtymu2,skore, a mám tam dát i ,idvítěze,? jak by potom vypadaly ty kódy(formular a proces.php)?
shistain
Profil
Jestli to skóre a body pak spočítám až ve výpisu,tak ale furt nevím jak udělat aby když si vyberu ve formuláři nějaky tým tak aby se do databaze zapsaly k němu ty body: 3 vyhra,1remiza a 0 prohra,prosím můžete mi ještě poradit?
Keeehi
Profil
shistain:
Vždyť to můžeš dělat taky př výpisu ne?
shistain
Profil
dobře takže mám si vytvořit jenom jednu tabulku kde bude-idvysledku,tym1,tym2,skore1,skore2?? a až pak při výpisu budu mít teda tabulku,ve které budou týmy,celkové skore,počet zápasů,body a podle bodů se určí pořadí týmů,to všechno až při výpisu?
shistain
Profil
tak když to tam zapíšu,tak jak pak teda to mám vypsat do tabulky v html třeba a aby mi to vypočetlo body a celkove skore a pořadí těch týmu,je na to nějaký javascript ? já jsem hledal vypis z databaze ale moc jsem s toho nic nepochopil,stačil by prosím jenom nějaký příklad

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0