Autor | Zpráva | ||
---|---|---|---|
roman_an1 Profil |
nevíte někdo jak by měl vypadat ten dotaz..je to za pomocí hiddenu..mám normálně na strance vypsaná data a vedle kazdého data mám tlačítko přidat..a potřebuju aby při stisknutí daného tlačítka se odeslal pouze ten řádek kterej je přiřazenej
if(isset($_POST['pridat'])) { $mnozstvi = mysql_real_escape_string($_POST['mnozstvi']); $sql1=("select id_novinky from vyrobky_novinky WHERE id_novinky =".intval($_POST['id'])); $con=mysql_query($sql1); if($con){ $sql2=("insert into vyrobky (id2,cislo,nazev, mnozstvi, cena, login, obrazek) VALUES ('', '$clen->cislo','$clen->nazev', '$mnozstvi', '$clen->cena', '$login','$clen->obrazek')"); mysql_query($sql2); } } echo "<form action='navrh.php' method='post'>"; echo "<td width='20%' align='right'><input type='hidden' name='id' value='$clen->id_novinky'> <input type='submit' name='pridat' value='Přidat'></form>"; |
||
mimochodec Profil |
#2 · Zasláno: 22. 4. 2012, 13:03:24
Rozlišuj výpis dat / zobrazení formuláře / zpracování formuláře. Konkrétně v tomto kódu se snažíš o všechno najednou. Máš v tom neuvěřitelnej bordel. Tvoje poznámka "je to za pomocí hiddenu" mluví za všechno. Nastuduj si základy a pokus se trochu začít chápat, co který řádek v příkladech dělá.
|
||
roman_an1 Profil |
mimochodec:
já chápu jak vše z toho funguje..jenom nevím jak mám uzpůsobit dotaz INSERT into tak aby to frčelo s hidden proto v tom mám i SELECT |
||
mimochodec Profil |
#4 · Zasláno: 22. 4. 2012, 13:13:27
input type='hidden' slouží k předání hodnoty pomocí formuláře. Hodnoty, která se nezobrazuje. INSERT slouží k přidání řádku do tabulky v databázi.
Co máš dál? Všiml sis, že to tlačítko <> slouží k označování kódu, nikoliv normálního textu? |
||
roman_an1 Profil |
<> jo aha to se omlouvám
tak php vypadá takto <?php session_start(); $login = $_SESSION['login'] ; $query = "SELECT * FROM vyrobky_novinky"; $vysledek = mysql_query($query); echo "<table width=80% border=1 rules=rows>"; echo mysql_error(); while($clen = mysql_fetch_object($vysledek)) { if(isset($_POST['pridat'])) { $mnozstvi = mysql_real_escape_string($_POST['mnozstvi']); tady potřebuju vědět jak by měl vypadat ten insert } echo "<tr width='30%'>"; echo "<td width='2%'><a href='$clen->obrazek'><img src='$clen->obrazek' alt='fotka1' border='0' width='100' height'50'/></a></td>"; echo "<td width='20%'>" . $clen->cislo . "</td>"; echo "<td width='35%'>" . $clen->nazev . "</td>"; echo "<form action='navrh.php' method='post'>"; echo "<td width='20%'><input type='text' name='mnozstvi' value='$clen->mnozstvi' size='3' />" ; echo "<td width='20%'> <strong> Cena: </strong>" . $clen->cena . " Kč </td>"; echo "<td width='20%' align='right'><input type='hidden' name='id' value='$clen->id_novinky'> <input type='submit' name='pridat' value='Přidat'></form>"; echo "</tr>"; } echo "</table>"; ?> |
||
mimochodec Profil |
#6 · Zasláno: 22. 4. 2012, 13:22:43
Takže začneš cyklus pro výpis a v každém jeho průchodu, tzn. při vypsání každého jednoho řádku vyhodnotíš $_POST['pridat'] a když v něm něco bude, vložíš nový řádek? Určitě to chceš takhle?
|
||
roman_an1 Profil |
#7 · Zasláno: 22. 4. 2012, 13:24:23 · Upravil/a: roman_an1
nooo jo mě už takhlenc funguje..mazání, editace a teďkom potřebuju jenom přidávání
mimochodec: třeba dotaz na delete vypadá tahlenc $sql= mysql_query("DELETE FROM vyrobky WHERE id2 =".intval($_POST['id'])); ale nevím jak zapsat pořádně ten insert |
||
mimochodec Profil |
#8 · Zasláno: 22. 4. 2012, 13:38:52
roman_an1:
ok tak to tam nech. Aspoň se poučíš na něčem reálném. Dotaz bude asi takhle: $sql2="insert into vyrobky (cislo,nazev, mnozstvi, cena, login, obrazek) VALUES ('$clen->cislo','$clen->nazev', '$mnozstvi', '$clen->cena', '$login','$clen->obrazek')"; |
||
abc Profil |
#9 · Zasláno: 22. 4. 2012, 13:43:08
roman_an1:
Případně si pročti nějaký tutoriál.. |
||
roman_an1 Profil |
mimochodec:
jo toten dotaz jsem měl jako první když jsem to zkoušel..a ono to zapíše úplně všechno což nechci..ja potřebuju ať se mi to zapíše podle toho na kterém řádku kliknu ať se mi to přidá..jo a do toho tvojeho jsem dopsal mysql_query a když vypíšu co to zapisuje tak to hodi '1''1' jako ono by to hodilo víckrát jedna..ale ja tam mám jenom 2 výrobky na zkoušku abc: jo to už jsem pročetl snad všechno co si týče toho co potřebuju a nic |
||
abc Profil |
#11 · Zasláno: 22. 4. 2012, 13:58:32
roman_an1:
A ten formulář vypadá jak? |
||
roman_an1 Profil |
#12 · Zasláno: 22. 4. 2012, 13:59:51
echo "<form action='navrh.php' method='post'>"; echo "<td width='20%'><input type='text' name='mnozstvi' value='$clen->mnozstvi' size='3' />" ; echo "<td width='20%'> <strong> Cena: </strong>" . $clen->cena . " Kč </td>"; echo "<td width='20%' align='right'><input type='hidden' name='id' value='$clen->id_novinky'> <input type='submit' name='pridat' value='Přidat'></form>"; |
||
abc Profil |
#13 · Zasláno: 22. 4. 2012, 18:06:15
roman_an1:
Tzn. teoreticky něco jako: $sql = "insert into vyrobky (mnozstvi, ... ) VALUES ($_POST['mnozstvi'], ... )"; - pridej si ostatni pole - osetri si proti SQL injection |
||
roman_an1 Profil |
abc:
no jako ono to tak nějako jako nejede Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING a dotaz jsem tedy upravil takto: $sql = ("insert into vyrobky (cislo, nazev, cena, login, obrazek) VALUES ($_POST['cislo'], $_POST['nazev'],$_POST['cena'],$login,$_POST['obrazek'] )"); a zkoušel jsem i tento: $sql = ("insert into vyrobky (cislo, nazev, cena, login, obrazek) VALUES ($_POST['cislo'], $_POST['nazev'],$_POST['cena'],$_POST['login'],$_POST['obrazek'] )"); a taky nejede |
||
pcmanik Profil |
#15 · Zasláno: 22. 4. 2012, 20:01:23
roman_an1:
skus si pozriet dokumentaciu, ta ti otvori oci. Alebo jednoducho zadaj do googlu php insert, a uvidis ako to ma vyzerat. |
||
abc Profil |
#16 · Zasláno: 22. 4. 2012, 20:09:43
roman_an1:
Musíš nad tim taky trošku přemýšlet a ne jen tupě opisovat, co ti tady někdo poradí. 1) v tom formuláři jsou inputy mnozstvi, id a ukladas cislo, nazev, cena, login, obrazek - tzn. budeš tam mít beztak prázdné řádky 2) přečti si ten tutoriál, na který jsem ti už jednou odkazoval 3) několik insertů najdeš i zde ve FAQ k databázím i PHP |
||
Časová prodleva: 11 let
|
0