Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: automatyzacja zapytań - nie działa
Forum PHP.pl > Forum > Bazy danych > MySQL
verbos
WItam,
chciałbym sobie deczko ułatwić pracę oskryptowując zapytanie do bazy danych, i tak :

Tabele:

Kod
$A_kategorie = Array("numer", "imie_nazwisko", "info");
$A_kategorie_b = Array("s_111", "s_135", "s_136", "s_141", "s_131", "m_rury", "m_masz",
"m_k_stal", "slusarz", "lekarz", "r_t", "r_i", "ln", "ang", "nm", "inny", "pr_j", "sam");

i kod pierwotny który działa:

  1. $q = "SELECT *
  2. FROM pracownicy
  3. WHERE id='$Cz_id'";
  4. $q = mysql_query($q);
  5.  
  6. while ($r = @mysql_fetch_array($q))
  7. {
  8.  
  9. $Cz_numer = $r["numer"];
  10. $Cz_imie_nazwisko = $r["imie_nazwisko"];
  11. $Cz_info = $r["info"];
  12. $Cz_s_111 = $r["s_111"];
  13. $Cz_s_135 = $r["s_135"];
  14. $Cz_s_136 = $r["s_136"];
  15. $Cz_s_141 = $r["s_141"];
  16. $Cz_s_131 = $r["s_131"];
  17. $Cz_m_rury = $r["m_rury"];
  18. $Cz_m_masz = $r["m_masz"];
  19. $Cz_m_k_stal = $r["m_k_stal"];
  20. $Cz_slusarz = $r["slusarz"];
  21. $Cz_lekarz = $r["lekarz"];
  22. $Cz_r_t = $r["r_t"];
  23. $Cz_r_i = $r["r_i"];
  24. $Cz_ln = $r["ln"];
  25. $Cz_ang = $r["ang"];
  26. $Cz_nm = $r["nm"];
  27. $Cz_inny = $r["inny"];
  28. $Cz_pr_j = $r["pr_j"];
  29. $Cz_sam = $r["sam"];
  30. }

--------
a chciał bym go zastąpić takim czymś: (w takim stylu) ale nie
działa... nie kumam why??

  1. $q = "SELECT *
  2. FROM pracownicy
  3. WHERE id='$Cz_id'";
  4. $q = mysql_query($q);
  5.  
  6. while ($r = @mysql_fetch_array($q))
  7. {
  8.  
  9.  
  10. FOR ( $ile_kat=0; $ile_kat<count($A_kategorie); $ile_kat++ )
  11. { echo .$Cz_$A_kategorie[$ile_kat] = .$r["$A_kategorie"];
  12. }
  13. FOR ( $ile_kat=0; $ile_kat<count($A_kategorie_b); $ile_kat++ )
  14. { $Cz_$A_kategorie_b[$ile_kat] = $r["$A_kategorie_b"];
  15. }
  16. }


da się to jakośbiggrin.gif questionmark.gif


dojdzie mi tam jeszcze sporo kategorii i baza też się rozbuduje, a wolał bym minimalizować kod i błędy potem dopisując tylko do tabel następne kategorie...
Z góry dzięki za pomoc i sugestje...
elessar
Dziwny masz ten kod, a ta kropka po echo to co to jest?
  1. <?php
  2. echo .$Cz_$A_kategorie[$ile_kat] = .$r["$A_kategorie"];
  3. ?>


pozatym nie wiem po co to przypisujesz do zmiennych? A co do sugestii to moze jakbys podal co chcesz osiagnac to i moze by sie pojawily.

ps. proponuje przeniesc ten temat do dzialu php.
verbos
chciałbym aby coś w stylu tego trzeciego kodu na podstawie tabel z kodu pierwszego generowało mi to co jest w kodzie drugim.... nie chcę wpisywać z palca tych podstawień... chciałbym aby były one automatyczne i zależały od tego co jest w tablicach:
Kod
$A_kategorie = Array("numer", "imie_nazwisko", "info");
$A_kategorie_b = Array("s_111", "s_135", "s_136", "s_141", "s_131", "m_rury", "m_masz",
"m_k_stal", "slusarz", "lekarz", "r_t", "r_i", "ln", "ang", "nm", "inny", "pr_j", "sam");
zydor
Cytat(verbos @ 2006-04-05 11:07:16)
        for ( $ile_kat=0; $ile_kat<count($A_kategorie); $ile_kat++ )
        {      echo .$Cz_$A_kategorie[$ile_kat] = .$r["$A_kategorie"];
        }     
        for ( $ile_kat=0; $ile_kat<count($A_kategorie_b); $ile_kat++ )
        {      $Cz_$A_kategorie_b[$ile_kat] = $r["$A_kategorie_b"];
        }     
        }[/SQL]

Witam

Nie wrzuca sie do petli funkcji typu count() chyba ze lubisz sobie zwolnic kod....
przypisz wynik tej funkcji do zmiennej i zastosuj ta zmienna w petli dopiero

...ot tak nie na temat bo mi sie w rzuciło w oczy... smile.gif
acztery
pierwszy listing moze zeby byl krotki to tak :

  1. <?php
  2.  while($AFR=mysql_fetch_array($RES)) {
  3. foreach($AFR as $Key=>$Val) {
  4. $RET[$Key][]=$AFR[$Key];
  5.  
  6.  
  7. }
  8. ?>
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.