Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny