Newsgroup: it.comp.www.php
Titolo: creazione query

Ho una tabella fatta così:
produttore    disponibile    prodotto
mario                1                nome
mario                1                nome
mario                1                nome
mario                0                nome
luigi                   1                nome
luigi                   0                nome
luigi                   1                nome
luigi                   1                nome
luigi                   0                nome
luigi                   1                nome
giacomo            0                nome
giacomo            0                nome
giacomo            1                nome
giacomo            1                nome
giacomo            1                nome
giacomo            0                nome
marino               1                nome
marino               0                nome
marino               1                nome
marino               1                nome
marino               1                 nome
andrea               0                nome
andrea               0                nome
andrea               1                nome
andrea               1                nome
andrea               1                nome
per ogni produttore vorrei selezionare in modo random due prodotti con
disponibilità=1. Inotre vorrei che in tutto fossero visualizzati solo 10
prodotti.
Solo che non ho idea di come fare.. qualche suggerimento??
Grazie
Andrea

Solo che non ho idea di come fare.. qualche suggerimento??
usa le funzioni rand() e limit() di mysql.
Ciao
Francesco
_____________________________________
Per rispondere in e-mail togli NOSPAM 

 Ciao
sě, ok: rand lo uso per prendere dei prodotti a caso, limit per prenderne
solo 10. Ma come faccio a prenderne due per ogni produttore?
Andrea

 usa le funzioni rand() e limit() di mysql.
Sě, concordo. Ma sappi che la funzione rand() di MySql fa molto schifo, 
se la richiami cosě com'č, spesso si impalla e ti rilascia sempre lo 
stesso numero. Per risolvere il problema passagli un seed generato con 
php.
-- 
Liuk (lo Steccalecca) - Cavaliere Jedi - Ex allievo della maestra Alkaid
Home Page: 
http://www.fanwars.it
 - Email: 
li...@fanwars.it
"Non vengo da Piacenza per piacervi, né da Lodi per lodarvi:
vengo da Chiavari..."



Ti servirebbe una subselect, che MySQL per ora non ha. Puoi risolvere o
con una tabella di appoggio o con codice PHP side.
Oppure puoi imbrogliare:
SELECT produttore, MAX(nome) AS i1, MIN(nome) AS i2 FROM prodotti WHERE
	disp = 1 GROUP BY produttore;
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 con una tabella di appoggio o con codice PHP side.
una tabella di appoggio?? Ne ho anche una con dentro solo i produttori. Ad
intuito mi potrebbe essere utile, ma non so bene come..
Andrea



Contrordine, ti servirebbe lo stesso una subselect :-(


> Contrordine, ti servirebbe lo stesso una subselect :-(
ho fatto:
$query = "select * from negozio_user";
$result = mysql_query($query);
while ($rows = mysql_fetch_row($result))
  {
   $utenti[$i]=$rows[1];
   echo "$utenti[$i]<br>";
   $i=$i+1;
  }
foreach ($utenti as $value)
{
    $query = "select * from negozio where vetrina='1' order by rand() limit
2";
 $result = mysql_query($query);
 while ($rows1 = mysql_fetch_row($result))
  {
   echo "$rows1[0]<br>";
  }
}
Grazie!!
Andrea