Autor Zpráva
ra100
Profil *
Zdravim,
mam dve stránky. Formulár a ďaľšiu stránku, ktorá zpracováva prijaté data cez $_POST.
Formulárový prvok input ma meno="abcd" a ukladá jedno pismeno abecedy v rozmedzy a-z;
V druhom formulári sa spracuje input pomocou $abc = $_POST['abcd'];

Pri vkladani dat do mysql pomocou "INSERT INTO $abc(...,.......)" nemam problem z vlozenim.
Problem nastava pri sql prikaze "SELECT * FROM $abc"
Nechápem, ako jedna a tá istá premenná $abc v jednom prípade funguje a v druhom nie....
xmark
Profil
Životnost php proměnných končí doběhnutím php skriptu, tzn. chvilku před tím, než se ti stránka stáhne do prohlížeče. Nevím, proč chceš uchovávat název tabulky v proměnné, ale fungovat ti to nebude, pokud ten SELECT je v jiném souboru, než INSERT.
A tak nějak celkově.. tu konstrukci nechápu a myslím že bude dost zmatená a chybná.
ra100
Profil *
xmark
Prvok input "abcd" predava jedno pismeno abecedy, ktore sa uchováva v premennej $abc.
na základe zadaného abecedného pismena su vložené data do prislušnej tabulky v databaze.
Teda, ak bude zadaná hodnota v $abc = 'f'; , data z formularu sa vložia do tabulky z názvom 'f' - INSERT INTO $abc...
no prikaz SELECT * FROM $abc v tom istom dokumente nefunguje. ak ti to pomoze, poslem ti kod.
dakujem
snake.aas
Profil *
tak ten kód prskni tady, ne?
xmark
Profil
ra100:
Teda, ak bude zadaná hodnota v $abc = 'f'; , data z formularu sa vložia do tabulky z názvom 'f' - INSERT INTO $abc...

Ano, to je přesně to, co jsem označil za chybnou konstrukci.
Nicméně, jestli v $abc máš něco, použiješ to v tom insertu a na té samé stránce později v selectu, tak by to fungovat mělo.
Vypiš si přesný obsah těch dvou dotazů, ověř si, jestli se ten INSERT provede.
ra100
Profil *
tu je zjednodušený kód "

----- Prvy dokument -----
<form name="kniha" action="dokument2.php" method="post">
<b>Zadaj abecedne pismeno : </b>
<input name="abcd" size="2" maxlength="1"><br /><br />
<b>Názov : </b><br />
<input name="nazov" size="80"><br />
<br />
<input type="submit" value=" Odošli " name="bot">
</form>


-----Druhy dokument2 -----
$abc = $_POST['abcd'];
if (isset($_POST['bot']))
$sql_prikaz =
"INSERT INTO $abc(nazov,.......) "
."VALUES('"
.mysqli_real_escape_string($db_spojenie,$_POST['nazov'])
."')"
;
$sql = "SELECT * FROM $abc";
$objekt = mysqli_query($db_spojenie,$sql );
ra100
Profil *
xmark:
INSERT funguje v pohode.
no nie SELECT
to nechapem
xmark
Profil
ra100:
A já nechápem, co si slibuješ od tohoto:
$sql = "SELECT * FROM $abc"; 
$objekt = mysqli_query($db_spojenie,$sql );

Syntaxi mysqli neznám, takže nevím, jestli tam to $db_spojenie patří, ale nikde nevidím, že bys tam do nějaké konkrétní proměnné vytahoval konkrétní hodnotu z databáze.
A ještě k INSERTu: když tam vypíšeš sloupce, do kterých vkládáš hodnoty, ruka ti neupadne a eliminuješ tak spoustu možných chyb, které můžou nastat při změně ve struktuře tabulky. Nehledě na to, že je to prostě i v tom výpisu přehlednější a víš co kam jde.
snake.aas
Profil *
xmark:
to $db_spojenie tam patří.

ra100:
jestli ten kód není až moc zjednodušený, tak nemáš sql příkaz pro vložení řádku
mysqli_query($db_spojenie, $sql_prikaz)

za if (isset($_POST['bot'])) - neměl by tam být náhodou blok?

jestli to tam v kódu, máš, tak pardon, ale tady z toho to není vidět..
ra100
Profil *
xmark:
$db_spojenie je uz preddefinovaná premenná.
V každom prípade ďakujem všetkým za ochotu pomoct mi.
Neviem, ako som to opravil , no ono sa to rozbehlo a konečne to funguje ;)
ďakujem
ra100
Profil *
snake.aas:
dakujem snake....ono sa to rozbehlo a už to pracuje.

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