Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: switch i zapytanie do bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
grzana12
Jak mogę utworzyć linki wykorzystując funkcję switch, tak aby tworzyły się na podstawie zapytania do bazy oraz pętli while. Czy istnieje taka możliwość?
php programmer
  1. <?php
  2. $query = "SELECT kolumna FROM linki";
  3. $result = mysql_query($query);
  4.  
  5. while ($row = mysql_fetch_array($result)){
  6. switch ($row['kolumna']){
  7.  case: 'a': $link = 'http://www.wp.pl'; break;
  8.  case: 'b': $link = 'http://www.interia.pl'; break;
  9.  }
  10. echo '<br><a href="'.$link.'">'.$row['kolumna'].'<br>';
  11. }
  12. ?>
grzana12
Chodziło mi raczej o coś takiego:

  1. <?php
  2. $zapytanie = mysql_query("SELECT username FROM nuke_users WHERE stanowisko!='0'");
  3. while ($user = mysql_fetch_array($zapytanie)) {
  4.  
  5. switch($_GET['user']) {
  6.  
  7. case "".$user['username']."":
  8. $name = $user['username'];
  9. $foto = $user['username'];
  10. break;
  11.  
  12. default:
  13. echo "<center><h2>Brak użytkownika w bazie</h2></center>";
  14. break;
  15. };
  16. };
  17. ?>


Czy coś takiego ma sens?
Cienki1980
Nie nie ma sensu. Napisz co chcesz zrobić z tymi danymi wyciąganymi z bazy ... bo ta konstrukcja do niczego nie prowadzi.
grzana12
Switch służy również, aby utworzyć link postaci: "link.php?id=cos" A więc chodzi mi, aby na podstawie danych w kolumnie jednej z tabel w bazie utworzyć takie linki.
Cienki1980
Tylko w takim przypadku ze switchem nawet jeżeli do zmiennej $link będziesz przypisywał jakiś link, to zawsze będzie miał on wartość ostatniego obrotu pętli.
Możesz poradzić sobie z tym za pomocą tablic, zapisując do tablic odpowiednie wartości.

A co chcesz robić dalej z tymi danymi ? Jeżeli wyświetlać to zrób to od razu w pętli while, i nie będzie żadnego kłopotu.
grzana12
tak utworzone linki miały by mi posłużyć do podlinkowania obrazków z tej że tabeli.

zapraszam na stronę http://www.kkp-kaszuby.pl/modules.php?name=Czlonkowie to może zrozumiesz o co chodzi
Cienki1980
  1. <?php
  2. $zapytanie = mysql_query("SELECT username FROM nuke_users WHERE stanowisko!='0'");
  3.  
  4. while ($user = mysql_fetch_array($zapytanie)) 
  5. {
  6.  echo "<a href="link_do_strony.php?uzytkownik=".$user['id']."">Szczegoly uzytkownika ".$user['nazwisko']."</a>";
  7. }
  8. ?>


Mam nadzieje, że załapiesz o co chodzi tutaj i uda Ci się to zastosować. No chyba, że chodzi jeszcze o coś innego.
grzana12
Widzę że tak jak chcę to zrobić nie da rady. Więc mógłbyś mi powiedzieć jak mogę przesłać jakąś zmienną metodą GET lub POST do innej stronki?
Cienki1980
W tym przykładzie co napisałem powyżej po kliknięciu w link prześlesz w $_GET['uzytkownik'] wartość z pola $user['id'];
grzana12
Wielkie dzięki udało mi się to zrobić.

W drugim pliku zrobiłem coś takiego, tak jak mi napisałeś:

  1. <?php
  2. $name=$_GET['user'];
  3. ?>
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.