- iPhone topik
- Az iPhone hajthatatlanságán gúnyolódik a Samsung
- Samsung Galaxy Watch6 Classic - tekerd!
- Poco F7 Pro - jó, de az amatőr sem rossz
- Megjött a jubileumi Pixel széria
- Yettel topik
- Samsung Galaxy S21 FE 5G - utóirat
- Milyen okostelefont vegyek?
- Vivo X200 Pro - a kétszázát!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
trisztan94 #14275 üzenetére
"tehát ha a 2. találat id-jére szeretnék hivatkozni akkor
$result[1][0];
eddig gondolom világos.."
Világos, de a legnagyobb hülyeség integer tömbindexekkel hivatkozni a mezőidre, amikor tök egyszerűen megkapod asszociatív tömbként is a fetch_array()-vel, de akkor már használd a fetch_assoc()-ot, mivel tök felesleges, hogy asszociatív és numerikus tömb is legyen kutyulva...szóval akkor helyesen $result[1]['shirt_image_id'], ha már...
Persze nyilván így az éles kódban nem fogsz hivatkozni rá, mivel a $result tömbön szépen végigmész egy foreach-csel/while-lal/for ciklussal.Egyébként meg továbbra sem szégyen, inkább érdem olvasni a dokumentációt...
http://www.php.net/manual/en/mysqli-result.fetch-all.php
azonban itt is van a figyelmeztetés:
"As mysqli_fetch_all() returns all the rows as an array in a single step, it may consume more memory than some similar functions such as mysqli_fetch_array(), which only returns one row at a time from the result set. Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance. For these reasons mysqli_fetch_all() should only be used in those situations where the fetched result set will be sent to another layer for processing."A fetch_assoc-nál meg ott van a példa is a doksiban az objektumorientált kódra:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* free result set */
$result->free();
}
/* close connection */
$mysqli->close();Szóval nem értem, mi a gond:
a saját kódodban kigyűjtheted az eredményeidet egy másik tömbbe is, ha nagyon akarod:$myResults = array();
.....................
while ($row = $result->fetch_assoc()) {
$myResults[] = $row;
// de itt babrálhatsz az eredményeiddel így:
echo $row['shirt_image_id'] . ': '.$row['description'];
}
....................
itt felhasználhatod a $myResults tömbödet, amire akarod...
Ha ezt pl. json_encode-olni akarod, akkor nyilvánvalóan olyan módon gyűjtsd ki ezeket az adatokat a $myResults tömbbe, hogy az szűrve legyen, és csak azt a mezőt és olyan módon add vissza a kliensoldalnak, ahogy az elfogadható (pl. ha nem akarod egy az egyben a mezőneveidet visszaadni, akkor nevezd el máshogy, vagy tudom is én, mi az elvárás nálad).Szerk.:
Az pedig gázos, ha így van tagekkel ellátva a bejegyzésed, hogy vesszővel elválasztva beokádod egyetlen mezőbe:
[categories] => {utazás,párizs,trisztán}
Pfuj, broáf!
Új hozzászólás Aktív témák
- VR topik (Oculus Rift, stb.)
- Azonnali alaplapos kérdések órája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Elektromos autók - motorok
- Villanyszerelés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kerékpárosok, bringások ide!
- Luck Dragon: Asszociációs játék. :)
- OLED monitor topic
- Subaru topik
- További aktív témák...
- Samsung Galaxy S23 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte AORUS B550M R7 5700X 32GB DDR4 1TB SSD RX 6800 16GB Zalman i3 NEO Gigabyte 850W
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP EliteBook 835 G7 AMD Ryzen 5 4650U
Állásajánlatok
Cég: FOTC
Város: Budapest