Avaleht
uus teema   vasta Tarkvara »  WWW »  Abi vaja andmete sisestamisega tabelist tabelisse (MySQL/PHP) märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
sirius4k
HV veteran
sirius4k

liitunud: 25.09.2005




sõnum 02.12.2008 17:53:46 Abi vaja andmete sisestamisega tabelist tabelisse (MySQL/PHP) vasta tsitaadiga

<?php
$name = $_POST["name"];
$opened = $_POST["opened"];
$time = $_POST["time"];
$mgr_type = $_POST["mgr_type"];
$mgr_fname = $_POST["mgr_fname"];
$mgr_sname = $_POST["mgr_sname"];
$locations = $_POST["locations"];
$addresses = $_POST["addresses"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$phone_mobile = $_POST["phone_mobile"];
$info = $_POST["info"];
$prog1_id = $_POST["prog1_id"];
$prog2_id = $_POST["prog2_id"];

if (!isset($_POST['submit'])) {
?>
<html>
<body>
Sisestamine:
<br /><br />
<form method="post" action="<?php echo $PHP_SELF;?>">
Nimi: <input type="text" size="31" maxlength="30" name="name">
<br /><br />

Ajad:
<br /><br />

<select name="opened">
<option value="1">E-R</option>
<option value="2">L</option>
<option value="3">L-P</option>
<option value="4">P</option>
</select>
<input type="text" size="15" maxlength="14" name="time">
<br /><br />

Vastutavad isikud:
<br />
<select name="mgr_type">
<option value="1">Juhataja</option>
<option value="2">Vahetuse vanem</option>
</select> Eesnimi: <input type="text" size="12" maxlength="36" name="mgr_fname"> Perekonnanimi: <input type="text" size="12" maxlength="36" name="mgr_sname">
<br /><br />

Kontaktandmed:
<br />
Asukoht: <input type="text" size="12" maxlength="36" name="locations">
<br /><br />
Tänav/küla: <input type="text" size="25" maxlength="36" name="addresses">
<br /><br />
E-Mail: <input type="text" size="25" maxlength="40" name="email">
<br /><br />
Telefonid:
<br />
<input type="text" size="12" maxlength="36" name="phones"> kantav ? <input type="checkbox" value="Ei" name="phone_mobile">
<br /><br />

Lisainfo:
<br />
<textarea rows="5" cols="20" name="info" wrap="physical"></textarea>
<br /><br />

Lühikoodid:
<br />
<input type="text" size="12" maxlength="36" name="prog1_id">
<br />
<input type="text" size="12" maxlength="36" name="prog2_id">
<br /><br />

<input type="submit" value="submit" name="submit">
<br />
</form>
<?php
} else {

$query1 = "INSERT INTO web_list (name) VALUES ('$_POST[name]')";

if(!mysql_query($query1))
   {
      echo 'Tekkis viga: '. mysql_error();
   }
      
$query2 = "INSERT INTO web_closing_times (condition_id, id, times) VALUES ('$_POST[opened]',SELECT ID FROM web_shops_list where name='$_POST[name]', '$_POST[time]')";

if(!mysql_query($query2))
   {
      echo 'Tekkis viga: '. mysql_error();
   }
}
?>
</body>
</html>


$query2 juures on probleem. Üritan tabeli ID lahtrile anda võrdväärse väärtuse ühe teise tabeli ID'ga, aga pillub ainult vigu, või annab vastuseks: 1.
Olen proovinud erinevaid variante juba mitu päeva. Pea tossab/valutab juba. ID veerg, kuhu tahan IDd saada mujalt, ei ole auto_increment, ega primary key.
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 02.12.2008 18:01:27 vasta tsitaadiga

Asi oleks kordades selgem, kui html ja php oleks üksteisest eraldatud. Sel viisil läbisegi ei saa eriti lihtsalt aru kus mis tehakse, rääkimata otse _POST'ist asjade SQL'ile söötmisest. Hetkel pole mul halli aimugi mis päringut sa teha üritad.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
sirius4k
HV veteran
sirius4k

liitunud: 25.09.2005




sõnum 02.12.2008 18:08:58 vasta tsitaadiga

Tabel1

shop_condition_id
shop_id
shop_times

Tabel2

shop_id
shop_name

---
Sisestan POST'ist andmed Tabelisse 1, aga tahan, et Tabel1.shop_id oleks võrdne Tabel2.shop_id viimase rea IDga

Kui ma üritan insertis LAST(shop_id) kasutada, siis ta ütleb, et 'vigane grupeeringu kasutus' vms.
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
DoS
HV veteran
DoS

liitunud: 19.08.2002




sõnum 02.12.2008 18:10:29 vasta tsitaadiga

1) Seal INSERTis sulud SELECT lausele ümber
2) echo $query2; ja vaatad, kas saad ikka normaalse päringu igal korral.
3) Sama jutt, mis Ho Ho'l
4) http://dev.mysql.com/doc/refman/5.0/en/insert.html
Kommentaarid: 50 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 47
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 02.12.2008 18:50:57 vasta tsitaadiga

tsitaat:

aga tahan, et Tabel1.shop_id oleks võrdne Tabel2.shop_id viimase rea IDga



SELECT shop_id FROM Tabel2 ORDER BY shop_id DESC LIMIT 1



$query2 = "INSERT INTO web_closing_times (condition_id, id, times) VALUES ('$_POST[opened]',SELECT ID FROM web_shops_list where name='$_POST[name]', '$_POST[time]')";

muutuks siis vastavalt


$qry = mysql_query("SELECT shop_id FROM web_shops_list ORDER BY shop_id DESC LIMIT 1");
$shopid = mysql_result($qry, 0, "shop_id");
$query2 = "INSERT INTO web_closing_times (condition_id, id, times) VALUES ($opened, $shopid, $time)";

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
sirius4k
HV veteran
sirius4k

liitunud: 25.09.2005




sõnum 03.12.2008 14:12:01 vasta tsitaadiga

Suured tänud icon_biggrin.gif thumbs_up.gif Täitsa töötab.
Mu seletamis/kirjeldamisoskused on suht olematud, aga saite pihta icon_eek.gif icon_wink.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 55
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Abi vaja andmete sisestamisega tabelist tabelisse (MySQL/PHP)
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.