Autor Zpráva
Matrix
Profil *
Dobré ráno, chci se zeptat na drobnou věc a ta je: mám v db několik věci

id, název,parent
1,Honza,0
2,dnes pil,1
3,dnes nepil,1
7,kouřil,1
8,nekouřil,1

4,Pepa,0
5,dnes pil,4
6,dnes nepil,4

Tyhle údaje chci vytáhnout do optionu aby každý jmenovec měl svůj select. Neni to tak jednduchý jak se zdá. Páč do jeho profilu se dělá zápis vybraných id. Tabulka uživatele:
uživatelovo akce = 2,8
A ted ukázka výsledku:
<select name="neco">
<option value="2">dnes pil</option>
<option value="8">nekouřil</option>
</select>
Děkuju za rady
AM_
Profil
Matrix:
Jakže vypadá ta tabulka uživatele? Není trochu divné mít v jedné tabulce jak uživatele, tak jejich akce? nebylo by lepší toto:

users:
id INT,
jmeno VARCHAR

actions:
id INT,
popis VARCHAR,
id_user INT --tohle si nejsem jist jestli je vubec potreba, tj vlastne to cemu ty rikas "parent", ale nebylo by lepsi definovat akce pro vsechny uzivatele naraz?

users_action:
id_user INT
id_action INT

SELECT action.id, action.popis FROM users_action LEFT JOIN actions ON users_action.id_action=actions.id WHERE users_action.id_user=$pozadovany_uzivatel
Matrix
Profil *
Vím, že to vypada divně, ale jak to je, tak to potřebuju :-)

Ono se jedná o určité parametry. To jak jsem napsal sloupce bylo jen pro lepší představu o co mi jde.

Mám v umyslu to udělat tak, že v tabulce bude spousta parametrů a uživatel si vybere do produktu jen ty které skutečně chce.
Tabulka SQL:

(1, 'Barva', 0),
(2, 'Velikost', 0),
(3, 'Červená', 1),
(4, 'Modrá', 1),
(5, 'Fialová', 1),
(6, 'Stříbrná', 1),
(7, 'L', 2),
(8, 'XL', 2);



Zatím jen volám s produktu v parametrech vybraný položky

$query  = mysql_query("SELECT * FROM parameter WHERE id_parameter IN (".$vysi["id_parameter"].")");
while ($row = mysql_fetch_assoc($query)) {
echo $row["parent"];
}


Hodně by mi pomohlo když by někdo napsal, jak mám udělat aby vypsal 1 číslo pouze jednou. Další věci by jsem už snad zvládnul sám.


Moderátor nightfish: Sloučeno do jednoho příspěvku. Nejsme na chatu!
nightfish
Profil
Matrix:
když by někdo napsal, jak mám udělat aby vypsal 1 číslo pouze jednou
echo 1;


zkus ještě jednou, srozumitelně napsat, co chceš získat, a na základě jakých dat to chceš získat
Matrix
Profil *
Snažim se, ale nějak to nejde, tak se ted pokusim co nejvic srozumitelně. Mám tabulku parametry ve kterých je seznam všech parametrů (velikost bot,tryček atd.) když se vkládá produkt, tak pomoci select multiple se vloží do produktu seznam vybráných id_parameter. To na co se ptám je vytažení do selectu. Pokud je v produktu id které v parametrech L,XL,červená,modrá tak aby se zjistilo L a XL je velikost a patří do jednoho selectu a červená a modrá do patří do barev, tak vytvoříme druhý select. Snad už jsem to popsal dobře.
Představa o výsledku:
<select name="neco">
<option value="7">L</option>
<option value="8">XL</option>
</select>
<select name="neco">
<option value="3">červená</option>
<option value="4">modrá</option>
</select>
nightfish
Profil
teď už je to jasné, předtím jsem si myslel, že to chcete udělat opačně...

SELECT id, nazev FROM parameter WHERE id IN (SELECT DISTINCT parent FROM parameter WHERE id_parameter IN (3, 4, 7, 8))
Matrix
Profil *
Takhle jednoduše? Já jsem si představoval, že bude pole v poly :-) Ted se musim postarat o malou, ale hned jak budu moct, tak to testnu a předem moc děkuju za příjemné řešení mého problému.
Matrix
Profil *
Děkuju nightfish, všechno šlape jak jsem si představoval.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0