Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> PROSTA tabela
Waldek
post 2.10.2003, 05:56:26
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


Witam,

jestem po nocce walki z baza i pozostal mi jeden problem, byc moze "zakalapuckalem" sie i nie moge sobie dac z nim rady:

tabela jest mniej wiecej taka
Kod
nr_kat           id



12345            1

12346            2

12347            1

12348            3

12349            5

22222            2

33333            1

itd...

PROBLEM jaki mam:
MUSZE wyszukiwac wg nr_kat tak aby rezultatem zapytania byly wszystkie nr_kat z id powtarzajacym sie np 1
czyli na zapytanie o: 12345 odpowiedz powinna byc:
12345, 12347, 33333 czyli wszystkie nr_kat ktory laczy wspolne id w tym wypadku 1

Zgłupiałem całkowicie, i zatarlem sie...

pozdrawiam
W.
Go to the top of the page
+Quote Post
spenalzo
post 2.10.2003, 07:21:57
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


[sql:1:999bbfdceb]SELECT nr_kat FROM nazwa_tabeli WHERE ID='1'[/sql:1:999bbfdceb]


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

Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 07:26:19
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


Dzieki z odpowiedz, ale zupelnie nie o to chodzi...
wywolanie mam w zalozeniu takie:
Kod
$query = "SELECT * FROM tabela WHERE nr IN ($nr_kat)";


bo co by bylo jak id jest 3 ?
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 07:44:01
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Walduś.. z tego co ja wiem, to spenalzo dał Ci dobry kod. Albo Ty źle precyzujesz problem.
Oczywistym jest, że zamiast '1' wstawiasz jakąś zmienną ze skryptu, w której trzymasz ID, według którego filtrujesz.
Polecam się zdrzemnąć.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 08:00:36
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


No witam, zmienna mam tylko jedna $nr_kat
w tym caly problem !

PS
nie moge niestety spac pracuje
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 08:12:37
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No teraz to problem wygląda inaczej (czytelniej) niż przed chwilą.
Na moje oko albo robisz dwa zapytania, z czego pierwsze wybiera tylko szukane id a drugie nr_kat wg. id , albo subquery (link dla MySQL)


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 08:17:50
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


Dzieki..... no mam problem, z reguly nie jestem czlowiekiem ktory prosi o gotowce... ale gdyby cos blizej..... bylbym wdzieczny i odrobie.... pomoge lub inna forma odwdzieczenia...
to polecenie jest dla mnie nowe...
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 08:18:33
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zacznij od tego, że powiedz, na jakiej bazie pracujesz i w jakiej wersji.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 08:22:44
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


baza: MySQL 3.22.32-log
php 4.1.2 (Zend: 1.1.1)

tak jest na serwie..
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 08:29:27
Post #10





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




[php:1:8b5d9c18dd]<?php
// (...)
$strSqlQuery = sprintf( "SELECT id FROM table_name WHERE nr_kat = %d", $nr_kat );
$resSqlResult = mysql_query( $strSqlQuery ) or die( mysql_error() );
$intID = mysql_result( $resSqlResult, 0, 'id' );
$strSqlQuery = sprintf( "SELECT nr_kat FROM table_name WHERE id = %d", $intID );
$resSqlResult = mysql_query( $strSqlQuery ) or die( mysql_error() );
// (...)
?>[/php:1:8b5d9c18dd]Pisane z palca tongue.gif

__
Dla MySQL > 4.1 można by:
[php:1:8b5d9c18dd]<?php
// (...)
$strSqlQuery = sprintf( "SELECT nr_kat FROM table_name WHERE id = (SELECT id FROM table_name WHERE nr_kat = %d)", $nr_kat );
$resSqlResult = mysql_query( $strSqlQuery ) or die( mysql_error() );
// (...)
?>[/php:1:8b5d9c18dd]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
spenalzo
post 2.10.2003, 08:32:58
Post #11





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


[php:1:607e05c936]<?php
$q=mysql_query("SELECT id FROM tabela WHERE nr_kat='".$nr_kat."' LIMIT 1");
$t=mysql_fetch_array($q);
$q=mysql_query("SELECT nr_kat FROM tabela WHERE id='".$t["id"]."'");
?>[/php:1:607e05c936]


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

Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 09:04:45
Post #12





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


dzieki, zaraz wyprobuje...
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 09:09:33
Post #13





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


Scaner:

w obydwu przypadkach:
You have an error in your SQL syntax near 'SELECT id FROM tabela WHERE nr_kat = 15020)' at line 1
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 09:18:42
Post #14





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
WHERE nr_kat = 15020)' at line 1
a skąd się wziął ten nawias?questionmark.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 09:22:28
Post #15





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


tak mi "wychodzi po odpaleniu skryptu
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 09:43:26
Post #16





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
[php:1:4fcbb4069f]<?php
// (...)
$strSqlQuery = sprintf( "SELECT id FROM table_name WHERE nr_kat = %d", $nr_kat );
$resSqlResult = mysql_query( $strSqlQuery ) or die( mysql_error() );
$intID = mysql_result( $resSqlResult, 0, 'id' );
$strSqlQuery = sprintf( "SELECT nr_kat FROM table_name WHERE id = %d", $intID );
$resSqlResult = mysql_query( $strSqlQuery ) or die( mysql_error() );
// (...)
?>[/php:1:4fcbb4069f]
Niemożliwe. w treści zapytań nie ma ani jednego nawiasu.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 10:25:27
Post #17





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


TO JEST TO !!
przepraszam ze sie nie odzywalem, ale szef...
Wielkie Dzieki dziala tak jak trzeba, prosze okreslic forme odwdzieczenia sie...
Waldek
Go to the top of the page
+Quote Post
scanner
post 2.10.2003, 10:29:21
Post #18





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Wystarczy jak będziesz na bieżąco z technologiami i czasem zajrzysz do manuala smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Waldek
post 2.10.2003, 10:36:48
Post #19





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2003
Skąd: Radom

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


Mam w jednej domenie ustabilizowana od 2 lat baze, w chwili obecnej musialem ja troche przerobic i wrocic myslami do projektu sprzed 2 lat, a to co dzis - wymyslil klient, baza ma w chwili obecnej 23 MB i jest "rozwojowa". Trzy tygodnie pracy i w sobote ja oddaje, choc przyznam ze zajelo by mi to duzo czasu szczegolnie dzis...

jeszcze raz dzieki

i pozdrawiam serdecznie...

Waldek
Go to the top of the page
+Quote Post
uboottd
post 2.10.2003, 11:40:30
Post #20





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Slyszeliscie o self joinach ? smile.gif

[sql:1:d94e9b084c]
SELECT t2.nr_kat
FROM table_name as t1, table_name as t2
WHERE t2.id = t1.id AND t1.nr_kat='$id'
[/sql:1:d94e9b084c]
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Wersja Lo-Fi Aktualny czas: 22.06.2025 - 10:21