Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] pobieranie danych z bazy
em-ba
post 8.04.2008, 15:32:24
Post #1





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Witam, mam taki problem, że..
1) nie udaje mi się pobrać danych użytkownika z bazy, tzn pobiera mi tylko <?=$cos;?>, gdzie powinno wyswietlac konkretna wartosc.
2) nie wiem jak zrobić tak żeby w tym momencie nie mozna było edytować tylko dopiero po naciśnięciu EDIT

Chciałem zrobić edycję danych ale mi nie wychodzi. //Będe wdzieczny za pomoc.. smile.gif

Nie wiem czy dobrze rozumuje:
1) Połącz z bazą
2) Wybierz tabele
3) Zapytanie - w/g czego ma pobierać dane
4) Podstawiam formularz, do którego ma wstawiać dane

W tym formularzu dane mają być tylko widoczne... a pod nim znajdować się bedą dwa przyciski - OK i EDIT i w edycji będzie można je zmieniac..

Próbowałem tego dokonać w taki sposób:
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $dane = mysql_query ("SELECT * FROM `uzytkownicy` WHERE id='".$id."'");
  6.  
  7. '<div>
  8.  <form action="mojedane.php" method="POST">
  9. <fieldset>
  10. <legend><b>Edytuj dane:</b></legend>
  11. <div>
  12. <div id="md">
  13. <div>
  14. <label for="imie">imię:</label>
  15. <input id="imie" name="imie" class="text" type="text" maxlength="30" value="<?=$imie?>" />
  16. </div>
  17. <div>
  18. <label for="nazwisko">nazwisko:</label>
  19. <input id="nazwisko" name="nazwisko" class="text" type="text" maxlength="30" value="<?=$nazwisko;?>" />
  20. </div> 
  21. </div> //imie i nazwisko to tylko wybrane dane do pobrania..
  22. </div>
  23. </fieldset>
  24. </form>
  25. </div>'
  26.  
  27. ?>
Go to the top of the page
+Quote Post
_olo_1984
post 8.04.2008, 17:44:06
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


  1. <?php
  2. ...
  3.  
  4. if(isset($_GET['action']) && $_GET['action']=='zmien') {
  5. // tu zapytanie zmieniające dane
  6.  
  7. }
  8.  
  9. if(isset($_GET['action']) && $_GET['action']=='pokaz') {
  10. $dane = mysql_query ("SELECT * FROM uzytkownicy WHERE id='".$id."'");
  11. $row=mysql_fetch_array($dane);
  12.  
  13. '<div>
  14.  <form action="mojedane.php?action=zmien" method="POST">
  15. <fieldset>
  16. <legend><b>Edytuj dane:</b></legend>
  17. <div>
  18. <div id="md">
  19. <div>
  20. <label for="imie">imię:</label>
  21. <input id="imie" name="imie" class="text" type="text" maxlength="30" value="'.$row['imie'].'" />
  22. </div>
  23. <div>
  24. <label for="nazwisko">nazwisko:</label>
  25. <input id="nazwisko" name="nazwisko" class="text" type="text" maxlength="30" value="'.$row['nazwisko'].'" />
  26. </div> 
  27. </div> //imie i nazwisko to tylko wybrane dane do pobrania..
  28. </div>
  29. </fieldset>
  30.  <input type="hidden" name="id_uzytkownika" value="'.$row['id'].'">
  31. </form>
  32. </div>'
  33. }
  34. else {
  35.  // tutaj formularz wybierzani użytkownika (po id) 
  36.  // odwołujące się do mojedane.php?action=pokaz
  37. }
  38. ?>


nie wiem czy oto ci chodzi, jest to oczywiście tylko taka podstawa, ale chodziło mi o samą ideę tego.

pozdrawiam

Ten post edytował _olo_1984 8.04.2008, 17:46:37


--------------------
awake
Go to the top of the page
+Quote Post
maniekl2
post 8.04.2008, 17:52:17
Post #3





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

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


tak pierwsze co mi sie nasówa to bład przy wyświetlaniu zmiennych. Po co robisz "<?php ?> " juz w skrypcie php ? biggrin.gif
zapomniałeś o mysql_fetch_array
pod
  1. <?php
  2. $dane = mysql_query ("SELECT * FROM `uzytkownicy` WHERE id='".$id."'");
  3. ?>

dodaj :
  1. <?php
  2. $dane2=mysql_fetch_array($dane);
  3. ?>

