PHP anketa - dotaz – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP anketa - dotaz – PHP – Fórum – Programujte.comPHP anketa - dotaz – PHP – Fórum – Programujte.com

 

Toreto
~ Anonymní uživatel
3 příspěvky
27. 9. 2013   #1
-
0
-

Zdravím, 

chtěl bych se vás zeptat mám za úkol naprogramovat anketu, chci se zeptat jak by se přes radio buttony odeslal dotaz na databázi. Bohužel takto jak to mám to nejde.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
   <head>
   <meta http-equiv="content-type" content="text/html; charset=windows-1250">
   <meta name="generator" content="PSPad editor, www.pspad.com">
   <title>Anketa - PHP - SQL </title>
   <link rel="Stylesheet" href="anketa.css" type="text/css">
   </head>
   <body>
   <fieldset>Vaše nejoblíbenější pivo je?
   <form action="pokus.php" method="POST">
   <table>
   <tr><td><input type="radio" name="1" values="budvar">Budvar</td></tr>
   <tr><td><input type="radio" name="1" values="kozel">Kozel</td></tr>
   <tr><td><input type="radio" name="1" values="gambrinus">Gambrinus</td></tr>
   <tr><td><input type="radio" name="1" values="bernard">Bernard</td></tr>
   <tr><td><input type="submit" value="Ulož hlas"></td></tr>
   </table>
   </form>
   </fieldset>

   <?php
   require("connect.php");
   if(isset($_POST["budvar"])){
   $budvar=$_POST["budvar"];
   $dotaz="insert into odpovedi(budvar) values (\"$budvar\")";
   echo ($dotaz);
   $vysledek=mysql_query($dotaz) or die ("Chyba nelze uložit.");

   }






   ?>






   </body>
 </html>

Nahlásit jako SPAM
IP: 85.207.106.–
Kowalsky950
Stálý člen
27. 9. 2013   #2
-
0
-

Odkazuješ se špatně přes POST. Je to tam zakodovano jako name. Tedy
 

$odpoved=$_POST['1'];


s tím že se ti uloží value toho radia, ktery je vybrany. Takže pro prvni radio by se do $odpoved ulozilo budvar.
Nebo je přímo problem s databazi?

Nahlásit jako SPAM
IP: 90.176.114.–
Ericsko+3
Stálý člen
28. 9. 2013   #3
-
0
-

Mas tam viac veci dost pomotanych:

1. Predpokladam, ze cely tvoj script sa vola "pokus.php", takze po odoslani formulara sa data poslu tomu istemu scriptu.

2. Radio buttony by mali vyzerat napr, takto:

<input type="radio" name="odpoved1" value="budvar">Budvar
<input type="radio" name="odpoved1" value="kozel">Kozel
<input type="radio" name="odpoved1" value="gambrinus">Gambrinus
<input type="radio" name="odpoved1" value="bernard">Bernard

(Pre prehladnost som odstranil tabulkove tagy, samozrejme si ich tam mozes ponechat. Atribut sa spravne vola "value", nie "values")

3. Ako spravne napisal Kovalsky95, po odoslani precitas zaskrtnuty radiobutton v premennej $_POST['odpoved1']

4. MySQL dotaz zavisi od toho, aku tabulku si si v databaze vytvoril. Predpokladajme, ze mas tri otazky a chces na ne zaznamenavat odpovede, budes vsak zaznamenavat odpovede od roznych ludi, idealne teda v tabulke treba aspon odlisit, kedy bol zaznam vytvoreny. Dobrym zvykom je pridat stlpec pre jednoznacnu identifikaciu zaznamu (id) s primarnym klucom, napr:

CREATE TABLE `odpovede` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `odpoved1` varchar(64) COLLATE utf8_slovak_ci DEFAULT NULL,
  `odpoved2` varchar(64) COLLATE utf8_slovak_ci DEFAULT NULL,
  `odpoved3` varchar(64) COLLATE utf8_slovak_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci AUTO_INCREMENT=1 ;

 Pridanie jedneho zaznamu bude teda vyzerat takto (id a timestamp prida automaticky databaza):

INSERT INTO `odpovede` (`odpoved1`, `odpoved2`, `odpoved3`) VALUES
('pivo', 'vino', 'kava');

Tvoj php script potom bude vyzerat nasledovne:

require("connect.php");
if(isset($_POST["odpoved1"])){
    $odpoved1 = $_POST["odpoved1"];
    $dotaz = "INSERT INTO `odpovede` (`odpoved1`) VALUES (`$odpoved1`)";
    echo $dotaz;
    $vysledek = mysql_query($dotaz) or die ("Chyba: nelze uložit");
}

V pripade, ze by si chcel ukladat aj dalsie otazky, samozrejme pridas v HTML casti radiobuttony s novym "name" rozsiris INSERT o tie dalsie stlpce.

Nahlásit jako SPAM
IP: 88.212.34.–
Toreto
~ Anonymní uživatel
3 příspěvky
28. 9. 2013   #4
-
0
-

#3 Ericsko
Díky moc!!!! :)

Nahlásit jako SPAM
IP: 85.207.106.–
Toreto
~ Anonymní uživatel
3 příspěvky
28. 9. 2013   #5
-
0
-

#2 Kowalsky95
Taktéž děkuji za odpověď. Problém večer nastínim detailněji... :) 

Nahlásit jako SPAM
IP: 85.207.106.–
peter
~ Anonymní uživatel
4014 příspěvků
30. 9. 2013   #6
-
0
-

<input onclik="this.form.submit()">

Nahlásit jako SPAM
IP: 193.84.207.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

Podobná vlákna

PHP ANKETA - 1Hlas 1IP — založil Jirka Král

PHP anketa s grafickým znázorněním výsledků — založil Ing. MuDr. Josef Novák

Sql dotaz v PHP — založil Brambor

SQL dotaz v php — založil kadla

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý