Autor Zpráva
MartanCJ
Profil
Dobrý den, v mysql začínám... Mám do školy vypracovat práci kde do již založené databáze vložím tabulku, vložím tam nějaká data a pak je zobrazím v php tabulce pomocí for... Tabulku sem vytvořil, vložil tam data, ale vypsání mi prostě né a né jít... sedím nad tím už 3 hodiny a žádný návod mi nepomohl... Dékuji za přípradnou pomoc

zde je zatím můj zdroj

<?php
$con = mysql_connect("localhost","martma08it","martma08it");
if (!$con)
{
die('Nelze pripojit k dazabazi: ' . mysql_error());
}
else
echo "Pripojen k databazi";

$spojeni=mysql_select_db(martma08it);

mysql_select_db("martma08it", $con);
$sql = "CREATE TABLE tbl_lidi
(
tbl_lidi_ID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(tbl_lidi_ID),
Jmeno varchar(15),
Prijmeni varchar(15),
Vek int
)";

mysql_select_db(martma08it, $con);
mysql_query("INSERT INTO tbl_lidi values ('Honza', 'Dub', '14')", $con);
mysql_query("INSERT INTO tbl_lidi values ('David', 'Buk', '25')", $con);
mysql_query("INSERT INTO tbl_lidi values ('Dežo', 'Toga', '22')", $con);



mysql_query($sql,$con)



?>


sicario
Profil
1) nejprve vkladas data do tabulky a pak i teprve vytvaris, prehod to.
2) k vyberu dat z tabulky se v sql pouzivaji kobnstrukce zacinajici na SELECT.
3) tady je priklad na vypis dat z db.
Philber
Profil
edit:sry
MartanCJ
Profil
1) nejprve vkladas data do tabulky a pak i teprve vytvaris, prehod to.
2) k vyberu dat z tabulky se v sql pouzivaji kobnstrukce zacinajici na SELECT.
3) tady je priklad na vypis dat z db.

nějak sem tě nepochopil... to mám nejdřív vložit data do tabulky a pak tabulku vytvořit? To je blbost ne?
Nox
Profil
MartanCJ
To $con je docela nadbytečné
Proč tam 2x vybíráš databázi? U druhého výběru ti navíc chybí uvozovky

A jinak - to chceš vypsat na stejné stránce jako jsi data vkládal?
Pak je rozumné to nezadávat takto napevno, ale do pole a vypsat to rovnou z něj
$qdata = array( array("Honza", "Dub", "14"), array(...  ));
$sql = "INSERT INTO tbl_lidi (Jmeno, Prijmeni, Cosi) values ";
foreach($qdata as $q) $sql.= "(".implode(",",$q)."),";
$sql = substr($sql,0,-1);
mysql_query($sql);

echo "<table>";
foreach($qdata as $q) echo "<tr><td>$q[Jmeno]</td><td>$q[Prijmeni]</td><td>$q[Cosi]</td></tr>";
echo "</table>";


Nevbo by to šlo dát rovnou do toho prvního cyklu, jen by se musel (to bude muset každopádně, ale...) ošetřit případ, kdy se data vložit nepovede
MartanCJ
Profil
Omlouvám se, ale nějakej nerozumím... Ono učitel mi to zadal jako první práci s mysql a nijak nám nevysvětlil jak s tím pracovat, že si to máme najít.... Nechápu kam zabudovat těch tvých 9 řádků, dík.
Nox
Profil
Místo toho druhého select_db až posledního mysql_query
Ale zase abys to nekopíroval bezmyšlenkovitě, ten první řádek si stejně musíš doplnit, ale to je normální pole tak to bys snad zvládnout mohl...
většina toho, co tam mám, se netýká mysql ale php, ta první část sestaví dotaz mysql, přičemž využívám tvaru "INSERT INTO table (column1, column2, column3) values (val1,val2,val3),(val1,val2,val3),(val1,val2,val3)" aby to nemuselo být ve třech dotazech
MartanCJ
Profil
<?php
$con = mysql_connect("localhost","martma08it","martma08it");
if (!$con)
{
die('Nelze pripojit k dazabazi: ' . mysql_error());
}
else
echo "Pripojen k databazi";

$spojeni=mysql_select_db(martma08it);

mysql_select_db("martma08it", $con);
$sql = "CREATE TABLE tbl_lidi
(
tbl_lidi_ID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(tbl_lidi_ID),
Jmeno varchar(15),
Prijmeni varchar(15),
Vek int
)";

$qdata = array( array("Honza", "Dub", "14"), array(... ));
$sql = "INSERT INTO tbl_lidi (Jmeno, Prijmeni, Cosi) values ";
foreach($qdata as $q) $sql.= "(".implode(",",$q)."),";
$sql = substr($sql,0,-1);
mysql_query($sql);

echo "<table>";
foreach($qdata as $q) echo "<tr><td>$q[Jmeno]</td><td>$q[Prijmeni]</td><td>$q[Cosi]</td></tr>";
echo "</table>";


mysql_query($sql,$con)



?>

