Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] Wyświetlanie tekstu z DB
Forum PHP.pl > Forum > Przedszkole
.radex
Jestem nowy jeśli chodzi o mysql w php, no i mam problem sad.gif

Fragment bazy danych:

kasa
|-user
|-zielone

No i mam taki formularz, żeby wpisać nazwę usera. No i tak klikam ok, nazwa usra przenosi się(a przynajmniej powinna) do $_POST['user']
No i chcę aby według nazwy usera wyświetliła się liczba jego $$$. Ale zabardzo nie wiem jak to zrobić. Włączam formularz, ok. Przechodze do panelu, ok. Ale nic nie pisze( nie ma parse error, ale nic nie ma ) mad.gif . Z góry dzięki za pomoc.
Pozdrawiam, Radex.
nospor
1) rzuc kodem
2) popraw tytul, bo slowo "Problem" dziala tu jak plachta na byka. Tytul ma byc odzwierciedleniem problemu, a nie slowa "Problem"
.radex
jestem prawie pewien że tekst jest zrypany sad.gif
  1. <?
  2. mysql_connect("localhost", "root", "");
  3. echo $zielone ;
  4. $nick = $_POST['nick'];
  5. $zielonesql = "SELECT kasa FROM zielone WHERE user='$nick'";
  6. $zielone = mysql_query($zielonesql);
  7.  
  8. ?>
nospor
no wiesz, najpierw wypisujesz zmienną $zielone, a dopiero potem pare linii nizej przypisujesz do niej zawartość... ciut nielogiczne winksmiley.jpg nie uwazasz, ze powinno byc na odwrót?
pozatym po wykonaniu mysql_query przy select, nalezy jeszcze wykonac mysql_fetch_array(). zajrzyj do manuala co i jak.

ps: przenosze na przedszkole
.radex
Ale zapytanie do SQL jest poprawne? no a tak po za tym nie do końca wiem gdzie umieścić mysql_fetch_array
mike
Cytat(radex_p @ 2006-04-29 11:20:09)
(...) no a tak po za tym nie do końca wiem gdzie umieścić mysql_fetch_array

Jak to jak?
Dokładnie tak samo jak jest w przykładach w manualu: mysql_fetch_array()

~nospor przecież Ci napisał:
Cytat
zajrzyj do manuala co i jak.
... więc lepiej do niego zajrzyj.
gebp
  1. <?php
  2. mysql_connect("localhost", "root", "");
  3.  
  4. $nick = $_POST['nick'];
  5. $query="SELECT zielone FROM kasa WHERE user like '$nick' ";
  6. $zielone=mysql_fetch_array($query);
  7. $ilekasy=$zielone['zielone'];
  8.  
  9. echo ($ilekasy);
  10.  
  11. ?>


Zakłdając że kasa to tabela, user to... user (jego nick) a zielone to ilość kasy.
.radex
wielkie dzięki, właśnie wchodziłem na php manual ale skoro jest przykład tongue.gif smile.gif
EDIT:
mad.gif
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\Moje Dokumenty\Radex\Web\XAAMP\xampplite\htdocs\z\panel.php on line 7
linia 7 : $zielone = mysql_fetch_array($query);
mike
Przykład, który tak się składa jest zły.
1. Skoro szukamy użytkownika o danym loginie to po co LIKE?
2. Jeśli takiego użytkownika nie ma to mysql_fetch_array() wywali błąd.

Powinno być tak:
  1. <?php
  2.  
  3. $resDBConnection = mysql_connect( 'localhost', 'root', '' );
  4. mysql_select_db( 'igk', $resDBConnection );
  5.  
  6. $_POST[ 'nick' ] = mysql_escape_string( $_POST[ 'nick' ] );
  7.  
  8. $strQuery = "SELECT zielone FROM kasa WHERE user = '" . $_POST[ 'nick' ] . "'";
  9. $resResult = mysql_query( $strQuery, $resDBConnection );
  10.  
  11. if( mysql_num_rows( $resResult ) > 0 )
  12. {
  13. $arrRow = mysql_fetch_array( $resResult ); // zakładamy ze jest jeden taki user
  14. echo $arrRow[ 'zielone' ];  // jesli nie to mysql_fetch_array() powinno być w pętli
  15. }
  16. else
  17. {
  18. echo 'Brak użytkownika.';
  19. }
  20.  
  21. ?>


