banalitka v php a mysql - insert a select do DB
Na php a mysql jsem prostě levej, dělám s nimi už dlouho a stejně nedokážu takovou banalitu jako vložit jmeno a 5 cisel do DB a všechny i je pak zobrazit. Zde je co jsem vyplodil za 12 hodin:
tabulka kody v DB ma: name, code, date.
vloz.html:
<html>
<body>
<form action="vloz.php" method="post">
Zadej jmeno:
<input type="text" name="name" />
<br/>
Zadej cisla:
<input type="text" name="num[]" />
<input type="text" name="num[]" />
<input type="text" name="num[]" />
<input type="text" name="num[]" />
<input type="text" name="num[]" />
<input type="submit" name="odeslat" value="odeslat"/>
</form>
</body>
</html>
tady je vse ok.
------------------------
pridavani je vloz.php:
<?php
//ini_set('display_errors',true);
//error_reporting(E_ALL);
$jmeno=$_POST["name"];
$kod = array();
$kod=$_POST["num"];
$kodu_vlozeno = 0;
foreach($kod as $a)
if($a != '')
$kodu_vlozeno++;
if(empty($jmeno))
die("zadej jmeno!");
if(empty($kod[0]))
die("zadej kod 1!");
$link = mysql_connect('localhost', '-', '-');
if (!$link)
die('nemohu se spojit s: ' . mysql_error());
mysql_select_db("----")
or die(mysql_error());
$today = date("Y-m-d");
$query = "SELECT *, COUNT(*)
FROM kody
WHERE UNIX_TIMESTAMP(date)=UNIX_TIMESTAMP('$today')
AND name='$jmeno'
HAVING COUNT(*)<6
LIMIT 1";
$dotaz = mysql_query($query);
while($row = mysql_fetch_array($dotaz)) {
$kodu_dnes = $row['COUNT(*)'];
}
if(!isset($kodu_dnes))
$kodu_dnes = 0;
if($kodu_dnes == 5)
die ("tento uzivatel jiz dosahl 5 kodu pridanych DNES, zkus to prosim zitra");
$kodu = 5-$kodu_dnes;
if($kodu_vlozeno > $kodu)
echo "Dnes můžete zadat už jen " . $kodu . " kody. Poslední" . ($kodu_vlozeno-$kodu) . " kody nebudou vloženy";
$a = 0;
for($i=$kodu_dnes; $i<5; $i++) {
if(isset($kod[$a]))
if(!mysql_query("INSERT INTO kody SET name='$jmeno', code='$kod[$a]', date='$today'"))
die("odmitam klic ". $a+1 .", protoze ho uz mame, dal nepokracuji. dej v prohlizeci zpet a oprav zaznam ". $a+1);
$a++;
}
echo "Data vlozena ok!";
mysql_close($link);
?>
tak zde je problem, ze to prida pet kusu kodu vporadku, ale min nez pet to neprida korektne.
-----------------
zobrazeni je taky problem, to vubec nevim jak uchopit...
<?php
error_reporting(E_ALL);
$link = mysql_connect('localhost', '--', '---');
if (!$link) {
die('nemohu se spojit s: '. mysql_error());
}
echo "Jsme spojeni s DB<br />";
mysql_select_db("------") or die(mysql_error());
$dotaz = mysql_query("SELECT COUNT(*) FROM `kody`");
echo "v DB mame jiz ";
$row = mysql_fetch_array($dotaz, MYSQL_NUM);
echo isset($row[0]) ? $row[0] : "???";
echo " zaznamu";
$dotaz2 = mysql_query("SELECT * FROM `kody`");
$row2 = mysql_fetch_array($dotaz2, MYSQL_ASSOC);
var_dump($row2);
//echo isset($row2[0]) ? $row2[0] : "NIC";
mysql_close($link);
?>
Kdyztak prosim navest na nejaky tutorial, ale ten kde najdu co hledam, najit si na mysql umim spoustu ale nejak neumim ty informace syntetizovat do toho co potrebuji.