Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem - mysql & php
Fo
post 21.04.2003, 17:27:38
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


no wiec mam taki kodzik i utkwilem w jednym miejscu :
/////////////////////////////////
[php:1:931667346e]<?php
wybieranie z pól typu select
echo "<form method="post">";
echo "<input type="hidden" value="załaduj">";
<select name="zabawka" value="$zabawka" size="1">";
echo "<option value="zab1">zabawka1";
echo "<option value="zab2">zabawka2";
echo "</select>";
echo "<select name="miejce" value="$pani" size="1">";
echo "<option value="m1">miejsce1";
echo "<option value="m2">miejsce2";
<input type="submit" value="załaduj"></form>";
-----------------------------------------------------------------------------
$wynik = mysql_query ("SELECT * FROM $zabawka WHERE miejsce='$miejsce';");
while ($record = @mysql_fetch_array ($wynik))
{
$id = $record[0];
$zabawka = $record[1];
$miejsce= $record[2];
-----------------------------------------------------------------------------

echo "$zabawka<br>";
echo "$miejsce<br>";
?>[/php:1:931667346e]
o co mi dokladnie chodzi :
otoz jesli wybiore sobie z rozwijanego menu np. zab1 i miejsce2 to ponizej wyswietla mi sie odpowiednie dane wybrane z bazy - ta i one sie wyswietlaja tak jak chce; ALE nie wiem jak mam zrobic zeby jesli nie wybiore niczego z listy zabawek lub z listy miejsc to chcialbym zobaczyc komunikat typu - niestety ale nie wybrales niczego z pola np. zabawka lub nie wybrales niczego z pola miejsce

Bardzo prosze o pomoc jesli jest ktos w stanie mi jej udzielic - prosilbym rowniez nie odsylac mie w zadne inne miejsce(manula etc) tylko bardzo potrzebowalbym poprawiony kod - i jeszcze jedna sprawa musze to miec do 28 tego miesiaca czyli jeszcze pare dni :cry:
Go to the top of the page
+Quote Post
DeyV
post 21.04.2003, 17:49:07
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




No to się nie musimy się śpiwszyć. Do 28 jeszcze sporo czasu aaevil.gif
[php:1:c1e664781b]<?php
-----------------------------------------------------------------------------
$zabawka = $_REQUEST['zabawka'];
$miejsce = $_REQUEST['miejsce'];
blad = false;
if (!$zabawka){
echo 'BŁĄD <br /> Musisz wybrać zabawkę';
$blad = true;
}
if (! $miejsce){
echo 'BŁĄD <br /> Musisz wybrać miejsce';
$blad = true;
}

if (! $blad) {
### wykonywane, gdy nie ma błedów ###
$wynik = mysql_query ("SELECT * FROM $zabawka WHERE miejsce='$miejsce';");
while ($record = @mysql_fetch_array ($wynik))
{
$id = $record[0];
$zabawka = $record[1];
$miejsce= $record[2];
}
} // koniec kodu wykonywanego, gdy nie ma błędów
-----------------------------------------------------------------------------
?>[/php:1:c1e664781b]


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Fo
post 21.04.2003, 18:47:33
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


z gory dzieki za tak szybka odpowiedz ale jest jedno ale :
chcialbym aby ten komunikat byl wyswiatlany za kazdym razem kiedy wybiore cos zle a nie tylko za pierwszym bo tak sie dzieje .....ma ktos moze jeszcze jakis pomysl questionmark.gif jest mi to bardzo potrzebne - z goory duze DZIEKS dla tych co poswieca troche swojego czasu na odpisanie na moj (pewnie prosty) problem - ach bycie poczatkujacym bolli sad.gif
Go to the top of the page
+Quote Post
Fo
post 21.04.2003, 18:56:10
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


wyprostuje to jak juz tylko sie da najbardziej :
wybieram jedno ale nie wybieram drugiego ---> no to komunikat
wybieram drugie ale nie wybieram pierwszego smile.gif ---> no to komunikat
nic nie wybieram i klikam zaladuj ---> no to tez komunikat

ale mam lipe co nie ? :cry:
Go to the top of the page
+Quote Post
KaMeLeOn
post 21.04.2003, 22:35:14
Post #5





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
[php:1:c08dd34107]<?php
$zabawka = $_REQUEST['zabawka'];  
$miejsce = $_REQUEST['miejsce'];
?>[/php:1:c08dd34107]

Nie potrzebnie robisz kopie zmiennych... Można tak...
[php:1:c08dd34107]<?php
$zabawka =& $_REQUEST['zabawka'];
$miejsce =& $_REQUEST['miejsce'];
?>[/php:1:c08dd34107]
Ale po co ?
Mała modyfikacja...
[php:1:c08dd34107]<?php
-----------------------------------------------------------------------------
if( isset($_POST['zabawka']) || isset($_POST['miejsce']) )
{
if( empty($_POST['zabawka']) && empty($_POST['miejsce']) ){
echo 'BŁĄD <br /> Musisz wybrać zabawkę i miejsce';
} else
if ( empty($_POST['zabawka']) ){
echo 'BŁĄD <br /> Musisz wybrać zabawkę';
} else
if ( empty($_POST['miejsce']) ){
echo 'BŁĄD <br /> Musisz wybrać miejsce';
} else {
### wykonywane, gdy nie ma błedów ###
$wynik = mysql_query("SELECT * FROM ".$_POST['zabawka']." WHERE miejsce='".$_POST['miejsce']."';");
while ($record = @mysql_fetch_array ($wynik))
{
$id = $record[0];
$zabawka = $record[1];
$miejsce= $record[2];
}
} // koniec kodu wykonywanego, gdy nie ma błędów
}
-----------------------------------------------------------------------------
?>[/php:1:c08dd34107]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
Fo
post 22.04.2003, 11:28:16
Post #6





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


To jest caly kod DeyV
[php:1:06688f4048]<?php

-----------------------------------------------------------------------------
require_once("config.php");
mysql_connect ("$dbhost", "$dbuname", "$dbpass") or
die ("Nie mozna uzyskac polaczenia z hostem");
mysql_select_db ("$dbname") or
die ("Nie mozna uzyskac polaczenia z baza danych");

#z config.php wybieraja sie w tym przypadku jedynie wartosci potrzebne do wlasciwego polaczenia z baza danych

echo "<form method="post">";
echo "<input type="hidden" value="załaduj">";
echo "<select name="zabawka" value="$zabawka" size="1">";
//dostepne dane do edycji
echo "<option selected>wybierz cos";
echo "<option value="zabawka1">zabawka1";
echo "<option value="zabawka2">zabawka2";
echo "</select>";

# menu dostepnych miejsc
echo "<select name="miejsce" value="$miejsce" size="1">";
echo "<option selected>wybierz miejsce";
echo "<option value="pokoj">pokoj";
echo "<option value="garaz">garaz";
echo "</select>";

echo "<input type="submit" value="załaduj"></form>";
# formularz umozliwiajacy wybor z bazy danych tego co sie chce... smile.gif s
# $prefiks - przedrostek w nazwie tabeli bazy - moja_tabelka czyli moja_ = prefiks
$wynik = mysql_query ("SELECT * FROM $prefiks$zabawka WHERE miejsce='$miejsce';");
while ($record = @mysql_fetch_array ($wynik))
{
$id = $record[0];
$miejsce = $record[1];
$zabawka = $record[2];
$tresc = $record[3];

#wyciaga sie w tym miejscu bo jak jest poza klamra (ta nizej) to mi sie z bazy tylko jeden rekord wybiera - a tak wszystko
echo "$zabawka<br>";
echo "$miejsce<br>";
echo "$tresc<br>";

}

-------------------------------------------------------------------------------
?>[/php:1:06688f4048]

#
chodzi o to ze jak nie wybieram niczego i klikam zaladuj to ma sie pokazywac komunikat
nie wybiore pierwszego i klikne zaladuj ---> komunikat
nie wybiore drugiego i klikne zaladuj ---> komunikat
nic nie wybiore i klikne zaladuj ---> komunikat
jak juz cos wybiore to sie tresc z bazy wybiera - tresc ktora sie wybrala to ta ktora jest zgodna z warunkiem miejsca i zabawki - za kazdym razem jest inna - tzn. wybieram zab1 i miej1 - jedno
wybieram zab1 - miej2 - drugie
wybieram zab2 - miej1 -trzecie
wybieram zab2 - miej 2 -czwatre rozwiazanie

#kod ktory umieszczony zostal powyzej to moj kod calkowity skryptu
re: Kameleon - cos dalej nie jest tak zobacz na kompletny kod powyzej - to jusz jest naprade kompletny kod.
Go to the top of the page
+Quote Post
DeyV
post 22.04.2003, 12:32:17
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Zróbmy inaczej. Bez sensu bedzie, jeśli my ci poprawimy kod, a ty i tak nie będziesz rozumiał zasady jego działania.
Tak więc spróbuję pokazać Ci, co ten skrypt powinien zawierać

1. wybieranie interesujących nas danych. Tu pola select. Dla przypomnienia - poszczególne elementy pola select tworzy się tak
<option value="" > text </option> , a nie tak, jak ty to robiłeś.

2. Sprawdzanie, czy odpowiednie pozycje zostały wybrane.
Jak? Po wysłaniu formularza każdy element formularza staje się elementem odpowiedniej tablicy (tu $_POST lub $_REQUEST ) o takiej nazwie, jaką miał w formularzu, i wybranej przez użytkownika wartości (value z selecta). Wiec w przypadku gdy value=0, np w <option selected>wybierz cos</option> wysyłamy do użytkownika odpowiedni komunikat, oraz ustawiamy zmienną $blad.
3. Sprawdzamy, czy wartości spełniają nasze wymogi, np. czy $zabawka jest prawidłową nazwą tabeli. Można to zrobić funkcją in_arrray($zabawka, array('nazwa1', 'nazwa2')
4. Jeśli nie ma żadnego błędu - wyświetlamy dane z bazy danych - to już umiesz.

A teraz spróbuj napisać ten skrypt jeszcze raz, zgodnie z tym co ci napisałem, oraz nszymi przykłdami. I pisz, konkretnie, których komend nie rozumiesz.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
itsme
post 22.04.2003, 12:42:33
Post #8





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




i otocz kod php znacznikami php [php:1:f1011d6170]<?php
echo "Prosze smile.gif))";
?>[/php:1:f1011d6170]


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
Fo
post 22.04.2003, 13:04:33
Post #9





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


Aaaaaaaaaaaaaa kij z tym zalatwilem to prościej :
wystarczyla mi funkcja if - ze tez na to wczsniej nie wpadlem :/ yhheh - wszo przez to ze za malo spie [4-6godzin dziennie to dla mnei za malo]
[php:1:02b3c967ee]
<?

---------------------------------------------------------------------------
if ($zabawka == "") {
echo "Należy wybrać zabawke i miejsce aby otrzymać prawidłowy wynik wyszukiwania";
exit;
}
elseif ($miejsce == "") {
echo "Należy wybrać zabawke i miejsce aby otrzymać prawidłowy wynik wyszukiwania";
exit;
}
# formularz umozliwiajacy wybor z bazy danych tego co sie chce... smile.gif ssasasa
$wynik = mysql_query ("SELECT * FROM $prefiks$zabawka WHERE miejsce='$miejsce';");
while ($record = @mysql_fetch_array ($wynik))
-------------------------------------------------------------------------------
no i dalej jak w poprzednich az do tad

echo "$zabawka<br>";
echo "$miejsce<br>";
echo "$tresc<br>";

}
// i po wszystkim jeszcze raz if smile.gif
if ($tresc == "") {
echo "Brak danych";
exit;
}
?>
[/php:1:02b3c967ee]

Dziekuje wszystkim za to ze wyrazili chec pomocy - dzieki DeyV ze troche swojego czasu poswieciles na to aby mi to wszystko wyjasnic - wmiare zebym qmal - tera chyba zrobie to jeszcze wg. Twojego sposobu smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:57