2017-05-07 2 views
-1

Ich möchte Monat und Jahr aus der gleichen Spalte auswählen. Wie kann ich Monat und Jahr von der Spalte trennen?SELECT mehrere WHERE in derselben Spalte

<label>Bulan :</label> 
<select name="month"> 
    <option value=""></option> 
    <option value="1">Januari</option> 
    <option value="2">Februari</option> 
    <option value="3">Mac</option> 
    <!-- ... --> 
</select> 

<label>Tahun :</label> 
<select name="year"> 
    <option value=""></option> 
    <option value="2017">2017</option> 
    <option value="2016">2016</option> 
</select> 
<input type="submit" value="Hantar" > 

<?php 
if(isset($_POST['year']) && ($_POST['month'])) 
{ 
    $tarikh = mysql_real_escape_string($_POST['month']); 
    $tarikh = mysql_real_escape_string($_POST['year']); 

ich diese Abfrage

$query ="SELECT * FROM pelanggan 
      WHERE (MONTH(tarikh) = '$tarikh') 
      and (YEAR(tarikh) = '$tarikh')"; 

Warum Anzeige nicht den Ausgang ausführe? Was ist falsch an der obigen Abfrage?

+2

Weil Sie die Variablenwerte überschreiben und ich bin sicher, Sie haben keine Daten mit dem Monat 2017 in Ihrer Datenbank. Lernen Sie auch, Parameter sofort zu verwenden, anstatt selbst Strings zu entgehen. –

Antwort

0

in Query-String verwenden Sie gleiche Variable für Monat und Jahr

unterschiedliche Variablennamen hinzufügen, in

$tarikhMonth = mysql_real_escape_string($_POST['month']); 
$tarikhYear = mysql_real_escape_string($_POST['year']); 

und

$query ="SELECT * FROM pelanggan 
     WHERE (MONTH(tarikh) = '$tarikhMonth') 
     and (YEAR(tarikh) = '$tarikhYear')"; 
0

Sie Ihre $ Tarikh Variable überschreiben. Benennen sie $ Monat und $ Jahr sollte funktionieren.

Ich würde PDO verwenden, anstatt zu versuchen, Strings manuell zu entkommen.

0

Sie müssen verschiedene Variablennamen für den Monat und das Jahr haben. Versuchen Sie diese

<label>Bulan :</label>&nbsp;<select name="month"> 
      <option value=""></option> 
      <option value="1">Januari</option> 
      <option value="2">Februari</option> 
      <option value="3">Mac</option>... 

     </select><label>Tahun :</label>&nbsp;<select name="year"> 
      <option value=""></option> 
      <option value="2017">2017</option> 
      <option value="2016">2016</option> 
     </select><input type="submit" value="Hantar" ></td> 


     <?php 
     if(isset($_POST['year']) && ($_POST['month'])) 
     { 
     $tarikh_month = mysql_real_escape_string($_POST['month']); 
     $tarikh_year = mysql_real_escape_string($_POST['year']); 


$query ="SELECT * FROM pelanggan 
      WHERE (MONTH(tarikh) = '$tarikh_month') 
      and (YEAR(tarikh) = '$tarikh_year')";