Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysql php pobieranie z tabeli danych i do zmiennej array
de_gie
post 31.01.2011, 20:55:43
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


Witam serdecznie.... Mam pustke w glowie jak zrobic narpiew przedstawie kod
  1. mysql_select_db ("admin_dane") or die ("Nie mozna wybrac bazy danych");
  2.  
  3.  
  4. $sql = "INSERT INTO uzytkownicy VALUES (\n"
  5. . "\n"
  6. . "NULL,\n"
  7. . "\"testowa\",\n"
  8. . "\"degie\",\n"
  9. . "\"Darek\",\n"
  10. . "\"Gębka\",\n"
  11. . "\"663528255\",\n"
  12. . "\"de_gie@o2.pl\",\n"
  13. . "\"qwerty\");";
  14.  
  15.  
  16.  
  17.  
  18.  
  19. if(mysql_query($sql)) //jeśli tabela została poprawnie utworzona
  20. {
  21. echo 'poprawnie';
  22. }
  23. else //jeśli nie utworzono tabeli
  24. {
  25. echo 'Wystąpił błąd przy tworzeniu recordow' . mysql_error() . "\n";; //wyświetlamy komunikat o błędzie
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32. ?>


Kod przedstawia wpisywanie do tabeli uzytkownicy danych.
I wszystko jest ok tylko teraz chcialbym pobrac wszystkie dane z tabeli i do zmiennej array zebym potem mogl porownac np jak "nazwa" np bocian wystepuje w tabeli to np echo "wystepuje taka nazwa" a jak nie to odwrotenie. Albo zeby szukalo tylko w odpowiedniej kategori tabeli. Nie wiem czy jasno napisalem ale trudno wytlumaczyc o co mi chodzi smile.gif z gory dziekuje za pomoc

a jeszcze czy da rade pobierania danych z kilku tabel?
Go to the top of the page
+Quote Post
ulow
post 31.01.2011, 21:03:57
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

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


http://dev.mysql.com/doc/refman/5.0/en/select.html

http://pl2.php.net/mysql_fetch_array

czyli podstawy obsługi bazy


--------------------
/dev/ulow
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 21:45:30
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


wolalbym na jakims przykladzie bo tak to za zielony jestem sad.gif

  1. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  2.  
  3.  
  4.  
  5. if(mysql_query($sql)) //jeśli tabela została poprawnie utworzona
  6. {
  7.  
  8. echo 'ok';
  9. }
  10. else //jeśli nie utworzono tabeli
  11. {
  12. echo 'Wystąpił błąd przy tworzeniu recordow' . mysql_error() . "\n";; //wyświetlamy komunikat o błędzie
  13. }
  14.  
  15.  
  16.  
  17.  
  18.  
  19. ?>


no teraz skrypt pobiera przez select ale jak teraz pobrane dane wpisac do zmiennej array i by potem np mogl wyswietlic za pomoca echo $array;

troche wykazalem inicjatywy smile.gif
  1.  
  2. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  3. $idzapytania = mysql_query($sql);
  4.  
  5. while ($wiersz = mysql_fetch_array($idzapytania)) {
  6. echo $wiersz[0];


kod dziala jak jest teraz echo $wiersz[0]; wyswietlaja sie imiona ale wyglda to w ten sposob DarekMarek jest ciag caly czas chcialbym zeby to bylo oddzielone spacja lub jakims znakiem no i jak teraz przeszukac zmienna $wiersz[0] w poszukiwaniu imiona darek lub marek? z gory dziekuje za wszelaka pomoc
Go to the top of the page
+Quote Post
Zyx
post 31.01.2011, 21:57:37
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


To napisz, by Ci oddzielało spacją. Przecież to są absolutne podstawy PHP. Sklejanie ciągów tekstowych oraz instrukcja if się kłaniają.

http://pl.wikibooks.org/wiki/PHP/Zmienne_i_tablice#Typy
http://pl.wikibooks.org/wiki/PHP/Instrukcja_if

Jak sobie to przeczytasz, to będziesz już wiedział, jak sprawić, by echo wyświetliło coś jeszcze oraz że w celu sprawdzenia czy aktualnie przetwarzany wiersz zawiera imię "Darek", należy po prostu wstawić tam kod, który coś robi "jeśli zmienna zawiera słowo <Darek>".


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 22:16:12
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


jakos manual ciezko mi wchodzi wole jakies objasnione przyklady. prosze o zrozumienie jestem amator a zabralem sie za powazny serwis www hehehhe ale juz zrobilem krok dalej
  1. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  2. $result = mysql_query($sql);
  3.  
  4. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  5. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  6. }


po takim kodzie wyswietla sie mi w przegladarce

Udało się połączyć z serwerem!
=> Marek Elert 663528255 => Darek Gębka 663528255

I teraz moj najwiekszy bol zeby sprawdzic czy istnieje tekst "Darek" prosze o pomoc.
Go to the top of the page
+Quote Post
Zikerus
post 31.01.2011, 22:34:29
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.01.2011

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


  1. $row[0], $row[1], $row[2]
<== Tutaj wypisujesz dane, jezeli masz podstawowa wiedze na temat PHP to wiesz, ze mozesz przyrownac te wartosci do dowolnych innych wartosci, wiec robisz np

  1. if($row[X] == 'Darek')


gdzie X tam pozycja w tabeli, w ktorej trzymane jest imie, chociaz ja osobiscie wole uzywac aliasow, czyli np. $row['imie'] - aliasy sa take same jak nazwy kolumn w bazie danych.
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 22:46:15
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


chyba cos nie dziala albo zle robie taki teraz kod
  1. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  2. $result = mysql_query($sql);
  3.  
  4. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  5. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  6. }
  7.  
  8. if($row[0] == 'Darek')
  9.  
  10. {
  11. echo 'jest darek';
  12. }
  13. else
  14. {
  15. echo 'nie ma darka';
  16. }
  17.  
  18.  
  19.  


przegladarka wyzuca
dało się połączyć z serwerem!
=> Marek Elert 663528255 => Darek Gębka 663528255nie ma darka

A przeciez w $row[0] jest darek

co moze byc nie tak?
Go to the top of the page
+Quote Post
Zikerus
post 31.01.2011, 22:50:51
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.01.2011

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


$row[] istnieje tylko w bloku while, bo tam zostalo zadeklarowane, rowniez podstawa programowania w jakimkolwiek jezyku programowania. Proponuje wiec sprawdzenie czy jest darek przeniesc sobie wewnatrz petli while, mozesz zadeklarowac zmienna np $czy_jest_darek przed petla, wewnatrz petli while sprawdzasz czy jest darek, jezeli tak to zmieniasz $czy_jest_darek na 1. Na koncu sprawdzasz wartosc zmiennej i... chyba wiesz co zrobic

Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 22:58:15
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


srednio wiem co robic ale sie domyslam troche smile.gif
  1.  
  2. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  3. $result = mysql_query($sql);
  4.  
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  6. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  7. }
  8.  
  9. while($row[0] == 'Darek')
  10.  
  11. {
  12. printf ("jest darek");
  13. }
  14.  
  15.  
  16.  
  17. ?>


tak zrobilem while ale nic sie nie wyswietla wyglada to tak
Udało się połączyć z serwerem!
=> Marek Elert 663528255 => Darek Gębka 663528255
Go to the top of the page
+Quote Post
kadlub
post 31.01.2011, 23:12:18
Post #10





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


może zamiast while if
  1.  
  2. if($row[0] == 'Darek')
  3.  


Ten post edytował kadlub 31.01.2011, 23:12:49
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 23:19:38
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


tak bylo wczesniej robione luknij wyzej i nie dziala
Go to the top of the page
+Quote Post
Zikerus
post 31.01.2011, 23:20:10
Post #12





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.01.2011

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


