Newsgroup: it.comp.www.php
Titolo: Numero record

Scusate magari č una scemata ma sono 3 ore che cerco e non ne vengo a capo.
Faccio un esempio semplice.
Io ho una tabella e da questa voglio estrarre 3 record:
ID =230    nome = Marco  stanza=32
ID =540    nome = Luca    stanza=32
ID =990    nome = Fabio    stanza=32
Facendo una select id,nome from tabella where stanza=32 vorrei che tutti i
record trovati fossero ordinati cosě:
1        230        Marco        32
2        540        Luca          32
3        990        Fabio        32
in modo da poter mettere tutto dentro delle variabili con:
while (list($number,$id,$nome,$stanza)= mysql_fetch_row ($result));
Sapete mica se c'č un qualcosa che si puň mettere nella query per contare in
modo progressivo i record?
ciao
Mirko

while (list($number,$id,$nome,$stanza)= mysql_fetch_row ($result));
ORDER BY 


order by ? Mi sa che hai frainteso quello che ho chiesto.
Non ho nessuna colonna con gli 1,2,3 ecc.....
Voglio qualcosa tipo select count(*), id, nome,stanza where stanza=32
Solo che count mi trova il totale dei record trovati, mentre io ho bisogno
di memorizzare in una variabile il numero progressivo di record trovati
usando:
while (list($number,$id,$nome,$stanza)= mysql_fetch_row ($result));
ciao
Mirko

 ha scritto nel messaggio
news:TcnT8.1050$B8....@tornado.fastwebnet.it...

Purtroppo nn sei molto chiaro comunque forse intendevi ciň?
----------------------------
$id=mysql  _result("id");
$nome=mysql  _result("nome");
-----------------------
Praticamente vuoi fare il get di tutti i record ???
ecc... ecc.....

 Purtroppo nn sei molto chiaro comunque forse intendevi ciò?
Si immagino di non essere stato molto chiaro, sono distrutto se va avanti
così non potrò più suonare l'arpa....
Comunque quello che voglio è semplicemente una numerazione dell'output.
Per esempio mettiamo che ho una tabella con tre campi:
ID_TABELLA   NOME   ANNO
e faccio una select:
select ID_TABELLA, NOME where ANNO ='1954' order by ID_TABELLA;
come output avrò:
ID_TABELLA:           NOME:
23                              Alfredo
45                              Mario
65                              Giovanni
Io invece ho bisogno di:
1            23            Alfredo
2            45            Mario
3            65            Giovanni
4            90            Carmelo
etc........
So che volendo potrei usare un ciclo while in php usando una variabile $var
che aumenta ogni volta. Ma non è questo di cui ho bisogno, quello che ho
fatto sopra è solo un esempio di una situazione molto più complessa.
Immagino di non essermi spiegato lo stesso, ma almeno ci ho provato... sono
cotto ho il mio cervello che sta facendo surf con le onde del monitor.
ciao
Mirko


wrote:

A prescindere dalla complessita' della tua situazione, le informazioni
che dai portano a interpretare cosi' la tua richiesta:
"Dato un gruppo di records risultanti da una query SQL, ordinati a
piacere con il modificatore ORDER BY, si desidera generare a video una
tabella la cui prima colonna contenga un numero univoco e progressivo
per ciascun record."
Ma... forse vuoi che la numerazione ricominci ad ogni "cambio di
stanza"?.
Esempio:
NR. 1   ID 23   NOME Alfredo     STANZA 32
NR. 2   ID 45   NOME Mario        STANZA 32
NR. 3   ID 65   NOME Giovanni   STANZA 32
NR. 1   ID 23   NOME Pippo      STANZA 33
NR. 2   ID 45   NOME Pluto       STANZA 33
NR. 3   ID 65   NOME Etabeta   STANZA 33
Ho interpretato bene?
Ciao. Peppe.
giuseppeNO...@tinME.itPLEASE
(maiuscole antispam)

NR. 3   ID 65   NOME Etabeta   STANZA 33
Ovviamente il campo ID sara' diverso... andavo di corsa!
Riciao. Ripeppe.
giuseppeNO...@tinME.itPLEASE
(maiuscole antispam)


Si esatto è questo che intendevo.
ciao
Mirko

 ho fatto sopra è solo un esempio di una situazione molto più complessa.
Scusami ma non è chiaro perché non puoi usare una variabile esterna... Forse 
se posti la vera query potrebbe essere più chiaro.
Ciao
Massimo


wrote:

allora fatti un ciclo con questa logica:
inizializza "vecchiastanza" a stringa vuota
(o comunque a un valore che sei certo non esistere nella tabella)
inizializza "numero" a ZERO
inizio ciclo (sempre dal primo record!)
	--------------------------------------------------
	// verifica se la "stanza"  del record e' diversa
	// dalla "vecchiastanza" 
	SI:
		"vecchiastanza" = "stanza"
		"numero" = 1
	NO:
		incrementa "numero"
	--------------------------------------------------
	stampa la riga...
fine ciclo


 se posti la vera query potrebbe essere più chiaro.
Non intendeva fare quello che dici direttamente con una query, bensì
aggiungendo la numerazione in php...
while($row = mysql_fetch_row($recordset))
{
          echo ++$i;
          for($j=0; $j<count($row); ++$j)
                  echo ($row[$j]." ");
          echo("<br>");
  }
Chiaramente scegli tu, a seconda di quello che ti interessa, come effettuare
la numerazione.
Happy Hacking
-------------------------------------------
Domenico Testa - Studente

3        990        Fabio        32
C'č un thread del 25/06/02 su it.comp.software.database (subj:
"numerazione righe"), che riguarda un argomento simile.
Il db di riferimento č perň PstgreSQL, che ha la funzione 
  rownum 
che fa piů o meno quello che chiedi (cioč numera le righe). In MySQL
non sono riuscito a trovare una funzione analoga.
Potresti perň provare a postare la domanda su quel ng.
M

 Potresti però provare a postare la domanda su quel ng.
Ah ecco dove l'avevo già visto. Ti ringrazio molto per l'informazione. Ora
guardo il thread che è iniziato il giorno del mio compleanno.
ciao
Mirko