Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Obrobienie wyniku
KR2615
post 17.09.2022, 16:57:57
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

Ostrzeżenie: (0%)
-----


Hej, mam w MySQLu takie coś:

Pobieram to kodem:
  1. $eq = "SELECT * FROM `errors`";
  2. $res = $mysqli -> query($eq);

Jak to teraz obrobić, żeby po wpisaniu
  1. echo $ERROR[3][desc_pl];

otrzymać:
Kod
Przekroczono limit czasu połączenia

Z góry dzięki za pomoc!


--------------------
Go to the top of the page
+Quote Post
trueblue
post 17.09.2022, 18:30:00
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wygodniej będzie skorzystać z PDO, z metody fetchAll i trybu FETCH_UNIQUE.
Jeśli chcesz nadal korzystać z mysqli, to musisz pobrać wszystkie rekordy i przepisać do tablicy o takiej strukturze, albo pobierać po jednym rekordzie i przepisywać na bieżąco.

Ten post edytował trueblue 17.09.2022, 18:31:34


--------------------
Go to the top of the page
+Quote Post
KR2615
post 20.09.2022, 12:47:43
Post #3





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

Ostrzeżenie: (0%)
-----


Przejście na PDO raczej odpada bo aplikacja jest zbyt rozbudowana i w wielu miejsach oraz wielu językach korzysta z mysqli. A czy mógłbyś opisać jak "pobrać wszystkie rekordy i przepisać do tablicy o takiej strukturze" bo odpytywanie za każdym razem jest moim zdaniem mało wydajne gdyż ERRORów mam w mysqli na razie 14 a obiektów, do których mam przypasować odpowiedni error ponad 2400.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 20.09.2022, 12:58:27
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Mając tablicę [['id'=>1,'desc_pl'=>'aaa','desc_en'=>'bbb'],['id'=>2,'desc_pl'=>'ccc','desc_en'=>'ddd'],.....];
iterujesz po każdym elemencie i wpisujesz do nowej:
  1. $nowa_tablica[$element['id']]['desc_pl']=$element['desc_pl'];


--------------------
Go to the top of the page
+Quote Post
Johnas
post 3.10.2022, 12:33:48
Post #5





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

Ostrzeżenie: (0%)
-----


  1. foreach ($res as $wynik) {
  2. $error[$wynik["id"]]["desc_pl"] = $wynik["desc_pl"];
  3. }
  4.  
  5. echo $error[3]["desc_pl"];


Zakładając że te numerki masz jako id bo nie pokazałeś struktury bazy danych na screenie.

Ten post edytował Johnas 3.10.2022, 12:35:17


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 02:27