~radex_p lepiej czytaj manuala, na forum.php.pl lenie z niechęcią do manuala czekający na gotowce nie są mile widzani tongue.gif

---update---
Hehehe, masz nuczkę tongue.gif
.radex
no to mam jeszcze jednen problem , nie bede robil drugiego tematu
  1. <?php
  2. $whatmod = $_GET['modyfikacja'];
  3. $money = $_GET['money'];
  4. if( $whatmod == '1'){
  5. $joindb = mysql_connect( 'localhost', 'root', '' );
  6. mysql_select_db( 'igk', $joindb );
  7. mysql_query("UPDATE kasa SET zielone='$money' WHERE user='p'");
  8. }
  9. $joindb = mysql_connect( 'localhost', 'root', '' );
  10. mysql_select_db( 'igk', $joindb );
  11.  
  12. $_POST[ 'nick' ] = mysql_escape_string( $_POST[ 'nick' ] );
  13.  
  14. $querydb = "SELECT zielone FROM kasa WHERE user = '" . $_POST[ 'nick' ] . "'";
  15. $zielone = mysql_query( $querydb, $joindb );
  16.  
  17. if( mysql_num_rows( $zielone ) > 0 )
  18. {
  19.     $kasa = mysql_fetch_array( $zielone );
  20.     echo $kasa[ 'zielone' ];
  21. }
  22. else
  23. {
  24.     echo 'Brak użytkownika.';
  25. }
  26. ?>
  27. <br><form method="get" action="?modyfikacja=1">
  28. <input type="text" name="money" value="kasa">
  29. <input type=submit value="zmień">
  30. </form>

dorobiłem do kody coś takiego i aktualizajca nie działa, prawdopodobnie to problem z nazwą usera lub z treścią UPDATE
EDIT:
ale tu zaznaczyłem żeby robiło się TYLKO dla usera 'p'
Nightwalker
yyyy a po co łączysz się 2 razy do bazy? nawet nie zamknąłeś połączenia, po prostu połącz się do bazy i jak skończysz operacje na bazach zamknij połączenie (mysql_close())
nospor
Cytat
method="get" action="?modyfikacja=1
W przypadku, gdy wysylasz dane metodą get, parametr akcji jest nadpisywany w rezultacie nie ma go w url smile.gif
.radex
zmieniłem na:
  1. <?php
  2.  
  3. $whatmod = $_POST['modyfikacja'];
  4. $money = $_POST['money'];
  5. if($whatmod == '1'){
  6. $joindb = mysql_connect( 'localhost', 'root', '' );
  7. mysql_select_db( 'igk', $joindb );
  8. mysql_query("UPDATE kasa SET zielone='$money' WHERE user='p'");
  9. }
  10. $joindb = mysql_connect( 'localhost', 'root', '' );
  11. mysql_select_db( 'igk', $joindb );
  12.  
  13. $_POST[ 'nick' ] = mysql_escape_string( $_POST[ 'nick' ] );
  14.  
  15. $querydb = "SELECT zielone FROM kasa WHERE user = '" . $_POST[ 'nick' ] . "'";
  16. $zielone = mysql_query( $querydb, $joindb );
  17.  
  18. if( mysql_num_rows( $zielone ) > 0 )
  19. {
  20.     $kasa = mysql_fetch_array( $zielone );
  21.     echo $kasa[ 'zielone' ];
  22. }
  23. else
  24. {
  25.     echo 'Brak użytkownika.';
  26. }
  27. ?>
  28. <br><form method="post" action="#">
  29. <input type="text" name="money" value="kasa">
  30. <input type="hidden" name="modyfikacja" value="1">
  31. <input type=submit value="zmień">
  32. </form>

i pisze : brak użyszkodnika, dopiero po drugim zalogowaniu pisze
EDIT:
można było by to zrobić za pomocą odświerzenia(head) z ?user=p ,ale tu jest to w post a nie get
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.