Ciao a tutti,
Ho una tabella in Mysql che contiene l'elenco di alcune persone, divise per sesso M - F
Nella pagina dovrei ora selezionare RANDOM 2 Maschi e 2 Femmine
Devo fare 2 query per forza o c'è un'alternativa?
Ciao a tutti,
Ho una tabella in Mysql che contiene l'elenco di alcune persone, divise per sesso M - F
Nella pagina dovrei ora selezionare RANDOM 2 Maschi e 2 Femmine
Devo fare 2 query per forza o c'è un'alternativa?
MITTICCOOOOOOOOO!
penso tu possa farlo con UNION, ma tanto vale fare 2 query diverse, tanto non penso sprechino poi tanta memoria
http://dev.mysql.com/doc/mysql/en/union.html
![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Thx ora provo...
Non è che per caso sai come paginare i record in questa maniera?
MASCHIO
DONNA
DONNA
MASCHIO
?
![]()
MITTICCOOOOOOOOO!
con una sola query la vedo un pò dura.
se ne fai una sola puoi prendere:
MASCHIO
FEMMINA
FEMMINA
con questa query:
e l'ultimo dato lo devi prendere con una seconda query, perché aggiungendo alla fine un'altra UNION identica alla prima SELECT il risultato non cambia!codice:( SELECT * FROM `tabella` WHERE `sesso` = 'M' LIMIT 1 ) UNION ( SELECT * FROM `tabella` WHERE `sesso` = 'F' LIMIT 2 )
![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
IO HO FATTO
(
SELECT *
FROM `tabella`
WHERE `sesso` = 'M'
LIMIT 2
ORDER BY RAND()
)
UNION (
SELECT *
FROM `tabella`
WHERE `sesso` = 'F'
LIMIT 2
ORDER BY RAND()
)
mi viene
MASCHIO
MASCHIO
FEMMENA
FEMMENA
non c'è modo di cambiare l'ordine
MASCHIO
FEMMENA
FEMMENA
MASCHIO
quando uso il ciclo per visualizzarlo sulla pagina?
MITTICCOOOOOOOOO!
invece della UNION fai due query.
$res1 = M e $res2 = F => mysql_query.
codice:$row1 = mysql_fetch_array($res1); echo "row1[nome_maschio]"; while($row2 = mysql_fetch_array($res2)) { echo "row2[nome_femmina]"; } $row1 = mysql_fetch_array($res1); echo "row1[nome_maschio]";
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
In effetti bastava ragionarci un po
Ti correggo PIERO
il tuo ultimo maschio è lo stesso del primo
GINO
PAOLA
MARTA
GINO
io ho fatto cosi
Codice PHP:
do{
echo "$row_maschio[nik]
";
do{
echo "$row_femmina[nik]
";
}while ($row_femmina = mysql_fetch_assoc($femmina));
}while ($row_maschio = mysql_fetch_assoc($maschio));
MITTICCOOOOOOOOO!
ho scordato di "spingere" avanti l'array...
mysql_data_seek($row1, 1);
pazienza...![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Mi hai comunque dato la scintilla per capire
THX
MITTICCOOOOOOOOO!
Scusami Piero...
Sapresti dirmi perche con
Mi vengono fuori 5 recordCodice PHP:
do{
echo "$row_maschio[nik]
";
do{
echo "$row_femmina[nik]
";
}while ($row_femmina = mysql_fetch_assoc($femmina));
}while ($row_maschio = mysql_fetch_assoc($maschio));
cioè
MASCHIO
FEMMINA
FEMMINA
MASCHIO
RECORD VUOTO
?? :master:
MITTICCOOOOOOOOO!