Autor Zpráva
Nuimi
Profil
Dobrý den, chtěl by jsem vás poprosit aby jste mi poradili proc mi tento dotaz nefunguje tak jak chci

if(isset($mesic) || isset($program))
   {
    if (isset($program)) 
    {
     $dochazka= "SELECT jmeno_u,mesic,odprac_h,od,do,datum,prace FROM dochazka WHERE program='" . $program . "'";
     $ukaz = $db->query($dochazka);
     echo("Vybraný program je: " . $program);
     while($row = $ukaz->fetch_assoc())
     {
      echo("<table>
             <tr>
              <td>Užovatelské jméno:</td>
              <td>" . $row['jmeno_u'] . ",</td>
              <td>Měsíc:</td>
              <td>" . $row['mesic'] . ",</td>
             </tr>
             <tr>
              <td>Odpracovaných hodin:</td>
              <td>" . $row['odprac_h'] . "</td>
              <td>Od: " . $row['od'] . "</td>
              <td> Do: " . $row['do'] . ",</td>
             </tr>
             <tr>
              <td>Datum (kdy):</td>
              <td>" . $row['datum'] . ",</td>
              <td>Náplň:</td>
              <td>" . $row['prace'] . "</td>
             </tr>
            </table>
            <br />");
     }
    }

    if (isset($mesic)) 
    {
     $dochazka= "SELECT jmeno_u,program,odprac_h,od,do,datum,prace FROM dochazka WHERE mesic='" . $mesic . "'";
     $ukaz = $db->query($dochazka);
     echo("Vybraný měsíc je: " . $mesic);
     while($row = $ukaz->fetch_assoc())
     {
      echo("<table>
             <tr>
              <td>Užovatelské jméno:</td>
              <td>" . $row['jmeno_u'] . ",</td>
              <td>Program:</td>
              <td>" . $row['program'] . ",</td>
             </tr>
             <tr>
              <td>Odpracovaných hodin:</td>
              <td>" . $row['odprac_h'] . "</td>
              <td>Od: " . $row['od'] . "</td>
              <td> Do: " . $row['do'] . ",</td>
             </tr>
             <tr>
              <td>Datum (kdy):</td>
              <td>" . $row['datum'] . ",</td>
              <td>Náplň:</td>
              <td>" . $row['prace'] . "</td>
             </tr>
            </table>
            <br />");
     }
    }
   }
    if(isset($mesic) && isset($program))
    {
     $dochazka= "SELECT jmeno_u,odprac_h,od,do,datum,prace FROM dochazka WHERE mesic='" . $mesic . "' AND program = '" . $program ."'";
     $ukaz = $db->query($dochazka);
     echo("Vybraný program a měsíc: " . $program . ", " . $mesic . "");
     while($row = $ukaz->fetch_assoc())
     {
      echo("<table>
             <tr>
              <td>Užovatelské jméno:</td>
              <td>" . $row['jmeno_u'] . ",</td>
             </tr>
             <tr>
              <td>Odpracovaných hodin:</td>
              <td>" . $row['odprac_h'] . "</td>
              <td>Od: " . $row['od'] . "</td>
              <td> Do: " . $row['do'] . ",</td>
             </tr>
             <tr>
              <td>Datum (kdy):</td>
              <td>" . $row['datum'] . ",</td>
              <td>Náplň:</td>
              <td>" . $row['prace'] . "</td>
             </tr>
            </table>
            <br />");
     }
    }
Potřebuju aby když je zadán jen měsic tak aby se zobrazilo jen to s měsícem, když je program tak aby se zobrazilo jen to s programem, ale když zadáš obojí tak potřebuju aby to zobrazilo jen to co je v tý podmínce if(isset($mesic) && isset($program))
juriad
Profil
$sql = "SELECT jmeno_u, mesic, odprac_h, od, do, datum, prace FROM dochazka WHERE 1 = 1";
if (isset($_GET['program'])) {
  $sql .= " AND program = '" . $_GET['program'] . "'";
}
if (isset($_GET['mesic'])) {
  $sql .= " AND mesic = '" . $_GET['mesic'] . "'";
}

Toto ti vytvoří jeden dotaz, který bude obsahovat podmínky podle potřeby. Pozor na to, že dotaz obsahuje problém SQL Injection; vstupní data je potřeba správně ošetřit.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: