Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][php] maly problemik z Mysql
Forum PHP.pl > Forum > Przedszkole
damianm2007
Witam.
Napisałem taki kodzik...
Kod
  <?
  
  
  
  $query = mysql_query('SELECT * FROM zamowienia_vps;');
  
  while ($rekord = mysql_fetch_assoc($query)) {
  $id = $rekord['id'];
  $login = $rekord['dodatek2'];
  $ile = $rekord['rootpass'];
  
  
  print ("<table width='400px' border='0'>");
  print ("<tr><td>$id || <BR> Login Panel: $login || <BR>Hasło:<b> $ile</b></td></tr>");
  
  print ("</font>");
  
  }
  
  ?>


i mam problem... gdyż wyświetla mi wszystkich userów i ich hasła... a ja chce aby jeden user widział swoje po zalogowaniu do panelu klienta...

bmL
Witam, po pierwsze nie ma potrzeby żebyś stosował print który zwraca za każdym razem "1", co co prawda praktycznie nie zauważalnie ale spowalnia wykonanie skryptu. Jednak prawie każdy programista o ile nie zachodzi inna potrzeba używa echo zamiast print.
Po drugie jeżeli chcesz wyświetlić tylko jednego użytkownika to musisz określić o jakiego użytkownika chodzi na podstawie jego numeru id lub nazwy użytkownika np:
  1. $query = mysql_query('SELECT * FROM zamowienia_vps WHERE id = \'5\';');
  2.  
  3. $rekord = mysql_fetch_assoc($query); // pentlę można pominąć poniważ pobraliśmy tylko jeden wpis.
  4.  
  5. $id = $rekord['id'];
  6. $login = $rekord['dodatek2'];
  7. $ile = $rekord['rootpass'];
  8.  
  9.  
  10. echo "<table width='400px' border='0'>";
  11. echo "<tr><td>$id || <BR> Login Panel: $login || <BR>Hasło:<b> $ile</b></td></tr>";
  12.  
  13. echo "</font>";
  14. }
damianm2007
Cytat(bmL @ 5.09.2009, 01:58:09 ) *
Witam, po pierwsze nie ma potrzeby żebyś stosował print który zwraca za każdym razem "1", co co prawda praktycznie nie zauważalnie ale spowalnia wykonanie skryptu. Jednak prawie każdy programista o ile nie zachodzi inna potrzeba używa echo zamiast print.
Po drugie jeżeli chcesz wyświetlić tylko jednego użytkownika to musisz określić o jakiego użytkownika chodzi na podstawie jego numeru id lub nazwy użytkownika np:
[PHP] pobierz, plaintext
  1. $query = mysql_query('SELECT * FROM zamowienia_vps WHERE id = \'5\';');
  2. $rekord = mysql_fetch_assoc($query); // pentlę można pominąć poniważ pobraliśmy tylko jeden wpis.
  3. $id = $rekord['id'];
  4. $login = $rekord['dodatek2'];
  5. $ile = $rekord['rootpass'];
  6. echo "<table width='400px' border='0'>";
  7. echo "<tr><td>$id || <BR> Login Panel: $login || <BR>Hasło:<b> $ile</b></td></tr>";
  8. echo "</font>";
  9. }
[PHP] pobierz, plaintext

Działa fajnie smile.gif tylko hmmm dla kilkunastu ręcznie... nie da sie tak aby pobierało automatem id usługi ?
bmL
A gdzie masz przechowywane to id usługi? Po prostu w miejsce liczby wstaw zmienną w której znajduje się to id.
damianm2007
Cytat(bmL @ 5.09.2009, 02:40:25 ) *
A gdzie masz przechowywane to id usługi? Po prostu w miejsce liczby wstaw zmienną w której znajduje się to id.


zamowienia_vps < tu są zamówienia oraz id usługi danego klienta zamiast

  1. = \'5\';');

ma być
  1. = \'$id\';');


questionmark.gifsmile.gif
Spawnm
Proszę poprawić tytuł na bardziej sensowny.
'mały problemik' nie informuje nas z czym masz problem.
bmL
W stringach oplecionych apostrofami nie zostaną zmaienione zmienne musiał byś ten string opleść podwójnym cudzysłowem albo połączyć je kropką. To są podstawy składni php.
  1. $query = mysql_query('SELECT * FROM zamowienia_vps WHERE id = \''.$id.'\';');
  2. // albo
  3. $query = mysql_query("SELECT * FROM zamowienia_vps WHERE id = '$id';");
damianm2007
Cytat(bmL @ 5.09.2009, 23:31:23 ) *
W stringach oplecionych apostrofami nie zostaną zmaienione zmienne musiał byś ten string opleść podwójnym cudzysłowem albo połączyć je kropką. To są podstawy składni php.
[PHP] pobierz, plaintext
  1. $query = mysql_query('SELECT * FROM zamowienia_vps WHERE id = \''.$id.'\';');
  2. // albo
  3. $query = mysql_query("SELECT * FROM zamowienia_vps WHERE id = '$id';");
[PHP] pobierz, plaintext


w wersji 1 nic nie pokazuje a w wer 2 jest błąd

Kod
[b]Parse error[/b]:  syntax error, unexpected T_VARIABLE in [b]/home/***/domains/biling.***.pl/public_html/userstrony/uslugi.php[/b] on line [b]179

[/b]
thek
Byk wywala bo pewnie $id jest puste i kompletnie nic tam nie przypisujesz lub gdzieś indziej w kodzie robisz byka. Wyświetl sobie tę zmienną najlepiej lub daj kod poprawiony tutaj bo możesz babola walić gdzieś indziej.
damianm2007
Cytat(thek @ 6.09.2009, 14:05:38 ) *
Byk wywala bo pewnie $id jest puste i kompletnie nic tam nie przypisujesz lub gdzieś indziej w kodzie robisz byka. Wyświetl sobie tę zmienną najlepiej lub daj kod poprawiony tutaj bo możesz babola walić gdzieś indziej.


id nie jest puste bo jak inaczej bym pokazał zamazanych ludzi u góry ? jak wpisze np id 50 to pokazuje dane ale jak juz samo $id to nie czyta automatycznie....
thek
Wersja druga kodu nie ma prawa zadziałać z prostej przyczyny - apostrofy nie są escape'owane. Jeśli to na pewno jest liczba to możesz nawet pojedyncze apostrofy pominąć. A skoro pierwszy nic nie pokazuje to znaczy, że masz gdzieś byka wcześniej. Wyświetl zawartość tej zmiennej w var_dump lub print_r. Jeśli brak będzie czegokolwiek to pewnie masz problem z podłączeniem do bazy lub wpis w bazie o takim id zwyczajnie nie istnieje.
bmL
Drogi kolego przyjrzyj się dobrze wersji drugiej, całe zapytanie zawarte jest w cudzysłowach. Więc apostrofów się nie escape'uje.

Wracając do tematu obie wersje powinny się sprawować tak samo więc nie wiem w czym może tkwić błąd. Może zapomniał średnika na końcu? Mamy niespodziewane wystąpienie zmiennej. Skopiuj tutaj linie 178-180 zobaczymy co tam jest.
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.