Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + MySql] problem z przeglądaniem bazy
Forum PHP.pl > Forum > Przedszkole
Gość_mac
gdzie i jaki jest problem wyświetlania przez skrypt wartości spełnianych tylko przez jeden warunek, powinno spełnić: rok lub miejsce lub tutuł wyświetlając wszystkie spełniające te warunki, zresztą prosze sprawdzić jak to działa sad.gif www.maciej.nazwa.pl
Z góry dziękuję za pomoc
  1. <?php
  2.  
  3. require_once 'walidacja.inc.php';
  4. require_once 'nazwadb.inc.php';
  5.  
  6. $link = mysql_connect("maciej.nazwa.pl", "maciej", "maciej")
  7.     or die("BŁĄD: nie można się połączyć z serverem mySQL");
  8.  
  9.     or die("BŁĄD: wybór bazy danych");
  10.  
  11. if (isset($_GET['nr'])) {
  12.     $nr = $_GET['nr'];
  13.     $nr = trim(strip_tags($nr));
  14.     $nr = mysql_escape_string($nr);
  15.     if (!ivpi($nr)) {
  16.         unset($nr);
  17.     }
  18. }
  19.  
  20. if (isset($_GET['frok'])) {
  21.     $frok = $_GET['frok'];
  22.     $frok = trim(strip_tags($frok));
  23.     $frok = mysql_escape_string($frok);
  24.     if ($frok == '') {
  25.         unset($frok);
  26.     }
  27. }
  28.  
  29. if (isset($_GET['fmiejsce'])) {
  30.     $fmiejsce = $_GET['fmiejsce'];
  31.     $fmiejsce = trim(strip_tags($fmiejsce));
  32.     $fmiejsce = mysql_escape_string($fmiejsce);
  33.     if ($fmiejsce == '') {
  34.         unset($fmiejsce);
  35.     }
  36. }
  37.  
  38. if (isset($_GET['ftytul'])) {
  39.     $ftytul = $_GET['ftytul'];
  40.     $ftytul = trim(strip_tags($ftytul));
  41.     $ftytul = mysql_escape_string($ftytul);
  42.     if ($ftytul == '') {
  43.         unset($ftytul);
  44.     }
  45. }
  46.  
  47. if (isset($_POST['frok'])) {
  48.     $frok = $_POST['frok'];
  49.     $frok = trim(strip_tags($frok));
  50.     $frok = mysql_escape_string($frok);
  51.     if ($frok == '') {
  52.         unset($frok);
  53.     }
  54. }
  55.  
  56. if (isset($_POST['fmiejsce'])) {
  57.     $fmiejsce = $_POST['fmiejsce'];
  58.     $fmiejsce = trim(strip_tags($fmiejsce));
  59.     $fmiejsce = mysql_escape_string($fmiejsce);
  60.     if ($fmiejsce == '') {
  61.         unset($fmiejsce);
  62.     }
  63. }
  64.  
  65. if (isset($_POST['ftytul'])) {
  66.     $ftytul = $_POST['ftytul'];
  67.     $ftytul = trim(strip_tags($ftytul));
  68.     $ftytul = mysql_escape_string($ftytul);
  69.     if ($ftytul == '') {
  70.         unset($ftytul);
  71.     }
  72. }
  73.  
  74.  
  75. ?>
  76.  
  77.  
  78. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  79.           "http://www.w3.org/TR/html4/strict.dtd">
  80.  
  81. <HTML>
  82.   <HEAD>
  83.     <TITLE>Galeria obrazów Vincenta van Gogha</TITLE>
  84.     <META http-equiv="Content-Type" content="text/html; charset=windows-1250">
  85.  
  86.     <STYLE TYPE="text/css">
  87.         BODY {font-family: Verdana;background: rgb(203,244,250);}
  88.         DIV  {text-align:center;}
  89.         TABLE {border:solid;}
  90.         TD {font-size: 10pt;}
  91.         TD.opis {text-align:center;font-weight:bold;}
  92.         TD.formularz {font-size: 8pt;}
  93.         IMG {border:none;}
  94.  
  95.      </STYLE>
  96.  
  97.   </HEAD>
  98.  
  99. <BODY>
  100.  
  101. <DIV>
  102.  
  103. <H1><A href="index.php">Galeria obrazów Vincenta van Gogha</A></H1>
  104.  
  105. <FORM action="index.php" method="POST">
  106.  
  107. <TABLE>
  108. <TR>
  109.   <TD class="formularz">Rok</TD>
  110.   <TD><INPUT name="frok"></TD>
  111. </TR>
  112.  
  113. <TR>
  114.   <TD class="formularz">Miejsce</TD>
  115.   <TD><INPUT name="fmiejsce"></TD>
  116. </TR>
  117.  
  118. <TR>
  119.   <TD class="formularz">Tytuł</TD>
  120.   <TD><INPUT name="ftytul"></TD>
  121. </TR>
  122.  
  123. <TR>
  124.   <TD colspan="2" align="center"><INPUT type="SUBMIT" value="    OK    "></TD>
  125. </TR>
  126.  
  127. </TABLE>
  128. </FORM>
  129.  
  130. <TABLE border="1">
  131.  
  132. <?php
  133.  
  134. if (isset($nr)) {
  135.  
  136.     $query = "SELECT tytul, rokpowstania, miejscepowstania FROM obrazy WHERE id=$nr";
  137.  
  138.     $result = mysql_query($query);
  139.     $wiersz = mysql_fetch_array($result);
  140.     mysql_close($link);
  141.  
  142.     echo "<TR><TD class=\"opis\">";
  143.     echo $wiersz['tytul'];
  144.     echo "</A></TD></TR>\n";
  145.  
  146.     echo "<TR><TD class=\"opis\"><A href=\"index.php?fmiejsce=";
  147.     echo $wiersz['miejscepowstania'];
  148.     echo "\">";
  149.     echo $wiersz['miejscepowstania'];
  150.     echo "</A></TD></TR>\n";
  151.  
  152.     echo "<TR><TD class=\"opis\"><A href=\"index.php?frok=";
  153.     echo $wiersz['rokpowstania'];
  154.     echo "\">";
  155.     echo $wiersz['rokpowstania'];
  156.     echo "</A></TD></TR>\n";
  157.  
  158.  
  159.  
  160.     echo "<TR><TD><IMG src=\"obraz.php?nr=$nr\" alt=\"";
  161.     echo $wiersz['tytul'];
  162.     echo "\"></TD></TR>\n";
  163.  
  164. } else {
  165.  
  166.  
  167.     if (isset($frok) && (trim($frok) != "")) {
  168.         $zapytanie = "SELECT * FROM obrazy WHERE rokpowstania=$frok ORDER by tytul";
  169.     } else if (isset($fmiejsce) && (trim($fmiejsce) != "")) {
  170.         $zapytanie = "SELECT * FROM obrazy WHERE miejscepowstania LIKE '%$fmiejsce%' ORDER by rokpowstania";
  171.     } else if (isset($ftytul) && (trim($ftytul) != "")) {
  172.         $zapytanie = "SELECT * FROM obrazy WHERE tytul LIKE '%$ftytul%' ORDER by rokpowstania";
  173.     } else {
  174.         $zapytanie = "SELECT * FROM obrazy ORDER by rokpowstania";
  175.     }
  176.     $result = mysql_query($zapytanie);
  177.     while ($wiersz = mysql_fetch_array($result)) {
  178.         echo '<TR><TD><A href="index.php?nr=' .
  179.              $wiersz['id'] .
  180.              '"><IMG src="miniobraz.php?nr=' .
  181.              $wiersz['id'] .
  182.              '" alt="' .
  183.              $wiersz['tytul'] .
  184.              '"></A></TD><TD>' .
  185.              $wiersz['tytul'] .
  186.              '</TD><TD><A href="index.php?frok=' .
  187.              $wiersz['rokpowstania'] .
  188.              '">' .
  189.              $wiersz['rokpowstania'] .
  190.              '</A></TD><TD><A href="index.php?fmiejsce=' .
  191.              $wiersz['miejscepowstania'] .
  192.              '">' .
  193.              $wiersz['miejscepowstania'] .
  194.              '</A></TD></TR>';
  195.     }
  196.  
  197.     mysql_close($link);
  198. }//koniec else do if (isset($nr))
  199.  
  200. ?>
  201.  
  202. </TABLE>
  203.  
  204. </DIV>
  205.  
  206. </BODY>
  207. </HTML>
