Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Modyfikacja zapytania MySQL
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,

mam przykładowe zapytanie:
  1. SELECT imie, nazwisko, email FROM users WHERE email LIKE '%wp.pl'

czy mogę "sztucznie dokleić statyczny rekord?
np tak? no tak, tak nie mogę bo wali błędami, ale w podobny sposób?

  1. SELECT imie, nazwisko, email FROM users WHERE email LIKE '%wp.pl'
  2. UNION ALL
  3. 'Kamil', 'Kowalski', 'email@email.eu'

trueblue
Możesz w podobny. UNION łączy dwa zapytania, więc to drugie musi mieć składnię SELECT.

Potrzebujesz ten rekord już na poziomie zapytania? Bo jeśli nie, to możesz go dodać do pobranego wyniku.
krzesik
Tak na poziomie zapytania, wynik leci później w Jsonie, więc tak chyba będzie prościej
nospor
Cytat
, wynik leci później w Jsonie
Ale co, twoje baza sle wynik bezposrednio do JSON? A moze jednak np. w php wpierw pobierasz dane z bazy a dopiero potem slesz w php ten json? Jesli tak to przeciez bez problemu mozesz to dodac na tym wlasnie etapie w php
krzesik
o ile łatwiejsze wydawało mi się dodanie do zapytania to już do Jsona jak to wkomponować?

Jsona mam tak:
  1. ...................
  2. while($k = mysql_fetch_assoc($Kom))
  3. $Kom_1[] = $k;
  4.  
  5. if(!empty($Kom_1))
  6. {
  7. print(json_encode(array(
  8. 'status' =>'OK',
  9. 'tab' =>$Kom_1)));
  10. }
  11. .....................
viking
Daj po prostu UNION ALL SELECT... i masz problem z głowy.
nospor
  1. while($k = mysql_fetch_assoc($Kom)) {
  2. $Kom_1[] = $k;
  3. }
  4.  
  5. $Kom_1[] = ['Kamil', 'Kowalski', 'email@email.eu']; // ot cala filozofia
krzesik
Cytat(viking @ 9.04.2020, 10:45:57 ) *
Daj po prostu UNION ALL SELECT... i masz problem z głowy.

ale w zapytaniu powinien być również FROM ?

Cytat(nospor @ 9.04.2020, 10:50:19 ) *
  1. while($k = mysql_fetch_assoc($Kom)) {
  2. $Kom_1[] = $k;
  3. }
  4.  
  5. $Kom_1[] = ['Kamil', 'Kowalski', 'email@email.eu']; // ot cala filozofia

moja standardowa zwrotka to:
{"status":"OK","tab":[{"imie":"Adam","nazwisko":"Kowalski","email":"adam@wp.pl"},{"imie":"Jan","nazwisko":"Malinowski","email":"jan@wp.pl"}]}

teraz mam tak:
{"status":"OK","tab":[{"imie":"Adam","nazwisko":"Kowalski","email":"adam@wp.pl"},{"imie":"Jan","nazwisko":"Malinowski","email":"jan@wp.pl"},["Waldemar","Kwiatek","waldek@op.pl"]]}
nospor
Oj no to dodaj ten nazwy jeszcze

  1. $Kom_1[] = ['imie' => 'Kamil', 'nazwisko' => 'Kowalski', 'email' => 'email@email.eu'];

Toz to podstawy operacji na tablicach. Trzeba by w koncu troche je poznac.
viking
Cytat(krzesik @ 9.04.2020, 11:23:44 ) *
ale w zapytaniu powinien być również FROM ?

Jak bardzo chcesz możesz dać sobie FROM dual. Nie, nie jest potrzebne.
krzesik
Już widać światełko w tunelu, ale jeszcze nie jest dobrze, mam tak:

{"status":"OK","tab":[{"imie":"Adam","nazwisko":"Kowalski","email":"adam@wp.pl"},{"imie":"Jan","nazwisko":"Malinowski","email":"jan@wp.pl"},"{\"imie\":\"Waldemar\",\"nazwisko\":\"Kwiatek\",\"email\":\"waldek@op.pl\"}"]}

całość tego "dodatkowego" rekordu pobieram z zewnętrznego stringa np:

$Text = "{"imie":"Waldemar","nazwisko":"Kwiateki","email":"waldek@op.pl"}";
nospor
No nie, nie mozesz wkladac tekstu i myslec ze zamieni sie radosnie sam w tablice...
Skad nagle ci sie ten tekst wzial? Wczesniej nie wspominales nic o nim

Skoro ten tekst to ewidentnie JSON to zrob json_decode z parametrem TRUE i bedziesz mial z tego tablice, ktora dodasz do swojej glownej tablicy i juz
krzesik
OK, decode załatwiło temat
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.