Skocz do zawartości

[PHP][MYSQL]


b79

Rekomendowane odpowiedzi

EDIT. z przejęcia problemem nie opisałem poprawnie tematu, a nie widze opcji edycji, jezeli ktoś z moderatorów może prosze poprawić.

witam,

jestem początkującym programistą który dorwał w sieci gdzieś skrypt i chce go dostosować do swoich potrzeb mimo sporych braków wiedzy :P

mam baze w której sa dwie tabele static i dynamic

udało mi się wyciągnąć dane ze statica zgodnie z moimi ząłożeniami i prezentuje je w tabeli html która ma pola np. url, słowo i chciałbym dołożyć do tego dane z tabeli dynamic w której znajdują się dane dotyczące poyzcji

czyli docelowo chciałbym aby dane wyświetlały się tak url, słowo, ostatnia pozycja

domena.pl | słowo | 5

kombinuje na wszystkie i sposoby i umiem wyciągnąc te dane ale wyswietlaja się w jakiś dziwny sposób zmaiast w jednym wierszu to w nowym w takiej postaci

domena.pl | słowo | puste

puste | puste | pozycja

a tak wygląda mój kod

// pobierabie wartości z tabeli 
  $sql = "SELECT * FROM static_data ORDER BY url ASC";
  $rezultat = mysql_query($sql) or die(mysql_error());

  $sql2 = "SELECT google_ranking FROM dynamic_data WHERE sid='4' ORDER BY fetch_date DESC LIMIT 1";
  $rezultat2 = mysql_query($sql2) or die(mysql_error());

// wyświetlanie rezultatu na ekranie
  echo "<table cellpadding=\"2\" border=1>";
  echo "<tr>";
  echo "<th>DOMENA</th>";
  echo "<th>SŁOWO KLUCZOWE</th>";
  echo "<th>ACTIVE</th>";
  echo "<th>POZYCJA</th>";
  echo "<th>SZCZEGÓŁY</th>";
  echo "<th>EDYCJA</th>";
  echo "<th>USUŃ</th>";
  echo "</tr>";
 while (($lista=mysql_fetch_array($rezultat)) | ($lista2=mysql_fetch_array($rezultat2))) { 

  	  echo "<tr>";
  echo "<td>".$lista['url']."</td>";
  echo "<td>".$lista['keyword']."</td>";
  echo "<td align=\"center\">".$lista['active']."</td>";
  echo "<td align=\"center\">".$lista2['google_ranking']."</td>";
  echo "<td align=\"center\"><a href=\"stats.php?s=".$lista['id']."\">info</a></td>";
  echo "<td align=\"center\"><a href=\"stats.php?a=edit&id=".$lista['id']."\">edytuj</a></td>";
  echo "<td align=\"center\"><a href=\"stats.php?a=del&id=".$lista['id']."\">usuń</a></td>";
  echo "</tr>";
  }
  echo "</table>";

?>

może mi ktoś z tym pomóc ??

rzeczy do poprawienia

1. w zapytaniu $sql2 trzeba by zrobić że sid=$id z tabeli static

2. pozycja z zapytania $sql2 wyświetla się w jednym wierszy tabeli html razem z danym wynikowymi polecenia $sql.

mam nadzieję że jasno wyraziłem istotę problemu :soczek:

SFM Filtry - wysokiej jakości filtry powietrza do systemów wentylacji i klimatyzacji.

W naszym sklepie internetowym filtry powietrza do wentylacji kupisz szybko, tanio i bezpiecznie.

centrale telefoniczne Siemens, Panasonic, Slican

Odnośnik do komentarza
Udostępnij na innych stronach

Piękny kod KAT serwera pętla w pętli :P

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jaki jest parobem wiec nie mogę konkretnego podsunąć rozwiązania. Tak, czy inaczej musisz tak zaprojektować system aby wyeliminować pętle w pętli. Jeśli potrzebujesz wybierać z dane z wielu tabel jednocześnie zastosuj złączenia:

https://dev.mysql.com/doc/refman/5.0/en/join.html, lub https://republika.onet.pl/20405,16585,1,04,kursy.html

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jaki jest parobem wiec nie mogę konkretnego podsunąć rozwiązania. Tak, czy inaczej musisz tak zaprojektować system aby wyeliminować pętle w pętli. Jeśli potrzebujesz wybierać z dane z wielu tabel jednocześnie zastosuj złączenia:

https://dev.mysql.com/doc/refman/5.0/en/join.html, lub https://republika.onet.pl/20405,16585,1,04,kursy.html

@Mion dzięki za podpowiedź, doszedłem do takiego zapytania SQL

SELECT * FROM static_data, dynamic_data WHERE static_data.id=dynamic_data.sid ORDER BY static_data.url, keyword ASC ,dynamic_data.fetch_date DESC

ostatnie co trzeba zrobić to ustawić LIMIT 1 dla wyników z tabeli dynamic_data

jakiś pomysł ?? jak dopiszę to do tego zapytania to niestety limituje wszystkie wyniki i zamiast mieć 15 wyników mam 1 :( a bez opcji limit 1 mam 300 pozycji :)

jak to najprościej przefiltrować ?

SFM Filtry - wysokiej jakości filtry powietrza do systemów wentylacji i klimatyzacji.

W naszym sklepie internetowym filtry powietrza do wentylacji kupisz szybko, tanio i bezpiecznie.

centrale telefoniczne Siemens, Panasonic, Slican

Odnośnik do komentarza
Udostępnij na innych stronach

Klauzula LIMIT $OD, $ILE więcej na ten temat

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności