Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql][pdo]instrukcje sterujące w zależności od pobranych danych z bazy, problem z napisaniem odpowiednich instrukcji
gawar
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Witam,
Mam problem z instrukcjami, które poprawnie by mi uporządkowały dane z bazy. Mam tabelę w MySQL i pobieram jej dane za pomocą PDO. Dane te wyglądają jak poniżej.
id|A | B | C
1 |1 | 1 | 1
2 |1 | 1 | 2
3 |1 | 1 | 3
4 |1 | 2 | 1
5 |1 | 2 | 2
6 |2 | 1 | 1
7 |2 | 1 | 2
Tylko że jest ich dużo dużo więcej
Moje zapytanie i pobranie danych wygląda następująco
  1. $sort=$sth->prepare('SELECT id,a, b, c from tabela order by a ASC, b, ASC, c ASC');
  2. $sort->execute();
  3. if ($sort->rowCount() > 0)
  4. {
  5. // tu pojawia się problem jakie powinny być pętle i instrukcje
  6. }

Chciałbym żeby w zależności od wartości jaka jest w A i B odpowiednio przypisywane były do id zmienne (które były by też zależne od siebie). Np. do id=3 żeby została przypisana zmienna x=1 (ze względu na wartość A) oraz zmienna y=1(ze względu na wartośćB), natomiast dla id=7 żeby została przypisana zmienna x=2 i y=1. Problemem dla mnie jest to że wartości w A i B są różne, danych w tabeli jest około 8tys. i nie wiem jak napisać instrukcje sterujące które pozwolą mi np. w przypadku gdy x=2 i y=1 zwiększyć np. wartość innej zmiennej o np. 5. Przyznam szczerze że przerasta mnie w tym przypadku samo wymyślenie sposobu na to. Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gawar
post
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Witam, Trochę to skomplikowane tzn. wytłumaczenie tego:( Mam problem z napisaniem tej pętli.
  1. $sort=$sth->prepare('SELECT id,a, b, c from tabela order by a ASC, b, ASC, c ASC');
  2. $sort->execute();
  3. if ($sort->rowCount() > 0)
  4. {
  5. $id = $r["id"];
  6. $a = $r["a"];
  7. $b = $r["b"];
  8. $c = $r["c"];
  9. if($a ==1){
  10. $y=15*$b;
  11. $x=15*$c;
  12.  
  13. $i='<rect id="'.$id.'" x="'.$x.'" y="'.$y.'" width="10" height="10" fill="red"/>';
  14. fwrite($plik1, $i);
  15. }

i teraz dla a=1 jest ok rysuje wszystko się tak jak powinno. Ale jeżeli już a=2 to nie wiem jak pownienem rozpisać tą pętlę, tak aby w momencie gdy a zwiększa się o jeden to do y dodaje się np 50, a x zostaje bez zmian czyli $x=15*$c;. Nie wiem jak rozpoznać w pętli i zmienić stan przy zmianie a.

Bardzo proszę o pomoc
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 23:35