Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Przekazywanie danych z tabeli do tablicy, i dalsze operacje na rekordach
--Frizzy--
post
Post #1





Goście







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ę.
Go to the top of the page
+Quote Post
Lwik
post
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 8
Dołączył: 11.05.2012

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


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. }


Ten post edytował Lwik 12.05.2012, 12:40:43
Go to the top of the page
+Quote Post
Frizzy
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 6.11.2008

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


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ć (IMG:style_emoticons/default/smile.gif) Dzięki wielkie za pomoc.

Ten post edytował Frizzy 12.05.2012, 12:45:02
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 11:10