Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie do bazy i pobranie danych z formularza.
Forum PHP.pl > Forum > Bazy danych > MySQL
Klimek
Witajcie,

Chciałbym aby dane pobierane z formularza PHP zostały wykorzystane do wyszukania odpowiednich rekordów w bazie. Fragment kodu wygląda następująco:
Kod
if (!empty($_POST))
{    $miesiac=$_POST['miesiac'];
$rok=$_POST['rok'];
        echo"<b><font size='+2'><h1>Statistic for $miesiac - $rok</h1></font></b>";    

?>
<table id="newspaper-a" border="1" width="100%">
    <tr>
        <td bgcolor=\"ffff00\">The amount of all requests</td>
        <?php

                    $zapytanie = "SELECT sum(ilosc) as ile FROM `zamowienie` WHERE `data_zlecenia`  >= data_zakonczenia_badania ='$rok' AND data_zakonczenia_badania='$miesiac' && `status`='4' && `termin_zakonczenia`>`data_zakonczenia_badania`";

        
    
                    $sql_query = mysql_query($zapytanie);
        $dane = mysql_fetch_array($sql_query);
        
            if($dane[0]==NULL)
        {
        echo"<td bgcolor=\'ffff00\'><font size='+1'><b>0</b></font></td>";
        $liczba_all=0;
        }
        else
        {
        echo"<td bgcolor=\'ffff00\'><font size='+1'><b>$dane[0]</b></font></td>";
        $liczba_all=$dane[0];

        }
    

}

        ?>


viking
Najpierw sobie odpowiedź na pytanie co to za bzdury `data_zlecenia` >= data_zakonczenia_badania ='$rok'
https://dev.mysql.com/doc/refman/5.7/en/dat...-functions.html Pewnie ci chodzi o year()
Klimek
Kod
$zapytanie = "select sum(ilosc) as ile from `zamowienie` where `data_zlecenia` >= year(data_zakonczenia_badania)='$rok' AND  month(data_zakonczenia_badania)='$miesiac' && `status`='4' && `termin_zakonczenia`>`data_zakonczenia_badania`  ";


Próbowalem to tak sklepać ale również 0 efektu...
Pyton_000
nie && tylko AND.
viking
Na początek zastanów się co chcesz wybrać a nie na ślepo wbijasz jakieś losowe warunki. Nam też możesz opisać bo nie czytamy w myślach.
Klimek
Mam formularz, w którym wybieramy miesiąc

Kod
echo"<form action='test.php' method='post'>";
echo"<p>";
echo"<b>Month: </b>";
echo"<select name='miesiac' size='1'>";
echo"<option></option>";
echo"<option value='1'>January</option>";
echo"<option value='2'>February</option>";
echo"<option value='3'>March</option>";
echo"<option value='4'>April</option>";
echo"<option value='5'>May</option>";
echo"<option value='6'>June</option>";
echo"<option value='7'>July</option>";
echo"<option value='8'>August</option>";
echo"<option value='9'>September</option>";
echo"<option value='10'>October</option>";
echo"<option value='11'>November</option>";
echo"<option value='12'>December</option>";
echo"</select>";
echo"<b>Year: </b>";
echo"<select name='rok' size='1'>";
echo"<option></option>";
for($i=2014;$i<=date('Y');$i++)



Chciałbym aby po wybraniu odpowiedniego miesiąca i roku wyszukiwano w bazie danych rekordy. Ogólnie zależy mi na sformułowaniu stwierdzenia, który pobierze z formularza dane w tym wypadku miesiąc i rok.
Te dane przekazywane będą do bazy danych i ona sumuje badania, które zostały wykonane w terminie. Muszę zrobić to samo dla badań które nie są wykonane w terminie.
viking
A te daty w bazie to pola date? Skoro chcesz wyszukać rok równy temu podanemu w formularzu to bierzesz year(pole z bazy) = ?, gdzie ? to rok z formularza. O prepared statements już ci mówiłem wcześniej. A nie x >= y = z.
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.