Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wyciągnięcie danych z bazy
amii
post
Post #1





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Mam taki fragment kodu. Struktura tabel to:

katalogi_id
id int(11) | id_kat int(11) | ajax_adres int(11)
677 1 257
678 1 259
679 1 252
..... .... ......
963 34 233

katalogi
id int(11) | ajax varchar(80)
1 www.katalog.pl
2 www.innykatalog.pl
.... .............................
34 www.ostatnikatalog.pl

Pole id_kat to pole id z katalogi, id autoimkrementy i primary key. To co jest pomiędzy between jest OK bo resztę rekordów pobiera i sprawdzałem wyświetlając. Wie ktoś zatem czemu nie pobiera tego rekordu questionmark.gif

  1. $pobierz_katalogi1 = "SELECT * FROM katalogi_id LEFT JOIN katalogi ON katalogi_id.id=katalogi.id WHERE katalogi_id.id BETWEEN $katalog_limit_min AND $katalog_limit_max";
  2. $zap_katalogi1 = mysql_query($pobierz_katalogi1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji $pobierz_katalogi1 : '. mysql_error());
  3.  
  4. $pobierz_proxy1 = "SELECT adresy FROM proxy WHERE id BETWEEN $proxy_limit_min AND $proxy_limit_max";
  5. $zap_proxy1 = mysql_query($pobierz_proxy1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji $pobierz_proxy1 : '. mysql_error());
  6.  
  7. while ($row = mysql_fetch_array($zap_katalogi1)) {
  8.  
  9. while ($row2 = mysql_fetch_array($zap_proxy1)) {
  10.  
  11. $row['ajax'] //wyswietla pusty rekord
  12.  


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czemu while do proxy dales w petli while do katalogów? Przecież po pierwszym obrocie petli, proxy juz bedzie mial puste dane i nie bedzie nic wyswietlal przy kolejnych obrotach katalogów.

Coś zakręciłes


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
amii
post
Post #3





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Zmodyfikowałem w ten sposób ale nadal to samo:

  1. $pobierz_katalogi1 = "SELECT * FROM katalogi_id LEFT JOIN katalogi ON katalogi_id.id=katalogi.id WHERE katalogi_id.id BETWEEN $katalog_limit_min AND $katalog_limit_max";
  2. $zap_katalogi1 = mysql_query($pobierz_katalogi1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji $pobierz_katalogi1 : '. mysql_error());
  3.  
  4. $pobierz_proxy1 = "SELECT adresy FROM proxy WHERE id=$proxy_limit_max";
  5. $zap_proxy1 = mysql_query($pobierz_proxy1) or die('Nastapil blad w polaczeniu w zapytaniu do bazy w instrukcji $pobierz_proxy1 : '. mysql_error());
  6. $pobranie = mysql_fetch_array($zap_proxy1);
  7. $wlaciwe_pobranie = $pobranie['adresy'];
  8. echo 'Wlasciwe pobranie = ' . $wlaciwe_pobranie . '<br>'; //tu sie prawidlowo wyswietla dla testu
  9.  
  10. while ($row = mysql_fetch_array($zap_katalogi1)) {
  11. echo 'Adres ajax to: '. $row['ajax'] . '<br>'; //a tu ciagle puste pole, wnioskuje ze cos jest nie tak z samym zapytaniem a potrzebuje pobrac pola ajax z katalogi oraz ajax_adres z katalogi_id
  12.  
  13.  


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
poli25
post
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 20
Dołączył: 19.02.2010

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


napisz mi naco chcesz otrzymac najprawdopodobniej bedziesz
musiał zrobic query 1 petal i w petli potem podpetal w query2 np:

$q1=SELECT id FROM katalogi_id LEFT JOIN katalogi ON katalogi_id.id=katalogi.id WHERE katalogi_id.id BETWEEN $katalog_limit_min AND $katalog_limit_max

while($row=mysql_fetch_array($q1))
{
$id=$row[0];
$q2=SELECT adresy FROM proxy WHERE id in('$id')

}

p.s. albo zmodyfikuj q1

$q1=SELECT adresy FROM proxy WHERE id in('SELECT ad FROM katalogi_id LEFT JOIN katalogi ON katalogi_id.id=katalogi.id WHERE katalogi_id.id BETWEEN $katalog_limit_min AND $katalog_limit_max)


while($row=mysql_fetch_array($q1))
{
$adres=$row[0];
echo $adres;
}


Ten post edytował poli25 22.10.2010, 11:06:44
Go to the top of the page
+Quote Post
amii
post
Post #5





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


OK rozstrzygnięte. Po prostu walnąłem się w warunku zamiast ON katalogi_id.id=katalogi.id powinno być
ON katalogi_id.id_kat=katalogi.id.
nospor a to co mówiłeś z pętlą powinno działać bo tam są $row i $row2 te pętle nie nadpisują się.
Sorki za zawracanie głowy ale na przyszłość odradzam innym nadawanie takich nazw tabel bo kod traci przejrzystość i takie rzeczy mogą się zdarzyć.


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
nospor a to co mówiłeś z pętlą powinno działać bo tam są $row i $row2 te pętle nie nadpisują się.
Nie mowilem o nadpisywaniu a o wyczerpaniu sie danych. Druga petla w pierwszym obrocie petli wyczerpie już swoje dane i przy kolejnych obrotach pierwszej petli druga petla juz nie bedzie miala danych i w ogole nie bedzie wchodzich do drugiej petli


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 05:00