Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie 2 w 1
Forum PHP.pl > Forum > Bazy danych > MySQL
Ace
MAm problem z zapytaniem Mianowicie, zawsze uzywalem zapisu w stylu
[sql:1:402d648c62]
SELECT id FROM konta WHERE login='$login'
[/sql:1:402d648c62]
[sql:1:402d648c62]
SELECT * FROM strony WHERE id_strony='$id'
[/sql:1:402d648c62]
i chce polaczyc te 2 zapytania w 1. Jestem pewien ze mozna to zrobic, lecz nie wiem jak. Probowalem napisac wlasne zapytanie i efektem jest :

[sql:1:402d648c62]
SELECT k.id, s.* FROM strony s,konta k WHERE k.login='$_SESSION[username]' and k.id=s.wlasciciel ORDER BY s.id ASC
[/sql:1:402d648c62]
lecz zwraca mi tylko 1 rekord a nie kilka.
tabele :
konta
id|login|haslo|mail

strony
id_strony|www|wlasciciel
gdzie wlasciciel = id z tabeli konta.
i przykladowe dane
konta:
1|ace|aaa|aaa@aaa.pl
2|eca|bbb|bbb@bbb.pl

strony
1|www.example.com|1
2|www.wp.pl|1
3|www.onet.pl|1
4|www.php.pl|2

i dla zmiennej $login = ace, wyswietla mi tylko pierwszy rekord a nie pierwsze trzy.
cboot
Cytat
[sql:1:6e863ddcf3]
ORDER BY s.id ASC
[/sql:1:6e863ddcf3]
...

strony
id_strony|www|wlasciciel

Tak nawiasem mówiąc, to s.id nie istnieje jeśli to co podałeś jako pola tabeli strony jest prawdą... Ale to raczej nie rozwiąże Twojego problemu.
Ace
temat nie aktualny... ;] moj blad...
zamiast
[php:1:1696919c3a]<?php
$db->query( $zapytanie );
while ( $dane = $db->row() )
debug( $dane );
?>[/php:1:1696919c3a]

mialem w kodzie
[php:1:1696919c3a]<?php
$db->query( $zapytanie );
$dane = $db->row();
debug( $dane );
?>[/php:1:1696919c3a]
czyli nie wypetlal danych sleep.gif' eh... kocham takie bledy nad ktorymi spedzam godziny, a faktycznie jest to maly blad...

a kod sql to
[sql:1:1696919c3a]
SELECT s.*,k.id as k_id
FROM konta k JOIN strony s ON ( k.id = s.wlasciciel )
WHERE k.login='Ace'";
[/sql:1:1696919c3a]

eh... moze komus sie przyda ;]
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.