a jak wstawiasz do html stosuj cos takiego :
$dane['name] lub $dane['id']
ogólnie tak to powinno wygadać :

  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $dane = mysql_query ("SELECT * FROM `uzytkownicy` WHERE id='".$id."'");
  6. $dane2=mysql_fetch_array($dane);
  7.  
  8. "<div>
  9.  <form action="mojedane.php" method="POST">
  10. <fieldset>
  11. <legend><b>Edytuj dane:</b></legend>
  12. <div>
  13. <div id="md">
  14. <div>
  15. <label for="imie">imię:</label>
  16. <input id="imie" name="imie" class="text" type="text" maxlength="30" value=".$dane2['imie']." />
  17. </div>
  18. <div>
  19. <label for="nazwisko">nazwisko:</label>
  20. <input id="nazwisko" name="nazwisko" class="text" type="text" maxlength="30" value=".$dane2['nazwisko']." />
  21. </div> 
  22. </div>  
  23. </div>
  24. </fieldset>
  25. </form>
  26. </div>";
  27.  
  28. ?>

No i dodatkowo dodaj czym jest zmienna id bo w kodzie tego nie masz biggrin.gif

Oj widzę że mnie ktoś wyprzedził biggrin.gif

Ten post edytował maniekl2 8.04.2008, 17:58:04
Go to the top of the page
+Quote Post
em-ba
post 16.04.2008, 08:58:37
Post #4





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Dziekuje za odp.. biggrin.gif ..przepraszam, że tak długo ale nie mogłem wcześniej odpisac..

A więc tak..
Zrobiłem tak jak mi poradziliście ale nie działa, ponieważ wyrzuca mi taki parse error:

Parse error
: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in c:\usr\krasnal\www\olo\mojedane.php on line 108

Domyślam się, że mam coś nie tak z "ciapkami" ale przeglądam ten mój kod i nie widze tam żadnego błędu ..proszę o pomoc, bo może komuś z Was uda się go zauważyć smile.gif

line 108 tyczy się tego fragmentu:
<input id="nazwisko" name="nazwisko" class="text" type="text" maxlength="30" value="'.$dane2['nazwisko']'." />

a cały kod wygląda następująco..
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('fi_kur') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $dane = mysql_query ("SELECT * FROM uzytkownicy WHERE id='".$id."'");
  6. $dane2=mysql_fetch_array($dane);
  7.  
  8. '<div>
  9.  <form action="mojedane.php" method="POST">
  10. <fieldset>
  11. <legend><b>Edytuj dane:</b></legend>
  12. <div>
  13. <div id="md">
  14. <div>
  15. <label for="imie">imię:</label>
  16. <input id="imie" name="imie" class="text" type="text" maxlength="30" value="'.$dane2['imie']'." />
  17. </div>
  18. <div>
  19. <label for="nazwisko">nazwisko:</label>
  20. <input id="nazwisko" name="nazwisko" class="text" type="text" maxlength="30" value="'.$dane2['nazwisko']'." />
  21. </div>
  22. </div>  //imie i nazwisko to tylko wybrane dane do pobrania..  
  23. </div>
  24. </fieldset>
  25. <input type="hidden" name="id" value="'.$dane2['id'].'" />
  26. </form>
  27. </div>'
  28.  ?>
Go to the top of the page
+Quote Post
erix
post 16.04.2008, 08:59:41
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zwróć uwagę na ostatnie echo" title="Zobacz w manualu PHP" target="_manual. ;]


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
soulreaver1
post 16.04.2008, 09:03:55
Post #6





Grupa: Zarejestrowani
Postów: 59
Pomógł: 6
Dołączył: 1.04.2008

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


na samym końcu kodu brakuje ;
Go to the top of the page
+Quote Post
em-ba
post 16.04.2008, 09:13:29
Post #7





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


wstawiłem na samym końcu ; ale nic sie nie zmieniło.. dalej jest ten sam błąd sad.gif
Go to the top of the page
+Quote Post
erix
post 16.04.2008, 09:16:40
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Masz literówkę przy $dane2['imie'].

Ten post edytował erix 16.04.2008, 09:16:59


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
em-ba
post 16.04.2008, 09:23:22
Post #9





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


Patrze i poważnie nic nie widzę... jeśli chodzi o "imię" to tam specjalnie jest napisane "imie" ..bo tak też mam w bazie.. smile.gif
Go to the top of the page
+Quote Post
erix
post 16.04.2008, 09:24:29
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Chodzi mi o tak jakby "wcięcie" tej zmiennej w gotowego stringa; coś Ci się tam poprzestawiało. ;]


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
em-ba
post 16.04.2008, 09:34:18
Post #11





Grupa: Zarejestrowani
Postów: 202
Pomógł: 3
Dołączył: 6.01.2008
Skąd: Mazowieckie

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


uff biggrin.gif

okej - już zauważyłem i poprawiłem
zamiast value="'.$dane2['imie'].'" miałem value="'.$dane2['imie']'."

Dzieki wielkie.. smile.gif
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: 29.06.2025 - 00:30