grom57
Cytat(Gość_mac @ 2006-03-21 22:51:39)
gdzie i jaki jest problem wyświetlania przez skrypt wartości spełnianych tylko przez jeden warunek, powinno spełnić: rok lub miejsce lub tutuł wyświetlając wszystkie spełniające te warunki, zresztą prosze sprawdzić jak to działa sad.gif  www.maciej.nazwa.pl
Z góry dziękuję za pomoc
  1. <?php
  2.  
  3. require_once 'walidacja.inc.php';
  4. require_once 'nazwadb.inc.php';
  5.  
  6.  
  7.  
  8. if (isset($frok) && (trim($frok) != "")) {
  9. $zapytanie = "SELECT * FROM obrazy WHERE rokpowstania=$frok ORDER by tytul";
  10. } else if (isset($fmiejsce) && (trim($fmiejsce) != "")) {
  11. $zapytanie = "SELECT * FROM obrazy WHERE miejscepowstania LIKE '%$fmiejsce%' ORDER by rokpowstania";
  12. } else if (isset($ftytul) && (trim($ftytul) != "")) {
  13. $zapytanie = "SELECT * FROM obrazy WHERE tytul LIKE '%$ftytul%' ORDER by rokpowstania";
  14. } else {
  15. $zapytanie = "SELECT * FROM obrazy ORDER by rokpowstania";
  16. }
  17. $result = mysql_query($zapytanie);
  18.  
  19. ?>

Po co takie coś?
A nie lepiej coś w tym stylu?

  1. SELECT *
  2. FROM obrazy
  3. WHERE tytul LIKE '%$ftytul%' OR rokpowstania=$frok OR miejscepowstania LIKE '%$fmiejsce%' ORDER BY rokpowstania
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.