abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 00:33 | Zajímavý článek

Správce nástroje curl Daniel Stenberg na GitHubu průběžně vytváří svou novou knihu Uncurled, v níž shrnuje své dlouhodobé zkušenosti s údržbou open-source projektu: od odpozorovaných pouček po vtipné a ne až tak vtipné příklady e-mailů od uživatelů.

Fluttershy, yay! | Komentářů: 8
včera 00:22 | Nová verze

Byla vydána nová major verze 25.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 3
včera 00:11 | Nová verze

Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript a TypeScript, bylo vydáno ve verzi 1.22. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
18.5. 18:22 | Nová verze

Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 9.0. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 7
18.5. 14:00 | Komunita

Lars Knoll oznámil, že po 25 letech v ekosystému Qt, z toho 22 let pracující pro různé společnosti vlastnící Qt, odchází ze společnosti The Qt Company do malého norského startupu.

Ladislav Hagara | Komentářů: 7
18.5. 13:22 | Zajímavý projekt

Na Kickstarteru běží kampaň na podporu mini ITX desky Turing Pi 2 Cluster Computer. Vložením 4 výpočetních modulů, podporovány jsou Raspberry Pi 4, Turing RK1 a Nvidia Jetson, lze získat 4uzlový cluster. Cena desky je 219 dolarů.

Ladislav Hagara | Komentářů: 2
18.5. 10:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 198. brněnský sraz, který proběhne v pátek 20. května tradičně od 18 hodin v Pivovarské restauraci Moravia.

Ladislav Hagara | Komentářů: 2
18.5. 07:00 | Zajímavý software

Byla vydána nová verze 0.25 herního enginu Fyrox, původně rg3d. Přehled novinek s kódy, náhledy i videi v příspěvku na blogu.

Ladislav Hagara | Komentářů: 1
18.5. 00:11 | Nová verze

Multiplatformní audio přehrávač Qmmp (Wikipedie) byl vydán ve verzi 2.1.0. Z novinek lze zmínit například podporu XDG Base Directory Specification.

Ladislav Hagara | Komentářů: 0
17.5. 23:22 | Komunita

Letošní konference LibreOffice proběhne 28. září až 1. října v Bolzanu. The Document Foundation hledá přednášející.

Zdeněk Crhonek | Komentářů: 0
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (59%)
 (16%)
 (25%)
Celkem 287 hlasů
 Komentářů: 26, poslední dnes 15:03
Rozcestník


Dotaz: Select jehoz vysledkem bude vicerozmerne pole

24.4. 16:57 Petr
Select jehoz vysledkem bude vicerozmerne pole
Přečteno: 378×
Ahoj,

lamu si hlavu nad timto:

Mam tabulky Osoby, Telefony, Osoby_Telefony

A potreboval bych udelat SELECT, ktery mi seskupi osoby se stejnym telefonnim cislem, a z nehoz mi "mysqli_fetch_assoc" udela neco takoveho:
[telefony] => Array
    (
        [0] => Array
            (
                [telefonni_cislo] => 111222333
                [osoby] => Array
                    (
                        [0] => Array
                            (
                                [id] => 1
                                [jmeno_osoby] => Franta Koudelka
                            )
                        [1] => Array
                            (
                                [id] => 2
                                [jmeno_osoby] => Inzenyr Kralik
                            )
                    )

            )
    )
Nemusi to mit presne tuhle podobu. Ale potrebuji, abych pod jednim zaznamem z tabulky Telefony, mel vsechny Osoby, ktere maji tento telefon.

Moje hokus/pokusy selhavaji.

Dekuji

Řešení dotazu:


Odpovědi

Řešení 1× (debian+)
24.4. 17:42 debian+ | skóre: 30 | blog: analyzy
Rozbalit Rozbalit vše Re: Select jehoz vysledkem bude vicerozmerne pole
Lebo asi sa to nejak rozumne a komfortne v SQL asi nedá. Máš vystúp v SQL, čo sú dáta v tabuľkách, a výstup chceš typovo niečo ako JSON.:

<?php

$lines=array();
$lines[0][0]="123456789";
$lines[0][1]="Meno";

$lines[1][0]="123456789";
$lines[1][1]="Meno2";

$lines[2][0]="123456789";
$lines[2][1]="Meno3";

$lines[3][0]="11000";
$lines[3][1]="Meno4";

$data=array();
foreach($lines as $record)
{
	$phone=$record[0];
	$nick=$record[1];

	if(isset($data["$phone"]))
		array_push($data["$phone"], "$nick");
	else
		$data["$phone"]=array("$nick");
}

foreach($data as $phone => $nicks)
{
	echo "'$phone'\n";
	foreach($nicks as $nick)
		echo "\t$nick\n";
}
Výstup:
'123456789'
	Meno
	Meno2
	Meno3
'11000'
	Meno4
debian.plus@protonmail.com
24.4. 18:15 Petr
Rozbalit Rozbalit vše Re: Select jehoz vysledkem bude vicerozmerne pole
Mate pravdu, ted jsem se na stackoverflow docetl, ze:

MySQL cannot show anything beside "rows". It can make anything you can describe as a row, but it cannot do rows within rows - it simply can't.

Takze to budu muset opravdu resit pres PHP.

Diky
AraxoN avatar 29.4. 09:59 AraxoN | skóre: 46 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Select jehoz vysledkem bude vicerozmerne pole
Cez GROUP_CONCAT() by to asi šlo nejak znásilniť, ale spraviť to až v PHP je aj tak asi lepšie.
Řešení 1× (debian+)
27.4. 14:10 debian+ | skóre: 30 | blog: analyzy
Rozbalit Rozbalit vše Re: Select jehoz vysledkem bude vicerozmerne pole
Oprava:
 if(in_array("$phone", $data)) #riadok 22
debian.plus@protonmail.com

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.