Cytat(de_gie @ 31.01.2011, 22:58:15 ) *
srednio wiem co robic ale sie domyslam troche smile.gif
  1.  
  2. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  3. $result = mysql_query($sql);
  4.  
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  6. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  7. }
  8.  
  9. while($row[0] == 'Darek')
  10.  
  11. {
  12. printf ("jest darek");
  13. }
  14.  
  15.  
  16.  
  17. ?>


tak zrobilem while ale nic sie nie wyswietla wyglada to tak
Udało się połączyć z serwerem!
=> Marek Elert 663528255 => Darek Gębka 663528255


...

Prosze, raz jeszcze przeczytaj co napisalem, instrukcje sprawdzajaca ma byc w petli while gdzie deklarujesz $row, jezeli nie jestes tego w stanie zrozumiec to odsylam do podstaw PHP, inaczej nie dasz sobie rady, a ten temat zamieni sie w pisanie strony za Ciebie.

Raz jeszcze, instrukcja sprawdzajaca (ta, ktora miales) zmodyfikuj tak, by ustawiala jakas zmienna na wartosc, dzieki ktorej sprawdzisz czy darek istnieje, cale sprawdzenie wstaw do while, ktore juz masz, na koncu kodu wstaw sprawdzenie, czy wartosc zmiennej jest taka jaka ustawiles, jezeli tak - darek istnieje
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 23:25:26
Post #13





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


dzieki wielkie jestes wielki dziala super jak nalezy. pozdro
Go to the top of the page
+Quote Post
ulow
post 31.01.2011, 23:25:42
Post #14





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

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


może tak pseudokodem troche...
Kod
$isExist = null;
while($row = ...) {
  if($row[] == szukana_wartosc)
     $isExist = true
}

if(isExist == true)
  robisz_co_chcesz


edit: spóźniony smile.gif

Ten post edytował ulow 31.01.2011, 23:26:25


--------------------
/dev/ulow
Go to the top of the page
+Quote Post
kadlub
post 31.01.2011, 23:29:01
Post #15





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


[quote name='de_gie' date='31.01.2011, 22:58:15 ' post='832699']
srednio wiem co robic ale sie domyslam troche smile.gif
  1.  
  2. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  3. $result = mysql_query($sql);
  4.  
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  6. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  7. if($row[0] == 'Darek')
  8.  
  9. {
  10. printf ("jest darek");
  11. }
  12.  
  13.  
  14. }
  15.  
  16.  
  17.  
  18. ?>



pewnie ci wyświetli go nawet kila razy zrób tak jak kolega niżej radzi

Ten post edytował kadlub 31.01.2011, 23:30:50
Go to the top of the page
+Quote Post
de_gie
post 31.01.2011, 23:47:54
Post #16





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 1.01.2011

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


tak nie dokonca dziala bo
  1. $sql = "SELECT imie, nazwisko, telefon FROM uzytkownicy";
  2. $result = mysql_query($sql);
  3.  
  4. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  5. printf (" => %s %s %s", $row[0], $row[1], $row[2]);
  6.  
  7.  
  8. if($row[0] == 'Darek111')
  9.  
  10. {
  11. printf (" %s ",'jest darek');
  12.  
  13. }
  14. else
  15. {
  16. echo 'nie ma darka';
  17. }
  18.  
  19.  
  20. }
  21.  
  22.  


minowicie dwa razy wyswietla sie nie ma darka
Udało się połączyć z serwerem!
=> Marek Elert 663528255nie ma darka => Darek Gębka 663528255nie ma darka
Go to the top of the page
+Quote Post
ulow
post 31.01.2011, 23:59:08
Post #17





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

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


bo sprawdzenie wykonuje się tyle razy ile masz pobranych rekordów. naprawdę wystarczy poczytać trochę manual i wszystko będzie jasne winksmiley.jpg
zrób tak jak Zikerus i ja Ci mówiliśmy: stwórz zmienną i jeżeli Darek czy co tam chcesz istnieje przypisz true, 1, etc i przerwij działanie pętli, a jeżeli nie ustaw ją na false, 0.


--------------------
/dev/ulow
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.05.2025 - 10:57