Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie pól z bazy o zmiennych nazwach kolumn
Aquarius
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.10.2008

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


skrobnąłem sobie poniższy kod, aby pobierać rekordy z bazy z kolumn które różnią się cyframi:

  1. if ($_GET['op'] != "") {
  2. $sql_o = "SELECT * FROM ZGLOSZENIA WHERE Opcjonalne1_ID='".$_GET['op']."' OR Opcjonalne2_ID='".$_GET['op']."' OR Opcjonalne3_ID='".$_GET['op']."' OR Opcjonalne4_ID='".$_GET['op']."' OR Opcjonalne5_ID='".$_GET['op']."' OR Opcjonalne6_ID='".$_GET['op']."' OR Opcjonalne7_ID='".$_GET['op']."' OR Opcjonalne8_ID='".$_GET['op']."' OR Opcjonalne9_ID='".$_GET['op']."' OR Opcjonalne10_ID='".$_GET['op']."'";
  3. $result_o = mysql_query($sql_o);
  4. while($row = mysql_fetch_assoc($result_o)) {
  5. foreach ($row as $col => $val) {
  6. if ($val == $_GET['op']) {
  7. $endch = str_replace("ID", "Wartosc", $col);
  8. $sql_o = "SELECT ".$endch." FROM ZGLOSZENIA WHERE ".$col."='".$_GET['op']."'";
  9. $result_o = mysql_query($sql_o);
  10. while($row = mysql_fetch_row($result_o)) {
  11. $wyniki .= "<td>".$row[0]."</td></tr>";
  12. }
  13. }
  14. }
  15. }
  16. }


i co prawda pobiera dobrze, ale wykonuje się jak widać wyżej w pętli, czy da się to może zrobić jakoś inaczej aby uzyskać prawidłowe wyświetlanie?

Ten post edytował Aquarius 30.03.2014, 09:18:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wazniak96
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Nie rozumiem po co w ogóle jest to drugie zapytanie skoro pobiera te same dane. Przynajmniej według mojego rozumowania bo kod to sieczka. Według mnie cała baza jest źle zaprojektowana skoro masz 10 różnych kolumn, które potem przeszukujesz szukając tych samych danych. A wystarczyłoby po prostu jedna dodatkowa kolumna, gdzie zapisałbyś tą swoją liczbę(1-10)...

Do tego dochodzi to co napisał kolega @acidm. Nie filtrujesz w żaden sposób danych z tablicy GET.

Mniejsza o to. Wklej sobie poniższy kod i zobacz czy już czasem nie masz danych które szukasz (IMG:style_emoticons/default/smile.gif)
  1. $sql_o = "SELECT * FROM ZGLOSZENIA WHERE Opcjonalne1_ID='".$_GET['op']."' OR Opcjonalne2_ID='".$_GET['op']."' OR Opcjonalne3_ID='".$_GET['op']."' OR Opcjonalne4_ID='".$_GET['op']."' OR Opcjonalne5_ID='".$_GET['op']."' OR Opcjonalne6_ID='".$_GET['op']."' OR Opcjonalne7_ID='".$_GET['op']."' OR Opcjonalne8_ID='".$_GET['op']."' OR Opcjonalne9_ID='".$_GET['op']."' OR Opcjonalne10_ID='".$_GET['op']."'";
  2. $result_o = mysql_query($sql_o);
  3. $row = mysql_fetch_assoc($result_o);
  4.  
  5. print_r($row);


Ten post edytował Wazniak96 30.03.2014, 14:16:44
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: 16.10.2025 - 15:19