Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie przez formularz
Forum PHP.pl > Forum > Przedszkole
sylsaw
mam pytanie jak napisac prosty formularz zeby wyswietlal pozniej wyniki z kiliku tabel
mam kilka tabel i chcialbym napisac zapytanie np zeby znalazl mi nazwisko i pozniej wyswietlil wszystki dane z wszystkich tabel, pomocyyyyy
kyno
pobierasz dane z inputa i pozniej wykonujesz zapytania do bazy smile.gif ewentualnie podzapytania
hwao
  1. <form action="szukac.php" method="post">
  2. <input type="text" name="szukaj" />
  3. <input type="submit" name="sub" value="szukaj!" />
  4. </form>


Teraz w szukaj.php
Robisz tak
- lacznie z bazsa
i
  1. WHERE `cos` LIKE '%$_POST['szukaj']%'

Cos takiego winksmiley.jpg mniejwiecej winksmiley.jpg
sylsaw
Mam taki kod, i wyskakuje mi blad w lini 15,
  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?php
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $sql = &#092;"Where `autor` Like '%$_POST['szukaj']%'\";
  16.  
  17. $result = mysql_query($sql, $db);
  18. //print \"Usunięto temat $IdTematy\";
  19. //print (\"Usunięto temat\");
  20. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  21. ?>
  22. </body>
  23. </html>

szukam autora dajmy o jakims nazwisku, i chcialbym jak go oczywiscie znajdzie wyswietlil wszystko na jego temat, jak to zrobic, tez , prosze bardzo o pomoc, ucze sie tego dopiero i bardzo by mi to pomoglo
nospor
Jeśli wyskakuje ci błąd, to podawaj go zawsze. To ułatwia szukanie.

Napewno powinieneś mieć tak:
  1. <?php
  2.  
  3. $sql = &#092;"select * from tabela where autor Like '%{$_POST['szukaj']}%'\";
  4.  
  5. ?>
dopisalem ci select bo sam warunek nie jest zapytaniem.
Pozatym brakuje ci pobrania danych o które zapytałeś (chociażby mysql_fetch_array - w manualu se poczytaj jak wykorzystać)
sylsaw
Mam juz cos takiego i nie wyskakuje blad, teraz chcialbym zeby mi pobieral dane ale z kilku tabel, jak to zrobic.

  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?php
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $sql = &#092;"Select from autor Where nazwisko Like '\"%$_POST[\"szukaj\"]%\"'\";
  16.  
  17. $result = mysql_query($sql, $db);
  18. //print \"Usunięto temat $IdTematy\";
  19. //print (\"Usunięto temat\");
  20. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  21. ?>
  22. </body>
  23. </html>



w jednej tabeli szukam nazwiska i chce by wyniki byly z kilku tabel polaczonych ze saba przez id,
nospor
Dalej masz źle zapytanie . poczytaj se o łączeniu ciągów.
  1. <?php
  2.  
  3. $sql = &#092;"Select * from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\";
  4.  
  5. ?>

Dalej nie masz pobrania rekordów (mysql_fetch_array)

Do kilku tabel (przyklad)
  1. SELECT *
  2. FROM tabela1, tabela 2 WHERE tabela1.id = tabela2.id
sylsaw
Wyskakuje mi taki blad jak zapytanie napisalem tak jak mi radziles

Parse error: parse error, unexpected '<' in C:\FoxServ\www\SpisPrac\szukac.php on line 18

  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?php
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $sql = &#092;"Select from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\";
  16.  
  17. //'\"%$_POST[\"szukaj\"]%\"'\"
  18. <?php
  19. while ($rekord = mysql_fetch_array ($wynik))
  20.  {
  21. $IdAutora = $rekord[0];
  22.  $Nazwisko = $rekord[1];
  23.  $Imie = $rekord[2];
  24.  $NumerAlbumu = $rekord[3];
  25.  $Kierunek = $rekord[4];
  26.  $Specjalnosc = $rekord[5];
  27.  
  28.  
  29. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  30. <table width=&#092;"98%\" border=\"0\">
  31. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  32. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  33. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  34. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  35. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  36. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  37.  
  38.  
  39.  
  40. </table>&#092;");
  41.  
  42. }
  43. $result = mysql_query($sql, $db);
  44. //print \"Usunięto temat $IdTematy\";
  45. //print (\"Usunięto temat\");
  46. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  47. ?>
  48. </body>
  49. </html>


