Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Warunek
Forum PHP.pl > Forum > Przedszkole
jagon
Witam, zmagam się z pewnym problemem, połączenia PHP i MySQL w jeden warunek, tak to ujmę...

Do rzeczy...interesuje mnie to, aby formularz był wyświetlany tylko wtedy, gdy "id" w danej tabeli, danego wiersza NIE będzie równy 1. Czyli, gdy kolumna tabeli "config" jest pusta, warunek jest spełniony i formularz jest widoczny, w momencie dodania do bazy poszczególnych danych (tj. id,host, path etc.) "id" jest równe 1, wtedy warunek nie może zostać spełniony, wyświetlany jest napis "Skrypt skonfigurowany".

Póki co efekt jest taki, że formularz jest wyświetlany, nawet wtedy, gdy "id"=1, bez względu na warunek, który wygląda następująco:

Kod
$zapytanie = "SELECT `id` FROM `config` WHERE `id`='1'";
$idzapytania = mysql_query($zapytanie);

while ($wynik = mysql_fetch_row($idzapytania))

echo $wynik[0];

if ($wynik[0] != "1")

echo "<form action='' method='post'>";

echo "host <input type=text name=host value=localhost><br>
server <input type=text name=server value=$_SERVER[SERVER_ADDR]><br>
path <input type=text name=path value=sql><br>";

echo "<input type='Submit' name='submit' value='Submit'></form>";

else

echo "Skrypt skonfigurowany";



Gdzie jest błąd?
Pawel_W
  1. while ($wynik = mysql_fetch_row($idzapytania))

co to jest??
phpion
Cytat(Pawel_W @ 12.10.2009, 14:56:26 ) *
  1. while ($wynik = mysql_fetch_row($idzapytania))

co to jest??

Pętla while?

@jagon:
Używaj klamer { oraz }, a pewnie Twój problem rozwiąże się "sam".
Pawel_W
Cytat(phpion @ 12.10.2009, 14:58:28 ) *
Pętla while?

@jagon:
Używaj klamer { oraz }, a pewnie Twój problem rozwiąże się "sam".

z tego co jest napisane w jego kodzie wnioskuję, że mysql zwraca tylko 1 rekord, więc po co pętla while?
jagon
Najprosciej mówiąc, kurs MySQL. W bazy danych bawię się od paru dni. więc póki co robie wszystko schematycznie.

czyli rozumiem że mam wywalić fragment

Kod
while ($wynik = mysql_fetch_row($idzapytania))


i tak jak napisał phpion, powciskać klamry w odpowiednie miejsca?
Pawel_W
tak w ogóle nie rozumiem celu tworzenia takiego skryptu...

chcesz zapytaniem wyciągnąć id z rekordów, gdzie id = 1

to jest coś w stylu "masło maślane", przecież jeżeli wyciągasz id, które MUSI równać się 1, to po co dajesz dalej warunek id != 1?

przemyśl ten cały kod na spokojnie winksmiley.jpg
jagon
Idea jest taka, że warunek sprawdza czy id=1 i jeśli rzeczywiście równa się, tzn że dane zostały już wprowadzone do bazy, więc formularz nie zostanie wyświetlony.

Jest problem, bo gdy usune petle, nie mogę wyświetlać rekordów.
maciekv4
trudno na to odpowiedziec
jagon
Problem rozwiązany...

z fragmentu:
Kod
while ($wynik = mysql_fetch_row($idzapytania))


tak jak napisali koledzy wyżej - usuwamy pętlę, następnie przed $wynik wstawiamy !

Kod
!$wynik = mysql_fetch_row($idzapytania);


Nie chciałem tworzyć nowego tematu, dlatego postanowiłem kontynuować dotychczasowy , "świeży".

Praca nad skryptem wre, zatrzymałem się jednak nad pewną rzeczą....

Tym razem chodzi o wysyłanie do bazy danych z formularza. Nie wiem jak napisać warunek "inteligentnego" dodawania rekordów.Wspomnę, że chodzi o dodawanie kilku wierszy na raz. Podejrzewam, że będzie to pętla.

Chodzi o to:

- warunek musi wychwycić czy wartość danego pola została wpisana, jeśli tak, zostaje dodany nowy wiersz do tabeli
- pola mogą mieć różne nazwy (name), ale w bazie muszą być przypisywane do jednej kolumny `address`, ale wpisywane wartości będą się różnić
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.