pochopil sem to dobře?
pokud ano hází to chybu na 22. řádku, $qdata = array( array("Honza", "Dub", "14"), array(... ));
Parse error: syntax error, unexpected '.', expecting ')' in /home/martma08it/public_html/mysql.php on line 22
Alphard
Profil
MartanCJ:
pokud ano hází to chybu na 22. řádku, $qdata = array( array("Honza", "Dub", "14"), array(... ));
Nevidíte ty ...? :-) Nejde to jen zkopírovat.

Nox:
většina toho, co tam mám, se netýká mysql ale php
Právě, pokud MartanaCJ dobře chápu, má za úkol uložit do databáze data a pak je vypsat.

Výpis z tabulky:
$result = mysql_query("select * from tbl_lidi");
while($line = mysql_fetch_assoc($result)) // závorka doplněna, dík
{
echo $line['nazev_sloupce'];
}
MartanCJ
Profil
Mám je ale vypsat do tabulky :) Sice pomocí příkazu for, ale zas tak bych to nehrotil....
Takže mám teď tu spodní část

$qdata = array( array("Honza", "Dub", "14"), array("Pepa", "Buk", "22"));
$sql = "INSERT INTO tbl_lidi (Jmeno, Prijmeni, Vek) values ";
foreach($qdata as $q) $sql.= "(".implode(",",$q)."),";
$sql = substr($sql,0,-1);
mysql_query($sql);

echo "<table>";
foreach($qdata as $q) echo "<tr><td>$q[Jmeno]</td><td>$q[Prijmeni]</td><td>$q[Vek]</td></tr>";
echo "</table>";

ale tabulka se vůbec nezobrazí....
MartanCJ
Profil
Ta tabulka <table> se vůbec nezobrazí, fakt nevím co s tím... to už je skoro beznaděj
Nox
Profil
Alphard
Mě právě přišlo nelogický je do databáze zapsat a pak je zase z ní dolovat v jednom skriptu, ikdyž je to procvičení mysql, tak mi to asi mohlo dojít.
Chtělo by to asi upřesnit zadání, ale spíš asi tvá verze je správně
(jen drobnost - u whilu chybí koncová závorka)

MartanCJ
mysql_query("INSERT INTO tbl_lidi (Jmeno, Prijmeni, Vek) values ('Honza','Dub',14),('Pepa','Buk',22)");
Po provedení tohoto zkontroluj, jestli se to fakt vložilo do té databáze, nejsem neomylný, možná je tam chyba

A potom ta další část viz Alphard, samozřejmě to napsal jen zhruba, ale upravit bys to snad měl zvládnout
MartanCJ
Profil
Já ani nevím jak zkotrolovat jestli se to tam zapsalo... říkám, že o mysql nevím skoro nic... vím že se mi v phpmyadmin vytvořila tabulka, ale jestli sou v ní data nevím. Každopádně díky za pomoc :)
Alphard
Profil
MartanCJ:
Když vůbec netušíte, o co jde, tak bude lepší si to nastudovat a pak na fórum přijít s konkrétním problémem.
Začněte tady http://www.linuxsoft.cz/article.php?id_article=337 a pokračujte po díl 42.
MattanCJ
Profil *
Moc rad, ale kdyz dostanu praci ve ctvrtek a zitra odevzdat, tak je to docela na rychlo, tak se snazim jakkoliv do zitra udelat
MartanCJ
Profil
Koukám a vložilo se to tam... Opravdu netuším proč to není v tabulce...
MartanCJ
Profil
<?php 
$con = mysql_connect("localhost","martma08it","martma08it"); 
if (!$con) 
{ 
die('Nelze pripojit k dazabazi: ' . mysql_error()); 
} 
else 
echo "Pripojen k databazi"; 


mysql_select_db("martma08it", $con);
$sql = "CREATE TABLE tbl_lidi
(
Jmeno varchar(15),
Prijmeni varchar(15),
Vek int
)";

mysql_query("INSERT INTO tbl_lidi (Jmeno, Prijmeni, Vek) values ('Honza','Dub',14),('Pepa','Buk',22)");


?>


Asi už naposledy vás téměr nakolenou prosím jak data která mám již v databázi vložené vepsat do tabulky... Prošel sem spoustu návodů (linuxsoft, diskuze tady na jakpsatweb, tvorba-webu.cz a další) ale ani jeden jsem asi nepochopil nebo mi prostě nefungoval...

Data již v databázi jsou zapsána, chybí mi jenom tendle poslední a velmi důležitý krok...
Alphard
Profil
nevím, co nechápeš na [#9]
to echo obal <td> a je to
MartanCJ
Profil
Nevím, asi to píšu blbě a nefunguje mi to... hodíš sem prosím ten příkaz i s tou tabulkou? dík moc...
Alphard
Profil
$result = mysql_query("select Jmeno, Prijmeni, Vek from tbl_lidi");
if (!$result) echo mysql_error();
else
{
  echo "<table>";
  while($line = mysql_fetch_assoc($result))
  {
    echo "<tr><td>$line[Jmeno]</td></td>$line[Prijmeni]</td><td>$line[Vek]</td></tr>";
  }
  echo "</table>";
}
MartanCJ
Profil
http://student.sps-prosek.cz/~martma08it/mysql.php

divný proč to nemám v tabulce... Jinak ale dík, zatím supr!

nic nic, už to mám... strašně díky... nevím jak se odvděčit :)
Toto téma je uzamčeno. Odpověď nelze zaslat.