kod jest teraz taki , chce narazie aby wyszukiwal tylko z jednej tabeli pozniej bede kombinowal dalej
nospor
w php wstawaisz znacznik php to ci się wykrzacza. pozatym najpierw robi się mysql_query a dopiero potem mysql_fetch_array. Mowilem zajrzyj do manuala.I nie pisz ze zrobiles jak radzilem bo żeś wszystko poprzekręcał.
  1. <?php
  2.  
  3. include('config.php');
  4. // połączenie z bazą danych
  5. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  6. die(&#092;"Nie mogę połączyć się z mysql\");
  7. // wybór bazy danych
  8. mysql_select_db(&#092;"ss\") or
  9. die(&#092;"Nie mogę połączyć się z bazą danych\");
  10.  
  11. $sql = &#092;"Select from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\";
  12. $result = mysql_query($sql, $db);
  13.  
  14. //'\"%$_POST[\"szukaj\"]%\"'\"
  15. while ($rekord = mysql_fetch_array ($result))
  16. {
  17. $IdAutora = $rekord[0];
  18. $Nazwisko = $rekord[1];
  19. $Imie = $rekord[2];
  20. $NumerAlbumu = $rekord[3];
  21. $Kierunek = $rekord[4];
  22. $Specjalnosc = $rekord[5];
  23.  
  24.  
  25. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  26. <table width=&#092;"98%\" border=\"0\">
  27. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  28. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  29. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  30. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  31. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  32. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  33.  
  34.  
  35.  
  36. </table>&#092;");
  37.  
  38. }
  39. //print \"Usunięto temat $IdTematy\";
  40. //print (\"Usunięto temat\");
  41. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  42.  
  43. ?>
sylsaw
  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?php
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $sql = &#092;"Select from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\";
  16.  
  17. //'\"%$_POST[\"szukaj\"]%\"'\"
  18.  
  19. while ($rekord = mysql_fetch_array ($wynik))
  20.  {
  21. $IdAutora = $rekord[0];
  22.  $Nazwisko = $rekord[1];
  23.  $Imie = $rekord[2];
  24.  $NumerAlbumu = $rekord[3];
  25.  $Kierunek = $rekord[4];
  26.  $Specjalnosc = $rekord[5];
  27.  
  28.  
  29. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  30. <table width=&#092;"98%\" border=\"0\">
  31. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  32. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  33. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  34. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  35. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  36. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  37.  
  38.  
  39.  
  40. </table>&#092;");
  41.  
  42.  }
  43. $result = mysql_query($sql, $db);
  44. //print \"Usunięto temat $IdTematy\";
  45. //print (\"Usunięto temat\");
  46. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  47. ?>
  48. </body>
  49. </html>


teraz mam tak, i blad mam taki

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\SpisPrac\szukac.php on line 19
nospor
sluchaj. zaraz zamknę temat. nie analizujesz kodu któy ci podaję. spojrz na mój ostatni post i się zastanów nad nim. Jak nie to zamykam. Ciągle masz te same błędy (wiekszosść)
sylsaw
juz ostatnii post,

  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\" />
  4. </head>
  5. <body bgcolor=\"#B0CEB5\" leftmargin=\"20\" topmargin=\"20\">
  6. <?
  7. include('config.php');
  8. // połączenie z bazą danych
  9. $db =mysql_connect($sqlhost,$sqluser,$sqlpass) or
  10. die(&#092;"Nie mogę połączyć się z mysql\");
  11. // wybór bazy danych
  12. mysql_select_db(&#092;"ss\") or
  13. die(&#092;"Nie mogę połączyć się z bazą danych\");
  14.  
  15. $wynik = mysql_query (&#092;"Select from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\")
  16. or die (&#092;"błąd w zapytaniu\");
  17. ?>
  18. <?php
  19. while ($rekord = mysql_fetch_array ($wynik))
  20.  {
  21. $IdAutora = $rekord[0];
  22.  $Nazwisko = $rekord[1];
  23.  $Imie = $rekord[2];
  24.  $NumerAlbumu = $rekord[3];
  25.  $Kierunek = $rekord[4];
  26.  $Specjalnosc = $rekord[5];
  27.  
  28.  
  29. Echo(&#092;"<hr size=\"2\" color=\"black\" align=\"center\">
  30. <table width=&#092;"98%\" border=\"0\">
  31. <tr><td width=&#092;"10%\">IdAutora:</td><td width=\"90%\"><b>$IdAutora</b></td></tr>
  32. <tr><td width=&#092;"10%\">Nazwisko:</td><td width=\"90%\"><b>$Nazwisko</b></td></tr>
  33. <tr><td width=&#092;"10%\">Imie:</td><td width=\"90%\"><b>$Imie</b> </td></tr>
  34. <tr><td width=&#092;"10%\">NumerAlbumu:</td><td width=\"90%\"><b>$NumerAlbumu</b></td></tr>
  35. <tr><td width=&#092;"10%\">Kierunek:</td><td width=\"90%\"><b>$Kierunek</b></td></tr>
  36. <tr><td width=&#092;"10%\">Specjalnosc:</td><td width=\"90%\"><b>$Specjalnosc</b></td></tr>
  37.  
  38.  
  39.  
  40. </table>&#092;");
  41.  
  42.  }
  43. $result = mysql_query($sql, $db);
  44. //print \"Usunięto temat $IdTematy\";
  45. //print (\"Usunięto temat\");
  46. echo(&#092;"<br /><a href=\"index.htm\">strona główna</a>\");
  47. ?>
  48. </body>
  49. </html>


te znaczniki php mam juz uporzadkowane, i twoje zapytanie ale wyswietla mi ze zapytanie jest bledne a w ktorym miejscu pozniej mam wstawic zeby szukal mi w wielu tabelach i wyswietlal wyniki z wileu tabel, przepraszam i z gory dzieki.
nospor
na koncu skryptu ciagle masz niepotrzebnie :
$result = mysql_query($sql, $db);
wywal exclamation.gif!!!! . Nie ma nigdzie $sql to i zapytanie złe.

Co do wielu tabel to robisz identycznie tylko zapytanie dajesz inne. Wzorzec:
  1. SELECT *
  2. FROM tab1, tab2 WHERE tab1.id = tab2.id


aha i ciągle zaopminasz o gwiazdce którą ci ciągle podaję. Nie olewaj osób które starają ci się pomóc. Jeszcze raz i zarobisz ostrzeżenie.
  1. <?php
  2.  
  3. $wynik = mysql_query (&#092;"Select * from autor Where nazwisko Like '%{$_POST[\"szukaj\"]}%'\");
  4.  
  5. ?>
sylsaw
sorry nie olewam poprostu jej normalnie nie widzialem, wielkie dzieki za pomoc, i sorki za zawracanie glowy. ppozdrawiam
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.