Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] Wyszukiwanie w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
Bynio
Mam pytanie dotyczące wybierania rekordów z bazy za pomocą opcji wybranej przez użytkownika - co w tym skrypcie jest nie tak? Po uruchomieniu odrazu wyświetla się pierwsza opcja - "mieszarki". Po wybraniu innych nic się nie dzieje.
Proszę o pomoc i z góry dzięki


Treść skryptu:
Proszę wybrać metodę wyboru produktów weług:
<FORM METHOD="put">
<INPUT TYPE="checkbox" NAME="monia" VALUE="mieszarki">Mieszarki<BR>
<INPUT TYPE="checkbox" NAME="monia" VALUE="prasownice">Prasownice<BR>
<INPUT TYPE="checkbox" NAME="monia" VALUE="dzielarki">Dzielarki<BR>
<INPUT TYPE="submit" NAME="submit">
</FORM>

<?

mysql_connect ("localhost", "root", "") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("elforni") or
die ("Nie można połączyć się z bazą Elforni");


if ($monia = "mieszarki")
{
$wynik = mysql_query ("SELECT * FROM produkty WHERE rodzaj='mieszarki';");
}
elseif ($monia = "prasownice")
{
$wynik = mysql_query ("SELECT * FROM produkty WHERE rodzaj='prasownice';");
}
else
{
$wynik = mysql_query ("SELECT * FROM produkty WHERE rodzaj='dzielarki';");
}


while ($rekord = mysql_fetch_array ($wynik))
{
print
"<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0"><TR><TD CLASS='nazwa' COLSPAN="2" BGCOLOR="#e5d6b9">".stripslashes($rekord[0]." ".$rekord[2]).
"</TD></TR><TR><TD COLSPAN="2" CLASS='baza'><BR>". stripslashes($rekord[3]).
" firmy<B> ". stripslashes($rekord[1]).
"</B><BR><BR></TD></TR><TR VALIGN=top><TD>". $rekord[6].
"</TD><TD CLASS='baza'>". stripslashes($rekord[4]).
"<BR><BR></TD></TR><TR><TD COLSPAN="2" CLASS='baza'><B>Dane techniczne:</B>". $rekord[5]."n";
print "<BR><BR></TD></TR></TABLE>";
}

?>
Sir Blade
troszke czasu minelo ale moze ktos w przyszlosci bedzie tego potrzebowal.

1. nalezy dodac akcje to forma.
2. zamiast robic ify to mozna taki kod zapodac
Kod
$wynik = mysql_query ("SELECT * FROM produkty WHERE rodzaj=$monia");


3. Bez tego ; w zapytaniu biggrin.gif

powinno chodzic...
acideSHL
W tym kodzie jest pewno niedopatrzenie.. (ktore zreszta sam czesto popelniam). Otoz w kazdym ifie masz wpisane cos takiego if($monia = "mieszarki")... itd. Zwroc uwage na POJEDYNCZY znak = ktory tam jest wpisany... Ten warunek jest prawdziwy, gdyz pojedynczy znak = oznacza podstawienie wartosci. Pod zmienna $monia da sie podtsawic wartosc "mieszarki" i dla php ten warunek sprawdza sie i nastepuje wykonanie kodu. Dlatego musisz w kazdym z tych ifów wstawic operacje POROWNANIA wartosci czyli if($monia == "mieszarki")... itd. PODWOJNY znak == oznacza porownanie wartosci. Jesli porownywane wartosci odpowiadaja sobie, wtedy php wykona dalsza czesc kodu...

Heh... To by bylo na tyle.. Problem blahy, ale chcialem wytlumaczyc o co biega... Pozdro!
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.