Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Link do zapytania SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Picasso
Chcialem sobie zrobic zapytanie SQL ,a nastepnie tak aby kliknac na zapytaniu to tworzylo sie nowe lub otwierała sie nowa strona.
scanner
A możesz jaśniej?
pusiek.org
Z tego co napisales, dowiedzialem sie ze cos chcesz. Ale co dalej...

Napisz konkretnie o co Ci chodzi, jakies szczegoly i po co to ma byc?
Picasso
Dokladnie mam baze i wybieram sobie producenta i za pomoca zapytanie sql wyswietlam sobie wszystkie produkty danego producenta. Nastepnie chcialbym aby po kliknieciu na produkcie wyswietlila sie np strona na ktorej byla by szersza informacja o produkcie.
Mam nadzieje ze napisalem troszke jasniej
crash
No to pobieraj z drugiej tabeli informacje o produkcie wg. wskazanego id produktu.
Picasso
Ale jak z tego zrobić link ?
pusiek.org
Zakladamy za mamy 2 tabele, z producentami i produktami.

`producenci`:
Kod
|ID|nazwa|

`produkty`:
Kod
|ID|producent_id|nazwa|opis|

1) pobieramy sobie liste producentow i robimy sobie tabelke:
(plik: prod.php)
  1. <?php
  2.  
  3. $zapytanie = 'SELECT * FROM `producenci`';
  4. $sql = mysql_query($zapytanie);
  5. print '<table>';
  6. while($exe = mysql_fetch_assoc($sql));
  7. {
  8. print &#092;"<tr><td><a href=\"produkty.php?ID=\".$exe['ID'].\"\">\".$exe['nazwa'].\"</a></td></tr>\";
  9. }
  10. print '</table>';
  11.  
  12. ?>

