Hirdetés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Vezetékes FEJhallgatók
- Projektor topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Micro Four Thirds
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- Épített vízhűtés (nem kompakt) topic
- Amlogic S905, S912 processzoros készülékek
Ú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
- Bomba ár! Lenovo ThinkPad X390: i5-G8 I 8GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- REFURBISHED - Lenovo ThinkPad 40A9 USB-C Dock (ELKELTEK) - CSAK RENDELÉSRE
- Logitech G29 SE Driving Force PC/PS4/PS5
- Bomba ár! Dell Latitude E5450 - i5-5GEN I 4GB I 320GB I 14" HD I HDMI I Cam I W10 I Gari!
- Több db Nvidia Quadro M4000 8GB GDDR5 videokártya számlával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő




