Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Select z mysql do array
Forum PHP.pl > Forum > Przedszkole
grezliq
Cześć

Mam następujący problem
Mam skrypt zipujący pliki. Z linkami do plików podanych na sztywno - działa:
  1. $files_to_zip = array(
  2. 'http://www.example.com/images/item/image1_thb.jpg',
  3. 'http://www.example.com/images/item/image2_thb.jpg',
  4. 'http://www.example.com/images/item/image3_thb.jpg',
  5. );


Jednak z bazy danych muszę wziąć nazwę pliku i utworzyć link, dla testów zrobiłem echo, które ładnie pokazuje mi nazwy plików:
  1. $shots = mysql_query("SELECT name, ext FROM my_images WHERE item_id=$idnumber") or die(mysql_error());
  2. while($row = mysql_fetch_assoc($shots)) {
  3. echo "http://www.example.com/images/item/";
  4. echo $row["name"];
  5. echo '_thb.';
  6. echo $row["ext"];
  7. echo '<br>';
  8. }


Pokazuje to co powinno:
http://www.example.com/images/item/image1_thb.jpg
http://www.example.com/images/item/image2_thb.jpg
http://www.example.com/images/item/image3_thb.jpg

Nie mam tylko zielonego pojęcia jak to połączyć tak aby zastąpić pliki podane na sztywno tymi które zostały pobrane z bazy.

Proszę o pomoc. Dzięki.
SmokAnalog
Użyj sobie lepiej mysqli. Tam masz też funkcję mysqli_fetch_all, która wszystkie rekordy zwróci Ci jako tablicę.
nospor
Smoku kochany, ale ta funkcja nie polaczy mu pol, a to tez trzeba zrobic wink.gif
Ponadto, mysqli to trzeba uzywac z innego powodu a nie tej funkcji.

@grezliq uzywasz rozszerzenia mysql ktore juz dawno wylecialo z php. Nie rob sobie krzywdy i przejdz jak wspomniano na mysqli lub PDO

Co do problemu
  1. $files_to_zip = array();
  2. while($row = mysql_fetch_assoc($shots)) {
  3. $files_to_zip[] = 'http://www.example.com/images/item/' . $row["name"] . '_thb.' . $row["ext"];
  4. }

I juz. Takie tam podstawy operacji na tekstach i na tablicach
SmokAnalog
No jasne, że z innego powodu biggrin.gif

Ja jednak polecam zrobić to bez foreach. Albo złożyć odpowiedni string w zapytaniu z użyciem CONCAT(), albo w array_map. Osobiście nie lubię takiego składania tablicy w pętli, jeśli da się inaczej.
viking
array_map będzie niepotrzebną pracą parsera. Najszybciej było by tutaj od razu w zapytaniu zwrócić cały wynik i tylko tablicę przerzucić do pliku bez żadnych iteracji.
nospor
Cytat
Osobiście nie lubię takiego składania tablicy w pętli, jeśli da się inacze
Tez staram sie unikac tego typu petli ale nie zawsze jest sens i potrzeba.
W tym przypadku, nie widze powodu mieszania uzytkownikowami bajerami, gdy ten nie ogarnia banalnych operacji na tekstach i tablicach. Moze wpierw niech opanuje to wink.gif
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.