Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] pobieranie danych z bazy
Forum PHP.pl > Forum > Przedszkole
em-ba
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. ?>
_olo_1984
  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
maniekl2
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
em-ba
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.  ?>
erix
Zwróć uwagę na ostatnie echo" title="Zobacz w manualu PHP" target="_manual. ;]
soulreaver1
na samym końcu kodu brakuje ;
em-ba
wstawiłem na samym końcu ; ale nic sie nie zmieniło.. dalej jest ten sam błąd sad.gif
erix
Masz literówkę przy $dane2['imie'].
em-ba
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
erix
Chodzi mi o tak jakby "wcięcie" tej zmiennej w gotowego stringa; coś Ci się tam poprzestawiało. ;]
em-ba
uff biggrin.gif

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

Dzieki wielkie.. smile.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.