Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php+mysql - jak zrobic link z jednej z danych?
Forum PHP.pl > Forum > Przedszkole
Krzysiekpdf
Witam
Mam taki problem (pewnie prosty dla znawcow php). Chcialbym pobrac sobie dane z bazy, przy czym jedna z danych ma byc w tabeli jako link podaje skrypt:

  1. <html>
  2. <head>
  3. <title>ZMK - Pracownicy</title>
  4. </head>
  5. <body>
  6. <table border=\"1\" width=\"98%\" cellspacing=\"0\" cellpadding=\"0\" bordercolorlight=\"#000000\">
  7. <tr>
  8. <td width=\"96%\" colspan=\"7\" bgcolor=\"#C0C0C0\">
  9. <p align=\"center\"><b><font size=\"2\">Dane osobowe</font></b></td>
  10. </tr>
  11. <tr>
  12. <td width=\"6%\" align=\"center\" bgcolor=\"#E0E0E0\">
  13. <p align=\"center\"><font size=\"2\">&nbsp;ID</font></td>
  14. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\">
  15. <p align=\"center\"><font size=\"2\">Imię</font></td>
  16. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\"><font size=\"2\">Nazwisko</font></td>
  17. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\"><font size=\"2\">Stopień i stanowisko</font></td>
  18. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\"><font size=\"2\">Telefon</font></td>
  19. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\"><font size=\"2\">Pokój</font></td>
  20. <td width=\"18%\" align=\"center\" bgcolor=\"#E0E0E0\"><font size=\"2\">Strona WWW</font></td>
  21. </tr>
  22.  
  23.  
  24. <?php
  25.  
  26. mysql_connect (&#092;"localhost\",\"xxxx\",\"xxxxxx\");
  27.  
  28. $zapytanie = &#092;"SELECT * FROM zmk_pracownicy \";
  29. $wykonaj = mysql_query ($zapytanie);
  30.  
  31. while($wiersz=mysql_fetch_array ($wykonaj)) {
  32. echo &#092;" <tr>
  33. <td width=&#092;"6%\">\".$wiersz['id'].\"</td>
  34. <td width=&#092;"18%\">\".$wiersz['imie'].\"</td>
  35. <td width=&#092;"18%\">\".$wiersz['nazwisko'].\"</td>
  36. <td width=&#092;"18%\">\".$wiersz['stopien'].\"</td>
  37. <td width=&#092;"18%\">\".$wiersz['telefon'].\"</td>
  38. <td width=&#092;"18%\">\".$wiersz['pokoj'].\"</td>
  39.  
  40. #To ta linijka
  41. <td width=&#092;"18%\">.<a href=\"$wiersz['www']\">www</a>.</td>
  42. </tr>&#092;";
  43. } ?>
  44. </table>
  45. </body>
  46. </html>


Wszystko działa dobrze (poza tym linkiem). Może ktos pomoze mi wyprostowac ten kod?

Z góry dziękuje
pillot
43 - tą linijkę zapisałeś błędnie, możesz zrobić tak
  1. <?php
  2.  
  3. <a href=&#092;"$wiersz['www']\">
  4.  
  5. ?>


albo

  1. <?php
  2.  
  3. <a href=&#092;" . $wiersz['www'] . \">
  4.  
  5. ?>
Krzysiekpdf
No tak, ale ja wlasnie nie chce, zeby w tabeli wypisywal dana $wiersz['www'] (analogiczne, jak w poprzednich wierszach), ale zeby pisal jakis tekst (np: www, lub strona www) i podczepiał do niego jako link wlasnie ta dana. Ten tekst klikaloby sie i przechodzilo do odpowiedniej strony.
pillot
i właśnie tak napisałem, sprawdź to.

wiersz
  1. <?php
  2.  
  3. echo &#092;"<a href=\" . $wiersz['www'] . \">www</a>\";
  4.  
  5. ?>


wypisze Ci na stronie link www i jeśli na niego klikniesz to przejdziesz pod adres zawarty w zmiennej $wiersz['www'].
Zakładam, że w tej zmiennej znajduje się właśnie adres URL
Krzysiekpdf
Dzieki za kod. Kiedy probuje wpisywac to do tabeli

  1. <?php
  2. <td width=&#092;"6%\">\".$wiersz['id'].\"</td>
  3. <td width=&#092;"18%\">\".$wiersz['imie'].\"</td>
  4. <td width=&#092;"18%\">\".$wiersz['nazwisko'].\"</td>
  5. <td width=&#092;"18%\">\".$wiersz['stopien'].\"</td>
  6. <td width=&#092;"18%\">\".$wiersz['telefon'].\"</td>
  7. <td width=&#092;"18%\">\".$wiersz['pokoj'].\"</td>
  8. <td width=&#092;"18%\">\".<a href=\" . $wiersz['www'] . \">www</a>.\"</td>
  9. ?>


wyswietla bląd.

Parse error: parse error, unexpected '<' in pracpokaz.php on line 40

Kiedy zas wstawiam to poza tabela wyswietla link www do katalogu glownego. Jak wstawic to do tabeli?
aleksander
  1. <?php
  2. echo &#092;" <tr>
  3. <td width=&#092;"6%\">\".$wiersz['id'].\"</td>
  4. <td width=&#092;"18%\">\".$wiersz['imie'].\"</td>
  5. <td width=&#092;"18%\">\".$wiersz['nazwisko'].\"</td>
  6. <td width=&#092;"18%\">\".$wiersz['stopien'].\"</td>
  7. <td width=&#092;"18%\">\".$wiersz['telefon'].\"</td>
  8. <td width=&#092;"18%\">\".$wiersz['pokoj'].\"</td>
  9.  
  10. #To ta linijka
  11. <td width=&#092;"18%\">.<a href=\"$wiersz['www']\">www</a>.</td>
  12. </tr>&#092;";
  13. ?>
popraw na
  1. <?php
  2. echo ' <tr>
  3. <td width=\"6%\">'.$wiersz['id'].'</td>
  4. <td width=\"18%\">'.$wiersz['imie'].'</td>
  5. <td width=\"18%\">'.$wiersz['nazwisko'].'</td>
  6. <td width=\"18%\">'.$wiersz['stopien'].'</td>
  7. <td width=\"18%\">'.$wiersz['telefon'].'</td>
  8. <td width=\"18%\">'.$wiersz['pokoj'].'</td>
  9. <td width=\"18%\"><a href='. $wiersz['www'] .'>www</a></td>
  10. </tr>';
  11. ?>
Krzysiekpdf
Bardzo dziękuje - zadziałało. Jeszcze tylko musze cos wymyslec (pewnie if....) zeby pisalo www tylko wtedy, gdy odpowiednia dana w bazie istnieje. Sprobuje sam, ale jezeli mi sie nie uda to mam nadzieje, ze ktos mi pomoze. Jeszcze raz dziekuje.

Krzysiek
Ive
  1. <?
  2. if(!empty($wiersz['www'])) {
  3. ?>
  4. <a href=\"<? echo $wiersz['www']; ?>\">www</a>
  5. <?
  6. } else {
  7. ?>
  8. -
  9. <?
  10. }
  11. ?>
Krzysiekpdf
Dziekuje tez o czyms takim myslalem, ale jak to wrzucic do tej mojej tabelki tak, zeby zadzialalo (pokazywaloby w ostatniej kolumnie "brak" bez linku, jezeli nie byloby danej i www z linkiem do danej, jezeli by istniala).

Ps. Trzeba tyle razy otwierac i zamykac php?

Probuje wstawiać tak:
  1. while($wiersz=mysql_fetch_array ($wykonaj)) {
  2. echo ' <tr>
  3. <td width=\"6%\">'.$wiersz['id'].'</td>
  4. <td width=\"18%\">'.$wiersz['imie'].'</td>
  5. <td width=\"18%\">'.$wiersz['nazwisko'].'</td>
  6. <td width=\"18%\">'.$wiersz['stopien'].'</td>
  7. <td width=\"18%\">'.$wiersz['telefon'].'</td>
  8. <td width=\"18%\">'.$wiersz['pokoj'].'</td>
  9. <td width=\"18%\"><?php
  10. if(!empty($wiersz['www'])) {
  11. ?>
  12. <a href='<?php echo $wiersz['www']; ?>'>www</a>
  13. <?php
  14. } else {
  15. ?>
  16. -
  17. <?
  18. }
  19. ?></td>
  20. </tr>';
  21. }


I wyskakuje:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in pracpokaz.php on line 41


questionmark.gifquestionmark.gif
aleksander
ale żeś namącił smile.gif
  1. <?php
  2. while($wiersz=mysql_fetch_array ($wykonaj))
  3. {
  4. echo ' <tr>
  5. <td width=\"6%\">'.$wiersz['id'].'</td>
  6. <td width=\"18%\">'.$wiersz['imie'].'</td>
  7. <td width=\"18%\">'.$wiersz['nazwisko'].'</td>
  8. <td width=\"18%\">'.$wiersz['stopien'].'</td>
  9. <td width=\"18%\">'.$wiersz['telefon'].'</td>
  10. <td width=\"18%\">'.$wiersz['pokoj'].'</td>
  11. <td width=\"18%\">';
  12. if(!empty($wiersz['www'])) {
  13. echo '<a href='. $wiersz['www'] .'>www</a></td>
  14. </tr>';
  15. } else {
  16. echo 'brak www</tr>';
  17. }
  18. ?>


Teraz tak: widzę, że nie zrozumiałem o co chodziło Ive więc wyjaśniam: Każdy string możesz wyświetlić na dwa sposoby: poprzez instrukcję echo/print (to to samo) lub pomiędzy ?> a <?php np:
  1. <?php
  2. //blabla jakis kod php
  3. ?>
  4. a tu jest string nie przetwarzany przez parser php tylko wysyłany bezpośrednio d
  5.  przeglądarki tak samo jak zwykła strona html
  6. <?php
  7. //a tu znowu kod php
  8. ?>


Aha i PS: jeżeli podajesz treść błędu w którym jest numer linii (on line 41) to pokaż, gdzie jest ta linia 41

pozdrawiam
[ edytowany ]
Krzysiekpdf
Dzieki. Zadzialalo z domknietym nawiasem } na koncu. Przyznaje, ze nie znam sie na php, ale dzieki liscie dyskusyjnej potrafie juz zalozyc, dopisac, kasowac, edytowac, sortowac i wyszukiwac dane w bazie mysql z poziomu php (to nie takie trudne, skoro zajelo mi zielonemu to 2 dni). To byl ostati problem, z jakim musialem sobie poradzic (no chyba, ze cos jeszcze wyjdzie smile.gif). W przyszlosci poczytam sobie jakas ksiazke o php, ale skrypty do obslugiwania bazy musze napisac juz teraz. Jeszcze raz dziekuje za pomoc. Pewnie jeszcze nie raz zajrze na to forum z problemem.

Krzysiek
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.