MySQL : union select problem
MySQL : union select problem
prosim o radu pri funkcii union select vyber údajov z viacero tabuliek pripojenej mysql databazy
$query = ("SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1") UNION ("SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1");
$result = mysql_query($query);
$line = mysql_fetch_array($result,MYSQL_ASSOC);
de by mohla byt chyba pretoze dostavam v riadku query chybu :
Parse error: syntax error, unexpected T_STRING
$query = ("SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1") UNION ("SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1");
$result = mysql_query($query);
$line = mysql_fetch_array($result,MYSQL_ASSOC);
de by mohla byt chyba pretoze dostavam v riadku query chybu :
Parse error: syntax error, unexpected T_STRING
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
LIMIT 1") UNION ("SELECT
tie úvodzovky tam máš navyše
tie úvodzovky tam máš navyše
Re: MySQL : union select problem
nepomohlo ale nevadi
thx
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
... a na začiatku a konci ti chýbajú zátvorky (teraz len dúfam že zapojíš hlavu a dáš ich tam kde majú byť)
Re: MySQL : union select problem
S MySQL som dlho nerobil, teraz sa k tomu vsetkemu vraciam, a napada ma, ci riadok
nema byt takto
Kód: Vybrať všetko
$query = ("SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1") UNION ("SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1");Kód: Vybrať všetko
$query = "(SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1") UNION ("SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1)";
Re: MySQL : union select problem
urcite nie ... ale ako pise audiotrack
Kód: Vybrať všetko
$query = (("SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1") UNION ("SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1"));
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
aj jeden zle, aj druhý. To čo napísal Mmartin je lepšie, a bolo by to úplne dobre keby odstránil tie úvodzovky čo som dal ako červené v prvej odpovedi
Re: MySQL : union select problem
Vidiiiis, na to som zabudol, sorry
Oprava:
Tak uz by to naozaj malo ist
Zabudate totiz, ze query sa je string, cize prvy a posledny znak bude uvodzovka ".
Oprava:
Kód: Vybrať všetko
$query = "(SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1) UNION (SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1)";
Zabudate totiz, ze query sa je string, cize prvy a posledny znak bude uvodzovka ".
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
query nie je string, len mysql_query je funkcia ktorá ako parameter vyžaduje string 
Re: MySQL : union select problem
hmm no forma "()union()" takisto nie sice nula bodov ale chyba sa posunula o dva riadky nizsie
$query = "(SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1) UNION (SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1)";
$result = mysql_query($query);
$line = mysql_fetch_array($result,MYSQL_ASSOC);
$line chyba ...Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
$query = "(SELECT * FROM `kontakty` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1) UNION (SELECT * FROM `skolenia` WHERE `datum` LIKE '" . $_POST['datum'] . "' LIMIT 1)";
$result = mysql_query($query);
$line = mysql_fetch_array($result,MYSQL_ASSOC);
$line chyba ...Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
tak máš zlé to query. Majú tie tabuľky skolenia a kontakty rovnakú počet stlpcov? (aj tak si ale myslim že si chcel skôr join ako union)
Re: MySQL : union select problem
ach ked som si to studoval kombinacie citania z tabuliek tak som dosiel aj k funkcii join oki vyskusam ju pravdou je ze nemam rovnaky pocet stlpcov to mi uplne vypadlo tato podmienka pri pouziti union nejak som zabudol sorry ze som na to nemyslel a zytocne otravoval a zaroved dakujem za pomoc
Re: MySQL : union select problem
Audiotrack ano, zle som to sformuloval, tak, oprava
query, ktore vyzaduje mysql(i)_query() je string...
query, ktore vyzaduje mysql(i)_query() je string...
Re: MySQL : union select problem
audiotrack:
nech študujem ako študujem tak sa neviem dopracovat k vysledku.
Mám dve tabulky "kontakty" a "školenia" v databaze... každa obsahuje rozdielne stlpce čo je asi samozrejme už z nazvu
uvodný index page obsahuje pole s vloženým emailom po potvrdení sa v nasledujucej objednávkovej časti objavia udaje klienta s databazy s tabulky "kontakty" a súčasne v jednom pripojení vytiahne aj do dalších prichystaných polí údaje o pripravovanych školeniach z druhej tabulky "školenia".
index page:
Objednávková časť:
nech študujem ako študujem tak sa neviem dopracovat k vysledku.
Mám dve tabulky "kontakty" a "školenia" v databaze... každa obsahuje rozdielne stlpce čo je asi samozrejme už z nazvu
uvodný index page obsahuje pole s vloženým emailom po potvrdení sa v nasledujucej objednávkovej časti objavia udaje klienta s databazy s tabulky "kontakty" a súčasne v jednom pripojení vytiahne aj do dalších prichystaných polí údaje o pripravovanych školeniach z druhej tabulky "školenia".
index page:
Kód: Vybrať všetko
<form name="form1" action="order.php" method=post>
<table>
<tr>
<td><b>Prihlasenie:</b> </td><td><input type=text name="email" value="@" style="width: 210px"/></td>
</tr>
<tr>
<td></td><td align="center"><input type=submit value="Prihlásiť" style="width: 200px"></td>
</tr>
</form>
Kód: Vybrať všetko
<?php
$sqluser = "user"; //mySQL pouzivatel
$sqlpass = "pass"; //mySQL heslo
$sqlserver = "localhost"; //adresa sql servra
$sqldatabase = "db"; //nazov databazy
$sqlhandle = mysql_connect($sqlserver,$sqluser,$sqlpass);
mysql_select_db($sqldatabase);
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CONNECTION=UTF8_UNICODE_CI');
$query = "SELECT `email`, `meno`, `priezvisko`, `ulica`, `cislo`, `psc`, `mesto`, `firma`, `adresa_firmy`, `ico`, `dic`, `telefon`, `datum_skolenia`, `nazov_skolenia`, `cena_skolenia` FROM `kontakty`, `skolenia` WHERE `email` LIKE '" . $_POST['email'] . "' LIMIT 1";
$result = mysql_query($query);
$line = mysql_fetch_array($result,MYSQL_ASSOC);
if($line) {
$form = '<form name="form2" action="confirmation.php" method=post>
<center>
<h1><font color="#FFFFFF">Martin Krug - Školenia / Overenie údajov</font></h1>
</center>
<br>
<div align="center">
<div id="body" style="width:800px;">
<div id="left" style="width:350px; float:left;">
<table>
<tr>
<td>Email: </td><td><input type=text name="email" disabled="disabled" style="width: 210px" value="' . $line['email'] . '"/></td>
</tr>
<tr>
<td>Meno: </td><td><input type=text name="meno" disabled="disabled" style="width: 210px" value="' . $line['meno'] . '"/></td>
</tr>
<tr>
<td>Priezvisko: </td><td><input type=text name="priezvisko" disabled="disabled" style="width: 210px" value="' . $line['priezvisko'] . '"/></td>
</tr>
<tr>
<td>Ulica a popisné číslo: </td><td><input type=text name="ulica" style="width: 150px" disabled="disabled" value="' . $line['ulica'] . '"/>
<input type=text name="cislo" style="width: 50px" disabled="disabled" value="' . $line['cislo'] . '"/></td>
</tr>
<tr>
<td>Mesto a PSČ: </td><td><input type=text name="mesto" disabled="disabled" style="width: 150px" value="' . $line['mesto'] . '"/>
<input type=text name="psc" style="width: 50px" disabled="disabled" value="' . $line['psc'] . '"/></td>
</tr>
<tr>
<td>Názov Firmy: </td><td><input type=text name="firma" disabled="disabled" style="width: 210px" value="' . $line['firma'] . '"/></td>
</tr>
<tr>
<td>Adresa Firmy: </td><td><input type=text name="adresa_firmy" disabled="disabled" style="width: 210px" value="' . $line['adresa_firmy'] . '"/></td>
</tr>
<tr>
<td>IČO: </td><td><input type=text name="ico" disabled="disabled" style="width: 210px" value="' . $line['ico'] . '"/></td>
</tr>
<tr>
<td>DIČ: </td><td><input type=text name="dic" disabled="disabled" style="width: 210px" value="' . $line['dic'] . '"/></td>
</tr>
<tr>
<td>Telefón: </td><td><input type=text name="telefon" disabled="disabled" style="width: 210px" value="' . $line['telefon'] . '"/></td>
</tr>
<tr>
<td>Datum školenia: </td><td><input type=text name="datum_skolenia" disabled="disabled" style="width: 210px" value="' . $line['datum_skolenia'] . '"/></td>
</tr>
<tr>
<td>: </td><td><input type=text name="nazov_sklonia" disabled="disabled" style="width: 210px" value="' . $line['nazov_skolenia'] . '"/></td>
</tr>
<tr>
<td>Cena Školenia: </td><td><input type=text name="cena_skolenia" disabled="disabled" style="width: 210px" value="' . $line['cena_skolenia'] . '"/></td>
</tr>
<tr>
<td></td><td align="center"><a href="javascript:history.go(-1)" title="Return to previous page"><input type=submit value="Naspäť"></a><input type=submit value="Potvrdiť"></td>
</tr>
</table>
</div>
</div>
</form>';
echo $form;
} else {
echo "<p>Neplatný alebo neexsitujúci email</p>";
echo "<p><a href=\"javascript:history.go(-1)\" title=\"Return to previous page\">« Späť</a></p>";
}
//odpojenie zo servera
mysql_close($sqlhandle);
?>
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: MySQL : union select problem
radšej si mal napísať štruktúru tých tabuliek, keď neviem stlpce tak neviem na základe čoho ich má prepojiť. Tento kod je úplne zbytočne uvedený. Napíš slovne čo to query má vrátiť, v akom vzťahu majú byť kontakty a skolenia a aké stlpce obsahujú.
Re: MySQL : union select problem
audiotrack mas pravdu .... ja si za sebou necitam moja chyba... pak to takto konci
Re: MySQL : union select problem
Stlpce KONTAKTY = `email`, `meno`, `priezvisko`, `ulica`, `cislo`, `psc`, `mesto`, `firma`, `adresa_firmy`, `ico`, `dic`, `telefon`,
Stlpce SKOLENIA = `datum_skolenia`, `nazov_skolenia`, `cena_skolenia`
prepojenie medzi samotnými tabulkami nema byť ziadne
Jediné o čo mi ide aby fungoval výpis z jednej aj z druhej do jedneho formuláru (do jeho polí, selectboxov), pritom z PRVEJ tabulky kontakty ma vytiahnut údaje na základe zadaného emailu v prvej casti index. a z DRUHEJ tabulky ma len vytiahnut VŠETKY udaje prakticky pojdu nie do polí ale select boxov, samozrejme tie druhe udaje nemaju mat nijaku suvislost s prvými takisto NEmaju byt viazane na prvo zadanu emailovu adresu.
je to zrozumitelne? alebo mam to spravit systemom ze v jednej stranke otvorim spojenie s databazou vlozi mi udaje podla emailovej adresy nasledne zavriem spojenie a znovu otvorim ho a iba jednoducho necham vypisat udaje z druhej tabulky do select boxov? a 2x uzavriet spojenie s databazou? ako silne pochybujem ze je to mozne som s toho zmateny nejsom v tom skuseny ale chcem sa tomu priucit.
Velmi pekne dakujem
Stlpce SKOLENIA = `datum_skolenia`, `nazov_skolenia`, `cena_skolenia`
prepojenie medzi samotnými tabulkami nema byť ziadne
Jediné o čo mi ide aby fungoval výpis z jednej aj z druhej do jedneho formuláru (do jeho polí, selectboxov), pritom z PRVEJ tabulky kontakty ma vytiahnut údaje na základe zadaného emailu v prvej casti index. a z DRUHEJ tabulky ma len vytiahnut VŠETKY udaje prakticky pojdu nie do polí ale select boxov, samozrejme tie druhe udaje nemaju mat nijaku suvislost s prvými takisto NEmaju byt viazane na prvo zadanu emailovu adresu.
je to zrozumitelne? alebo mam to spravit systemom ze v jednej stranke otvorim spojenie s databazou vlozi mi udaje podla emailovej adresy nasledne zavriem spojenie a znovu otvorim ho a iba jednoducho necham vypisat udaje z druhej tabulky do select boxov? a 2x uzavriet spojenie s databazou? ako silne pochybujem ze je to mozne som s toho zmateny nejsom v tom skuseny ale chcem sa tomu priucit.
Velmi pekne dakujem
-
sINN3R
Medium Star
- Príspevky: 330
- Registrovaný: 17 jún 2006, 11:21
- Bydlisko: Trencin - Slovakia - EU
- Kontaktovať používateľa:
Re: MySQL : union select problem
a este si mal doplnit ze by si mal nastudovat ako pracuje funkcia UNION pretoze som si neni celkom isty ze vie co to robi, mozno by si skor mal porozmyslat nad JOIN.
Re: MySQL : union select problem
ani jedno ani druhe nebolo vobec treba, po dlhsej chvile som to spravil stacilo pred kazdym formularom vytvori nový SELECT na vyťah udajov z roznych tabuliek v jednej databaze. ani union ani join nebolo treba
Moj daľší dotaz ak možem tak sa jedna o javascript sum, problém je nasledovny :
jednoduchy script tu : http://javascript.internet.com/forms/au ... boxes.html
implementovaný k údajom vytiahnutých s DB do input proste s databazy si vytiahne čisla a nasledne tie čisla chcem spočitať do vyslednej sumy ibaže čo? nejde to. preto sa chcem spytať či je to spôsobené tým že samotný script sa vykoná ešte pred načítaním udajov s DB? i ked ako pozeram pri akejkolvek zmene udajov v input boxoch by sa malo automaticky prepočitavať na vyslednu sumu.
Moj daľší dotaz ak možem tak sa jedna o javascript sum, problém je nasledovny :
jednoduchy script tu : http://javascript.internet.com/forms/au ... boxes.html
implementovaný k údajom vytiahnutých s DB do input proste s databazy si vytiahne čisla a nasledne tie čisla chcem spočitať do vyslednej sumy ibaže čo? nejde to. preto sa chcem spytať či je to spôsobené tým že samotný script sa vykoná ešte pred načítaním udajov s DB? i ked ako pozeram pri akejkolvek zmene udajov v input boxoch by sa malo automaticky prepočitavať na vyslednu sumu.
Re: MySQL : union select problem
Ako (a kedy) do tých vstupných políčok zadávaš tie čísla? Robíš to pomocou Ajax?