Newsgroup: it.comp.www.php
Titolo: [Help] php-mysql

salve gente..
allora ho una tabella su mysql fatta cosi.. con un enormità di righe,
Step | Fornitori | Clienti
1             1            2
1             2            1
1             2            4
2             2            1
2             1            4
.......
voglio sapere in quali step (prima colonna) compare la stessa coppia di 
valori per i campi Fornitori e Clienti.
Per esempio: la coppia di valori 2    1  si verifica allo step 1 (seconda 
riga) e allo step 2 (quarta riga), io vorrei creare  in output attraverso 
script php, un file di testo fatto cosi:
Fornitori  Clienti   [numero step in cui si verifica tale coppia di valori]
facendo riferimento alla tabella di esempio sopra:
1     2   [1]
2     1   [1,2]
2     4   [1]
2     1   [2]
1     4   [2]
chi può darmi qualche idea????
ringrazio tutti anticipatamente 

 ringrazio tutti anticipatamente
non e' che hai sbagliato a scrivere la soluzione voluta?
comunque questo dovrebbe funzionare, ma e' dispendioso ed inelegante.. 
$result = mysql_query('SELECT * FROM table WHERE 1');
$list = array();
while ($row = mysql_fetch_assoc($result))
 $list["{$row['fornitori']} {$row['clienti']}"][] = $row['step'];
while (list($key, $value) = each($list))
 echo "$key [" . implode(',', $value) . '] <br />';
puo' essere migliorato..
magari ordinando i valori direttamente in sql e poi stampandoli
adeguatamente..
oppure facendo 1+n query dove n e' il numero di coppie distinte di fornitori
e clienti..
a te la scelta..
-- 
www.iuz-lab.info

> chi pu darmi qualche idea????


 
[..]
fopen() fwrite()..
-- 
www.iuz-lab.info

"iuz" <us...@host.network> ha scritto nel messaggio 
news:43db5b16$0$27297$4faf...@reader2.news.tin.it...

allora il mio file php completo è il seguente:
dopo connessione a database..
$query0="select max(IDArtifact) from mtxartifactsdatfile1;";
$res0=mysql_query($query0);
while ($row0=mysql_fetch_assoc($res0))
{
$wtotart=$row0["max(IDArtifact)"];
$aumentamax=1;
$wtotart2=$wtotart+$aumentamax;
echo '*Vertices'." ".$wtotart2."<br>";
}
$query1="select IDArtifact from mtxartifactsdatfile1 ORDER by IDArtifact;";
$res1=mysql_query($query1);
for ($i=0; $i<=10; $i++)
{
while ($row1=mysql_fetch_assoc($res1))
{
$widart=$row1["IDArtifact"];
$aumenta=1;
$widart2=$widart+$aumenta;
$virg1="\"";
$virg2="\"";
$art='art.';
echo $widart2." ".$virg1.$art.$i++.$virg2." ".'[1-*]'."<br>";
}
}
echo '*Arcs'."<br>";
$query="SELECT fornitori,clienti,step,count(step) as num FROM forni group BY 
fornitori,clienti;";
$res=mysql_query($query);
while ($row=mysql_fetch_assoc($res))
{
$wstep=$row["step"];
if ( $row["num"] >= 1 )
{
$q="select step from forni where fornitori=".$row["fornitori"]." AND 
clienti=".$row["clienti"].";";
$r=mysql_query($q);
$wstep="";
$virgola="";
$quadra1="";
$quadra2="";
WHILE ($row1=mysql_fetch_assoc($r))
{
$wstep.=$virgola.$row1["step"];
$virgola=",";
$quadra1="[";
$quadra2="]";
$forn=$row["fornitori"];
$aumenta1=1;
$forn2=$forn+$aumenta1;
$clien=$row["clienti"];
$aumenta1=1;
$clien2=$clien+$aumenta1;
}
}
echo $forn2." ".$clien2." ".'1'." ".$quadra1.$wstep.$quadra2."<br>";
}
dove dovrei inserire le istruzioni per salvare tutto su file di testo?
il file finale deve avere esattamente questo aspetto (ora mi appare cosi sul 
browser):
*Vertices 12
1 "art.0" [1-*]
2 "art.1" [1-*]
3 "art.2" [1-*]
4 "art.3" [1-*]
5 "art.4" [1-*]
6 "art.5" [1-*]
7 "art.6" [1-*]
8 "art.7" [1-*]
9 "art.8" [1-*]
10 "art.9" [1-*]
11 "art.10" [1-*]
12 "art.11" [1-*]
*Arcs
1 3 1 [1]
1 4 1 [1,1,3]
1 7 1 [2,2]
1 8 1 [2]
2 3 1 [1,1,2,3]
2 4 1 [1]
2 6 1 [2]
5 8 1 [2]
5 9 1 [3]
6 7 1 [2]
6 10 1 [3]
7 9 1 [2]
8 9 1 [3]
9 11 1 [3]
9 12 1 [3]
9 5 1 [1,1,2]
10 12 1 [3,3]