Autor | Zpráva | ||
---|---|---|---|
Peter45 Profil |
#1 · Zasláno: 4. 1. 2010, 18:20:32
Mam otazku,docital som sa ze je mozne vyberat udaje respektivne spajat z dvoch tabuliek...
Je mozne z troch?alebo viacerych? Pripajam hned kod: $sqlQ = "select * from kosik inner join tovar on kosik.produktid = tovar.id where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; Potreboval by som do tohto zahrnut udaje este z tretej tabulky ale fakt neviem ako na to.Tretia tabulka sa vola: farby a polia v nej: id, produktid, farby.No a potrebujem z tabulka farby vybrat pole farby...neviem ci to staci na pochopenie |
||
radozaj Profil |
#2 · Zasláno: 4. 1. 2010, 18:42:43
SELECT * FROM kosik INNER JOIN tovar ON kosik.produktid = tovar.id INNER JOIN tabulka3 ON tabulka3.stlpec = tovar.tovarovy_stlpec WHERE kosik.cookieid = 10 ORDER BY tovar.nazov ASC; Je toho dosť k tomu, aby si tomu rozumel... Prípadne sa ešte niečo spýtaj. Napr. neviem, či bude dobré používať v tom 1. riadku hviezdičku. radšej by som tie stĺpce vypísal, bo sa ti môže stať, že sa budú rovnako volať. Takže ho vypíšeš a premenuješ cez AS |
||
Peter45 Profil |
#3 · Zasláno: 4. 1. 2010, 19:41:15
No aj funguje aj nie,,,neviem asi mam dakde chybu...vybara mi aj to co nema hm
|
||
radozaj Profil |
#4 · Zasláno: 4. 1. 2010, 19:49:23
Tak najlepšie bude, keď to tu celé rozpíšeš. Teda aspoň štruktúru tých 3 tabuliek a slovne čo to má spraviť... Chyba môže byť hocikde, najskôr zrejme bude v tej klauzule ON.
|
||
Peter45 Profil |
#5 · Zasláno: 4. 1. 2010, 19:59:38
Skusim sa este spytat,nez to sem prasnem cele...druha moznost vybrat z tabulky kosik dve polia?
Ten kod mi nejak nesiel co si napisal tak som skusal a zrodilo sa toto,no vypisuje aj to co nema... No a tak teda z kosika vybrat pole "farby" $sqlQ = "select * from kosik inner join tovar on kosik.produktid = tovar.id INNER JOIN farby ON farby.tovarid = tovar.nazov where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; Ide vlastne o to ze: pri pridani tovaru do kosika sa zapisu udaje a aj dana farba a tu farbu mi nezapisuje do objednavky... |
||
radozaj Profil |
#6 · Zasláno: 4. 1. 2010, 20:27:31
A máš v poriadku, že
ON farby.tovarid = tovar.nazov ON farby.tovarid = tovar.id |
||
radozaj Profil |
#7 · Zasláno: 4. 1. 2010, 20:32:32 · Upravil/a: radozaj
Stačí ak sem hodíš štruktúru tabuľky, to je napr. že:
tovar(id INTEGER, nazov VARCHAR(20)) kosik(productid INTEGER, cookieid INTEGER) farby(tovarid INTEGER) čiže tabuľka(stlpec1 typ, stlpec2 typ, stlpec3 typ)... A potom napíš slovne, čo chceš vypísať. |
||
Peter45 Profil |
#8 · Zasláno: 5. 1. 2010, 09:09:52 · Upravil/a: Peter45
FARBY- id-int(11),tovarid-(int11),farby-text.
KOSIK- id-(int11),cookieid-varchar(50),produktid-int(11),pocet-int(11),velkost-text,farby-text. TOVAR ma hodne poli...ale farby sa do tabulky tovar nezapisuju,pri editacii tovaru zapisujem farby podla idu to tabulky farby. Odkaz pripajam scren kosika,ked hodim daco na stranke do kosika tak mo pekne zapise danu farby ale do objednavky ju neposle...pripojim este kod |
||
Peter45 Profil |
#9 · Zasláno: 5. 1. 2010, 09:21:46
<?php // if (!$logged) @mysql_query("delete from kosik where cookieid = '" . KosikId() . "' "); switch($_GET["action"]) { case "add": { // addprod($_GET["id"], $_GET["pocet"]); ukazkosik(); break; } case "update": { // updateprod($_GET["id"], $_GET["pocet"]); ukazkosik(); break; } case "remove": { // removeprod($_GET["id"]); ukazkosik(); break; } case "objednat": { $totalcena=ukazkosik(); if (!$totalcena) { error ("Košík prázdny"); break; } include "objednat.php"; break; } case "odoslat": { if (!$meno || !$ulica || !$mesto || !$psc): error("Nevyplnili ste všetky potrebné údaje", ""); include "objednat.php"; $stop=true; endif; if (!$stop): $textmail=objednavka_tabulka(); $ok=mailer ("email", $textmail, "Objednavka z .sk", "$shopreplyaddress"); $ok=mailer ($email, $textmail, "Objednavka z .sk", "$shopreplyaddress"); removeall(); $suma=$sumauhrada; message("Objednávka odoslaná", "<a href=\"http://www.sk\">Pokračovať môžete tu</a>"); endif; break; } default: { ukazkosik(); } } function createRandomVariabilny() { $chars = "0123456789"; srand((double)microtime()*1000000); $i = 0; $rpass = ''; while ($i <= 16) { $num = rand(0,10); $tmp = substr($chars, $num, 1); $rpass = $rpass . $tmp; $i++; } return $rpass; } function objednavka_tabulka() { global $meno, $ulica, $mesto, $psc, $email, $telefon, $fax, $platba, $podmienky, $dorucenie, $poznamka, $sVariabilny, $sUser, $sSkupina, $sUserID; $casnow=Time(); $totalcena = 0; // $sqlQ = "select * from kosik inner join tovar on kosik.produktid = tovar.id where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; //$sqlQ = "select * from kosik inner join tovar on kosik.produktid = inner join kosik on kosik.farby = tovar.nazov where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; //$sqlQ = "select * from kosik inner join tovar on kosik.produktid = tovar.id where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; $sqlQ = "select * from kosik inner join tovar on kosik.produktid = tovar.id INNER JOIN farby ON farby.tovarid = tovar.nazov where kosik.cookieid = '" . KosikId() . "' order by tovar.nazov asc"; $result = mysql_query($sqlQ); $textstart = "<h1>Objednavka</h1>"; $texttable = "<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"> \n"; $texttable = $texttable . "<tr> <td>Nazov</td> <td>Veľkost</td> <td>Farba</td> <td>Cena s DPH</td> <td>Kusov</td> <td>Celkom</td> </tr>"; // while($row = mysql_fetch_array($result)) { if ($row["akcia"] && $row["cena2"]) $row["cena"]=$row["cena2"]; $totalcena += $row["pocet"] * ($row["cena"]/100*(100-$row["zlava"]))*1.19; $texttable = $texttable . " <tr> <td>$row[nazov]</td> <td>" . $row["velkost"] . "</td><td> $row[farby]</td> <td>".($row[cena]/100*(100-$row["zlava"]))*1.19." €<br />".round(($row[cena]/100*(100-$row["zlava"]))*1.19*30.1260,2)." Sk</td> <td>$row[pocet]</td> <td>"; $celkom=$row["pocet"] * ($row["cena"]/100*(100-$row["zlava"]))*1.19 ; $celkomeuro=round($row["pocet"] * ($row["cena"]/100*(100-$row["zlava"]))*1.19*30.1260,2); $texttable.=" $celkom € <br > $celkomeuro Sk</td> </tr>"; $kurzeuro=$_SESSION["sEuro"]; $sql=" INSERT INTO objednavky VALUES ('', '$row[id]', '$row[nazov]', '$row[velkost]' , '$row[pocet]', '$celkom', '$meno', '$farby', '$ulica', '$mesto', '$psc', '$email', '$telefon', '$kurzeuro', '$platba', '$dorucenie', '$poznamka','$casnow', '0', '$sUser', '$koefsql', '$sVariabilny' )"; $ins = MySQL_Query($sql); if (!$ins) echo "CHYBA ".mysql_error(); } $texttable.="</table>"; $totalcenadph=round($totalcena,2); $totalcenadpheuro=round($totalcena/$_SESSION["sEuro"],2); $textend = "<br> Cena spolu: <strong>$totalcenadph € </strong> s DPH + $platba $dorucenie <br><br>\n Meno: $meno<br>\n Adresa: $ulica<br>\n Mesto: $mesto <br>\n PSC: $psc<br><br>\n\n Email: $email<br>\n Telefon: $telefon <br>\n Poznamka: $poznamka<br><br> \n\n"; $text = $textstart. $texttable. $textend; return $text; } function ukazkosik() { global $sSkupina,$euro; ?> |
||
radozaj Profil |
#10 · Zasláno: 5. 1. 2010, 20:16:37
No, neviem, či to pomôžem, ale na riadku 131 píšeš, že:
<?php <td>$row[nazov]</td> <td>" . $row["velkost"] . "</td><td> $row[farby]</td> ?> neviem, ale myslím si, že premennú farby nemáš. Či si skôr nechcel čítať tabuľky, čiže z apostrofmi alebo úvadzovkami: <?php <td>$row[nazov]</td> <td>" . $row["velkost"] . "</td><td> $row['farby']</td> ?> |
||
Peter45 Profil |
#11 · Zasláno: 5. 1. 2010, 20:35:42
Mal som tam aj uvodzovky aj neviem co a neslo to...no stal sa zazrak ani neviem co som spravil a facha to...dakujem za cas
|
||
Časová prodleva: 14 let
|
0