2) po kliknieciu na jakiegos producenta, przechodzimy na strone produkty.php i tam mamy zapytanie
  1. <?php
  2.  
  3. if(!$_GET['ID']) header(&#092;"Location: ./prod.php\");
  4. $id = (int)$_GET['ID'];
  5. $zapytanie = &#092;"SELECT `ID`, `nazwa` FROM `produkty` WHERE `producent_id` = \".$id;
  6. $sql = mysql_query($zapytanie);
  7. print '<table>';
  8. while($exe = mysql_fetch_assoc($sql));
  9. {
  10. print &#092;"<tr><td><a href=\"opis.php?ID=\".$exe['ID'].\"\">\".$exe['nazwa'].\"</a></td></tr>\";
  11. }
  12. print '</table>';
  13.  
  14. ?>

3) plik opis.php wyglada tak:
  1. <?php
  2.  
  3. if(!$_GET['ID']) header(&#092;"Location: ./prod.php\");
  4. $id = (int)$_GET['ID'];
  5. $zapytanie = &#092;"SELECT * FROM `produkty` WHERE `ID` = \".$id;
  6. $sql = mysql_query($zapytanie);
  7. $exe = mysql_fetch_row($sql);
  8. pritn &#092;"Nazwa: \".$exe['2'].\"<br>Opis: \".$exe['3'];
  9.  
  10. ?>


To chyba o to chodzilo, nie wiem czy wszystko jest dobrze (pisane na poczekaniu), ale powinno dzialac.

Pozdrawiam
Picasso
Dzieki wielkie ! ! !
mazi
Witam robie cos podobnego u mnie niestety nie dziala do konca dobrze plik php ma postac:
kod php:
  1. <?php
  2. if(!$_GET['id]) header(\"Location: ./prod.php\");
  3. $id= (int)$_GET['id];
  4. $zapytanie= &#092;"SELECT * FROM programy WHERE id=\".$id;
  5. $wykonaj = mysql_query($zapytanie) or die (&#092;"Wybor tabeli nieudał się.\");
  6. while ($wiersz= mysql_fetch_row($wykonaj))
  7. echo&#092;" \".$wiersz['nazwa].\" \";
  8. ?>

przy instrukcji mysql_fetch_array wyswietla wszystkie dane wszystkich id a nie te przekazane parametrem get id
natomiast przy instrukcji mysql_fetch_row nie wyswietla zadnych rekordów
Wie ktos moze jak to rozwiazac zeby po kliknieciu na link wyswietlaly sie tylko wszystkie dane jednego id przekazane parametrem?
Vertical
Po pierwsze zamknij cudzysłowy tam, gdzie trzeba. Powinno być:
  1. <?php
  2. if(!$_GET['id']) header(&#092;"Location: ./prod.php\");
  3.     $id= (int)$_GET['id'];
  4.     $zapytanie= &#092;"SELECT * FROM programy WHERE  id=$id\";
  5.     $wykonaj = mysql_query($zapytanie) or die (&#092;"Wybor tabeli nieudał się.\");
  6.     while ($wiersz= mysql_fetch_row($wykonaj))
  7. echo&#092;"  \".$wiersz['nazwa'].\" \";
  8. ?>
mazi
poprawilem zapytanie SELECT wg Tojego przykladu i dalej wyswietla mi szczegoly wszystkich id a nie tego co chcialem questionmark.gif

po kliknieciu na link 1 pliku pojawia sie
host/szczegoly.php?id=uzytkownik1, uzytkownik2 itp
czyli parametr przekazuje dobrze
pusiek.org
Podaj wiecej szczegolow, jak wygladaja bazy i plik z ktorego wywolujesz ten skrypt.
mazi
juz podaje 1 plik szukaj.php:
kod
  1. </head>
  2. <body>
  3. </table><center><br><br><form method=\"get\" action=\"szukaj.php\"><input type=\"text\"
  4. name=\"znajdz\" size=\"20\">&nbsp;<input type=\"submit\" value=\"szukaj\"
  5. name=\"button\"></form></center>
  6. <?php
  7. mysql_connect(&#092;"localhost\", \"login\", \"haslo\")
  8. or die (&#092;"Połączenie z bazą nieudało się.\");
  9. mysql_select_db(&#092;"nazwa_bazy\");
  10. if ($button=='szukaj')
  11. {
  12. $zapytanie = &#092;"SELECT * FROM tabela1 WHERE id_komputera like \"%$znajdz%\" or imie like \"%$znajdz%\"
  13.  or nazwisko like &#092;"%$znajdz%\" ORDER BY nazwisko\";
  14.  $wykonaj = mysql_query ($zapytanie)or die (&#092;"Nie ma takiego użytkownika\");
  15.  
  16.  while ($wiersz = mysql_fetch_assoc($wykonaj))
  17.  
  18.  {
  19.  
  20. echo (&#092;"<br> <A HREF=\"plik2.php?id_komputera=\".$wiersz['id_komputera'].\"\">\".$wiersz['id_komputera'].\" </A>\");
  21.  
  22.  
  23.  }
  24. }
  25.  
  26. ?>
  27. </body>


drugi plik plik2.php
kod:
  1. <html><body>
  2. </font></b></td></tr><tr>
  3. <td width=\"10%\" high=\"35%\"align=\"center\" bgcolor=\"white\">
  4. <p align=\"center\"><font size=\"4\">Nazwa programu </font> </td>
  5.  
  6. <td width=\"35%\" align=\"center\" bgcolor=\"white\">
  7. <p align=\"center\"><font size=\"4\">Wersja </font> </td>
  8.  
  9. <td width=\"35%\" align=\"center\" bgcolor=\"white\">
  10. <font size=\"4\">Data instalacji</font> </td>
  11.  
  12. <td width=\"35%\" align=\"center\" bgcolor=\"white\">
  13. <font size=\"4\">Producent </font> </td>
  14.  
  15. <td width=\"25%\" align=\"center\" bgcolor=\"white\">
  16. <font size=\"4\">URL </font> </td>
  17. <font size=\"4\"> </font> </td>
  18. </tr>
  19. </center>
  20.  
  21. <?php
  22. $polaczenie= mysql_connect(&#092;"localhost\", \"login\", \"haslo\")
  23. or die (&#092;"Połączenie z bazą nieudało się.\");
  24. (mysql_select_db(&#092;"nazwa_bazy\", $polaczenie)==True);
  25.  
  26. if(!$_GET['id_komputera']) header(&#092;"Location: ./szukaj.php\");
  27. $id_komputera = (int)$_GET['id_komputera'];
  28.  
  29. $zapytanie= &#092;"SELECT * FROM tabela2 WHERE id_komputera=$id_komputera\";
  30. $wykonaj = mysql_query($zapytanie) or die (&#092;"Wybor tabeli nieudał się.\");
  31.  
  32. while ($wiersz= mysql_fetch_assoc($wykonaj))
  33. {
  34. &#092;" <tr>
  35.  <td width=&#092;"20%\">\".$wiersz['nazwa_programu'].\"</td>
  36. <td width=&#092;"20%\">\".$wiersz['wersja_programu'].\" </td>
  37.   <td width=&#092;"20%\">\".$wiersz['id_komputera'].\" </td></tr>\";
  38.  
  39. mysql_free_result($wykonaj);
  40. }
  41. ?>
  42. </table></center>
  43. </body>
  44. </html>
pusiek.org
A jakies szczegoly dotyczace struktury tabel wykorzystanych w tych skryptach?
mazi
1 tabela zawiera nazwy uzytkownikow i inne dane
2 tabela natomiast zawiera programy kazdego uzytkownika jak nazwa producent itp oraz id uzytkownika, tak aby mozna bylo wyslac zapytanie typu

  1. SELECT *
  2. FROM tabela2 WHERE uzytkownik
pusiek.org
Ciezko mi jest pomoc Tobie, gdyz skrypt pierwszy wyglada OK, pozniej wklejasz wogole jakis inny kod i nie podales zadnych konkretow. Nie mam kontekstu.

Jezeli jest to gdzies dostepne w internecie, podaj adres i moze wtedy sie cos wymysli. Na razie jestem na to za cienki.

Pozdrawiam
mazi
opieralem sie na przykladzie z forum i probowalem pokombinowac z moim skryptem
wszystko chodzi ok z wyjatkiem zapytania select jak jest na sztywno id to rysuje tabelke i id jednego uzytkownika, natomiast jak mu podstawiam zmienna przejeta z Get to wyswietla wszystkie rekordy
hmmm moze cos z parametrem mysql_fetch_*** albo z 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.