Visualizzazione dei risultati da 1 a 8 su 8

Discussione: aiuto query array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    aiuto query array

    Salve, non riesco a visualizzare il primo elemento dell'array che scorro con il codice:

    ...
    $result=mysql_query($queryselect);
    $elenco=mysql_fetch_assoc($result);
    $num=mysql_num_rows($result);
    if ($elenco=="") echo "al momento non ci sono prodotti disponibili"; else {
    echo "$num";
    while ($elenco=mysql_fetch_assoc($result))
    {
    $elenco[nome]...

    Penso perchè il primo valore sia pari a 0...come posso fare?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    perchè all'inizio assegni già il primo valore, e quando entri nel while riesegui il mysql_fetch_assoc, e quindi passi già al secondo elemento.

    per verificare se hai ottenuto risultati puoi usare mysql_num_rows, cosi se ottieni 0 sai che non è presente nessun elemento, altrimenti procedi con il while partendo dal primo elemento.


    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    Grande...

    Ciao, grazie, mi ero fossilizzato, non mi sono accorto.
    Senti, un'ultima cosa.
    La differenza tra ...fetch, ...assoc e ...row?
    Qual è il più veloce che fornisce un elenco completo?

    Ciao e grazie.

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    devo ringraziare tutta la gente del forum per quello che mi fa imparare, nessuno legge il manuale, cosi quando qualcuno mi chiede qualcosa mi leggo il manuale, imparo qualcosa di nuovo e faccio pure la figura del figo che ne sa.

    http://fr.php.net/manual/it/function...etch-assoc.php

    mysql_fetch_assoc() è equivalente alla chiamata di mysql_fetch_array() con MYSQL_ASSOC come secondo parametro opzionale. Questa restituisce solo un array associativo. Questo è il modo incui mysql_fetch_array() funzionava originalmente. Se è necessario l'indice numerico al posto di quello associativo, usare mysql_fetch_array().

    Se due o più colonne del risultato hanno gli stessi nomi di campo, l'ultima colonna avrà la precedenza. Per accedere alle altre colonne con lo stesso nome, si deve accedere al risultato con l'indice numerico usando mysql_fetch_row() oppure aggiunger degli alias. Vedere l'esempio nella descrizione di mysql_fetch_array() per quanto concerne gli alias.

    Una cosa importante da notare è che l'uso di mysql_fetch_assoc() non è significativamente più lento dell'uso di mysql_fetch_row(); questo fornisce un significativo valore aggiunto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    grazie...

    Ciao, grazie. Il manuale lo avevo letto, solo che non tanto si capisce. Comunque, dall'ultima riga si evince che va bene assoc.
    Invece, un'ultima cosa, scusa se ti tartasso.
    A volte, ho una marea di righe e vorrei limitare i risultati, tipo fino a 50 e magari mettere gli altri in una seconda pagina, ecc. Sai come posso limitare mysql fetch_assoc in lettura o simile?

    Grazie mille ancora.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    SELECT * FROM TABELLA LIMIT 0,50

    cosi ti prende partendo dal record 0, 50 valori.



  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    si ma come...

    Ciao, grazie, ma come fare, poi, però, per selezionare i risultati da 50 a 100?

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    SELECT * FROM TABELLA LIMIT 50,50
    numero di partenza-----------^  ^--- num di record da selezionare
    http://dev.mysql.com/doc/refman/5.0/en/select.html

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.