Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Przekazywanie danych z tabeli do tablicy
Forum PHP.pl > Forum > Przedszkole
-Frizzy-
Witam,

Męczę się od kilku dni z pewną banalną sprawą. Mam tabele z kolumnami: ID (autonumeracja) i email. Chciałbym pobrać z kolumny email pierwsze 20 rekordów (to akurat wiem jak zrobić) i przenieść je do tablicy. Cały szkopuł w tym, że gdy wywołuje napisany skrypt (poniżej), to wypisuje mi te 20 rekordów, ale nie wiem jak zrobić tak, żeby móc się odwoływać do konkretnego rekordu, podając np. $email[2] i "drukował" mi trzeci rekord z kolumny email. Jeżeli tak zrobię, to drukuje mi trzecią literę każdego rekordu, zamiast trzeciego rekordu w całości.

Mam coś takiego na razie:
  1. <?php
  2. $connect = mysql_connect("localhost", "root", "haslo")
  3. or die ("Błąd połączenia z bazą danych. Spróbuj ponownie za kilka minut.");
  4. mysql_select_db("test");
  5.  
  6. $query = "SELECT email FROM adresy LIMIT 20";
  7. $result = mysql_query($query);
  8.  
  9. while ($row = mysql_fetch_array($result))
  10. {
  11. extract($row);
  12.  
  13. echo $email.'<br>';
  14. }
  15.  
  16. ?>


W dalszej części kodu będę chciał do zmiennej $email przypisywać po kolei poszczególne rekordy z tabeli ($mail = $email[2] i tu żeby w zmiennej $mail przechowywał trzeci rekord).

Mam nadzieję, że dobrze wytłumaczyłem o ci mi chodzi. Proszę tylko o wyrozumiałość, bo w php jeszcze raczkuję.
Lwik
a po co upychasz tam extract?
  1. $row = mysql_fetch_array($result);
  2. echo $row[1]; // wypisuje drugi rekord


o to chodzi czy źle Cię zrozumiałem?

EDIT: Chyba źle przeczytałem. ^^
  1. $i = 0;
  2. while ($row = mysql_fetch_array($result))
  3. {
  4. echo $row['email'].'<br />';
  5. $mail[$i] = $row['email'];
  6. $i++;
  7. }
Frizzy
No właśnie w tym szkopuł, że nic nie pokazuje.

Jeżeli próbuję wyświetlić przez
  1. print_r($row);
całą tablicę, to dostaję coś takiego:

  1. Array ( [0] => cztery [email] => cztery ) Array ( [0] => trzy [email] => trzy ) Array ( [0] => dwa [email] => dwa ) Array ( [0] => jeden [email] => jeden )


Wszystkie indeksy mają wartość 0 i jak wpiszę
  1. print_r($row[0]);
to wyświetla "czterytrzydwajeden", a już z innym indeksem niż "0" to nie wyświetla już nic.

@UP (Edit)

Ok, zdaje się działać smile.gif Dzięki wielkie za pomoc.
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.