Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/sql] Uproszczenie zapytan
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam taka tabele:

id gid
[1][1]
[1][3]
[1][4]

I takie zapytania:

  1. <?php
  2. $myquery=mysql_query("SELECT id FROM tabela WHERE id = $wsk AND gid = 1");
  3. $g=mysql_fetch_row($myquery);
  4. if($g[0]!='') $g1=else $g1=2;
  5. $myquery=mysql_query("SELECT id FROM tabela WHERE id = $wsk AND gid = 2");
  6. $g=mysql_fetch_row($myquery);
  7. if($g[0]!='') $g2=else $g2=2;
  8. $myquery=mysql_query("SELECT id FROM tabela WHERE id = $wsk AND gid = 3");
  9. $g=mysql_fetch_row($myquery);
  10. if($g[0]!='') $g3=else $g3=2;
  11. $myquery=mysql_query("SELECT id FROM tabela WHERE id = $wsk AND gid = 4");
  12. $g=mysql_fetch_row($myquery);
  13. if($g[0]!='') $g4=else $g4=2;
  14. $myquery=mysql_query("SELECT id FROM tabela WHERE id = $wsk AND gid = 5");
  15. $g=mysql_fetch_row($myquery);
  16. if($g[0]!='') $g5=else $g5=2;
  17. ?>


Czyli ostatecznie otrzymuje takie cos:
$g1=1
$g2=2
$g3=1
$g4=1
$g5=2

Da sie moze cos takiego otrzymac w nieco bardziej "ekonomiczny" sposob? Bo w przypadku gdy bede mial takich zapytan az do gid=30 to ebdzie tego duzo i bedzie bardzo niewydajne.

Z gory dziekuje za pomoc!
_olo_1984
Może poczytaj o coś pętlach (wrzucaniu wyników zapytania w pętle)?

np. while (jak w twoim przypadku) ...


pozdr
Bojakki
To nie takie proste. W zwyklej petli wyswietli mi tylko te rekordy, ktore sa czyli 1, 3 i 4. Poza tym nie bardzo wiem jak sie robi petle juz na wynikach:/
nospor
zapytanie:
  1. SELECT id FROM tabela WHERE id = $wsk AND gid IN (1,2,3,4,5);

A potem w petli pobierasz wyniki tego zapytania. Przyklady takiej petli masz przy mysql_fetch_array() w manualu
Bojakki
Rozumiem. A jak w tej petli zmieniac nazwe zmiennej, ktorej przypisujemy wartosc 1 lub 2?
czyli bym otrzymal po kolei zmienne w postaci:

$g1=...;
$g2=...;
$g3=...;
$g4=...;
$g5=...;
$g6=...;

bezie potrzebna jakas wewnetrzna petla, ktora bedzie zmieniala nazwe zmiennej? jezeli tak to anwet nie wiem jak taka petle dla zmiennej napisac:/?
nospor
zmienne zmienne

pozatym zawsze mozesz robic tablice zamiast zmiennych
Bojakki
W sumie tablica lepsza. Dzieki!!!!
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.