Koodi joka tulostaa tiedot jossa on id=$id. Miten teen semmosen jutun että haen tietokannasta useamman ID:n? ja syötän ne seuraavaan koodiin???
$query=" SELECT * FROM contacts WHERE id='$id sekä toinen id)'";
Ja kun id:llä haetaan niin tulostaa esim. Ei saa hakea esim. ID 3 / jorma / pyörä.
id 1 / Make / puhelin
id 2 / pera / suto
En ole varma ymmärsinkö kysymystäsi oikein.
Haluat siis hakea tietoja useamman id:n perusteella?
$query = "SELECT * FROM contacts WHERE id='1' OR id='2'";
Voit myös katsoa netistä esimerkkejä
SELECT * FROM contacts WHERE id IN ( arvo1, arvo2, arvo3, ....)
Vähän riippuu että paljonko näitä vaihtoehtoisia id:ita on, 2-3 vaiko 200?
Tiedän tuon mutta haluaisin tehdä sen näin. Eli haen tietokannasta yksi (nimi,tuoteid) sitten pitäisi hakea toisesta kannasta tietokannan yksi tuoteID:enn perusteella tiedot. Eli Matilla voi olla tuotteita 1,2,3.
-------nimi, tuoteid / nimi, tuoteid /nimi, tuoteid
-------Matti, 1 / matti, 2 / matti, 3 //nämä on taulukossa 1
--------ID, nimi / ID, nimi / ID, nimi //nämä on taulukossa 2
--------1, pesukone / 2, käsine / 3, pipo
tulostaa- Matti, pesukone / matti, pyörä / matti, käsine
inner join
Eri tietokannasta vai taulusta?
Vaikuttaa vähän omituiselta noiden taulujen rakenne.
SELECT a.nimi as username,b.nimi as tuotename FROM contacts a,tuotteet b WHERE a.TUOTEID = b.TUOTEID
No en kiiressä panostanu siihen.
Samasta tietokannasta jossa on kaksi eri taulua.
Eli lähinnä haen vastausta siihen että jos haetaan taulusta 1 tieto esim tuoteiD niin voidaan hakea toisesta taulusta TuoteID:n tiedot. Vaikka tuotteennimi, paino, jne...Ongelma tulee siinä että pitäisi saada haettua taulusta 1 esim. kolme tuoteID:tä ja hakea niille sitten tuotetiedot ja tulostaa ne.
faaraot kirjoitti:
Ongelma tulee siinä että pitäisi saada haettua taulusta 1 esim. kolme tuoteID:tä ja hakea niille sitten tuotetiedot ja tulostaa ne.
No siis mikäs tuossa on sitten ongelma?
Kysymyksessäsi ei kerrota että miten taulusta 1 haetaan 3 tuoteID:tä.
faaraot kirjoitti:
-------nimi, tuoteid / nimi, tuoteid /nimi, tuoteid
-------Matti, 1 / matti, 2 / matti, 3 //nämä on taulukossa 1--------ID, nimi / ID, nimi / ID, nimi //nämä on taulukossa 2
--------1, pesukone / 2, käsine / 3, pipotulostaa- Matti, pesukone / matti, pyörä / matti, käsine
$query = "SELECT GROUP_CONCAT(tuoteid) AS tuoteidt, nimi FROM taulukko1 WHERE nimi = 'matti' GROUP BY nimi"; $result = mysql_fetch_assoc( mysql_query( $query ) ); $tuoteidt = $result['tuoteidt']; // stringi "1,2,3" $nimi = $result['nimi']; // stringi "matti" $query = "SELECT nimi FROM taulukko2 WHERE ID IN($tuoteidt)"; $results = mysql_query( $query ); // $jeejee = array(); while( $rivi = mysql_fetch_assoc( $results ) ) { array_push( $jeejee, $rivi ); } print_r( $jeejee );
En kyllä yhtään ymmärrä miksi tuossa ajetaan kaksi kyselyä.. Mielestäni JOIN on järkevämpää tehdä tietokannan päässä kuin PHP-koodissa.
En saanu joinia toimimaan tossa, ei suostunu millään tunnistamaan kolumnia "tuoteidt" (toi lennossa tehty mistä valitaan sitten lisää).
Siitä voi ite virittää joinin jos riittää jaksamista ja jos edes tarvii, turha käyttää vaikka hirveesti aikaa jos ei koskaa tuu hakee muutaku yhellä nimellä. Jos on mysql velho ja saat jotenki tuossa joinin toimimaa nii pistä ihmees :)
Ei kai toi nyt sen vaikeampi ole kuin
SELECT b.nimi FROM taulukko1 a JOIN taulukko2 b ON b.ID=a.tuoteid WHERE a.nimi='matti'
jaa noinkin näppärästi sen voi tehdä
Aihe on jo aika vanha, joten et voi enää vastata siihen.