Visualizzazione risultati 1 fino 13 di 13

Discussione: [risolto] [PHP/MySql] Elenco numerato dei dati forniti dalla query

  1. #1
    Guest

    Question [risolto] [PHP/MySql] Elenco numerato dei dati forniti dalla query

    Come dovrei fare se volessi che dalla query che richiama i dati dal database, ne uscisse fuori un "elenco numerato" che mi dice quanti sono i risultati della ricerca?

    Mi spiego, se voglio - per dire - richiamare i dati in "username" nella tabella "user"... faccio:

    Codice PHP:
    <?PHP
    $sqlonline
    = "SELECT USERS.USERNAME FROM USERS
    WHERE 1 AND USERNAME LIKE 'A' ORDER BY USERNAME ASC"
    ;
    $conteggio = mysql_query($sqlonline,$connessione) or die(mysql_error());
    ?>
    Cosi facendo però mi esce fuori "solo" la lista degli username che cominciano per A, ma non so esattamente quanti siano i risultati (a meno che non mi metta a contarli ), se invece volessi che uscisse:

    1. Aaa
    2. Aab
    3. Aac

    Quindi in ordine, ma che siano anche "numerati".. com'agg' a fa?

    Grazie!
    Ciaoooooo!

  2. #2
    Guest

    Predefinito

    Per sapere solo il totale dei record trovati usi mysql_num_rows($conteggio).
    Nella tua situazione per avere il numero potresti fare una cosa semplice:

    $num=1;
    while($array=mysql_fetch_assoc($conteggio)){
    echo $num.". ".$array['username']."<br>\n";
    $num++;
    }

    PS: la query che hai postato penso che sia solo un esempio, perchè come l'hai scritta ti restituisce solo i recordo 'a' e 'A', e non quelli che iniziano per 'a'


    Ciaooo!!!!!

  3. #3
    Guest

    Question

    Citazione Originalmente inviato da debug
    Per sapere solo il totale dei record trovati usi mysql_num_rows($conteggio).
    Nella tua situazione per avere il numero potresti fare una cosa semplice:

    $num=1;
    while($array=mysql_fetch_assoc($conteggio)){
    echo $num.". ".$array['username']."<br>\n";
    $num++;
    }

    PS: la query che hai postato penso che sia solo un esempio, perchè come l'hai scritta ti restituisce solo i recordo 'a' e 'A', e non quelli che iniziano per 'a'


    Ciaooo!!!!!
    Si, era un esempio (ed in effetti ho sbagliato ), ma l'ho scritto sul momento...


    Ho provato come consigliato, ma non riesco ad adattarlo al mio caso.
    Utilizzandolo così com'è viene proprio fuori "a lista" (ed è sicuro che ho spiegato male io), del tipo:
    1. user1
    2. user2 ... etc...

    Il "problema" è che mi son spiegato male, e praticamente la lista va "integrata" ad altre query.


    Per intenderci la mia query genera una tabella da 4 colonne (userò [ ] per delimitare le tabelle e farmi capire), che viene cosi composta:

    [ <?=$USERNAME?> ] [ <?=$IMG1?> ] [ <?=$IMG2?> ] [ <?=$NOMESQUADRA?> ]

    Mi servirebbe, in pratica, fare in modo di aggiungere una quinta colonna, la prima a sinistra, che mi segnali il numero di utente...


    Ciaoooo!

  4. #4
    Guest

    Predefinito

    mmm più che tabelle quelle sembrerebbero delle cella facenti parte di una tabella ;)

    Cmq, dato il tuo esempio, ecco la soluzione:

    [ <?=$num?> ] [ <?=$USERNAME?> ] [ <?=$IMG1?> ] [ <?=$IMG2?> ] [ <?=$NOMESQUADRA?> ]

    ;)
    Però non ho capito dove hai trovato difficoltà a integrare ciò che avevo scritto io prima... forse non ho capito cosa intendi? Fammi sapere.


    Ciaooo!!!!!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    mmm più che tabelle quelle sembrerebbero delle cella facenti parte di una tabella ;)

    Cmq, dato il tuo esempio, ecco la soluzione:

    [ <?=$num?> ] [ <?=$USERNAME?> ] [ <?=$IMG1?> ] [ <?=$IMG2?> ] [ <?=$NOMESQUADRA?> ]

    ;)
    Però non ho capito dove hai trovato difficoltà a integrare ciò che avevo scritto io prima... forse non ho capito cosa intendi? Fammi sapere.


    Ciaooo!!!!!
    Il codice in quel modo (come nel tuo primo post) inserito così com'era nella pagina php, mi dava come risutato la lista prima, con ultimo valore (solo l'ultimo) come mi serviva...

    praticamente cosi:

    1. a
    2. b
    3. c
    4. d
    5 [ <?=$USERNAME?> ] [ <?=$IMG1?> ] [ <?=$IMG2?> ] [ <?=$NOMESQUADRA?> ]

    Curiosità: l'ultimo campo, quello "buono"... era poi quello che sarebbe dovuto essere il primo


    Mo provo in questo modo! grazie!

  6. #6
    Guest

    Predefinito

    Teoricamente riuscito, però mi si presenta un problema strano... non mi considera un utente (il primo della lista viene rimosso), quindi nel mio caso... invece di 51 risultati ne escono solo 50. O_o"

  7. #7
    Guest

    Predefinito

    Spiegati meglio, magari con un esempio.

    PS: usa il tasto edita anzichè postare consecutivamente ;)


    Ciaooo!!!!

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    Spiegati meglio, magari con un esempio.

    PS: usa il tasto edita anzichè postare consecutivamente ;)


    Ciaooo!!!!
    Si, scusa :D spiego subito:
    Mettiamo che la lista utenti sia composta da 5 risultati: A, B, C, D ed E.
    Avendo impostato "order by username" di conseguenza dovrebbero uscire proprio in ordine A, B, C, D ed E.

    Però invece di uscire:
    1. A
    2. B
    3. C
    4. D
    5. E

    insolitamente salta il primo campo di scelta, quindi su 5 utenti ne carica solo 4, ed esce:

    1. B
    2. C
    3. D
    4. E

    ed è come se A non ci fosse, non viene conteggiato e non risulta neanche più nella lista.
    Ultima modifica di webscudetto : 13-03-2006 alle ore 00.57.40

  9. #9
    Guest

    Predefinito

    Puoi postare lo script?


    Ciaoo!!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    Puoi postare lo script?


    Ciaoo!!
    Certo!

    Codice PHP:
    <?
    session_start
    ();
    include (
    "../config.inc.php");

    ?>
    <link rel="stylesheet" href="../stile.css" type="text/css">
    <title>Risultati della ricerca</title>
    <script language="JavaScript">
    function apri(theURL,winName,features) {
    window.open(theURL,winName,features);
    }
    </script>
    <body bgcolor="#000000" text="#000000" alink="#000000" link="#000000" vlink="#000000" leftmargin="0"

    topmargin="0" marginwidth="0" marginheight="0">
    <?PHP
    $CRITERIO
    =$_POST['CRITERIO'];
    ?><div align="center">
    <table width=60% border=0 cellspacing=0 cellpadding=0>
    <tr><td class="table1">
    <table width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td class="header" height=20><font class="RedB">Nome</font></td>
    <td class="header" height=20><font class="RedB">&nbsp;</font></td>
    <td class="header" height=20><font class="RedB">&nbsp;</font></td>
    <td class="header" height=20><font class="Redb">Squadra</font></td>
    </tr>
    <tr>
    <td colspan=4>
    <?PHP


    $sqlonline
    = "SELECT

    USERS.USERNAME,USERS.SIMBOLOTEAM,USERS.NOMESQUADRA,USERS.URLSESSO FROM USERS WHERE 1 AND USERNAME LIKE '%' ORDER BY USERNAME ASC"
    ;
    $conteggio = mysql_query($sqlonline,$connessione) or die(mysql_error());

    $CONTA = 0;

    while(
    $ROW3 = mysql_fetch_array($conteggio))
    {
    $USERNAME=$ROW3["USERNAME"];
    $SIMBOLOTEAM=$ROW3["SIMBOLOTEAM"];
    $NOMESQUADRA=$ROW3["NOMESQUADRA"];
    $URLSESSO=$ROW3["URLSESSO"];

    $num=1;
    while(
    $array=mysql_fetch_assoc($conteggio)){
    echo
    $num.". ".$array['USERNAME']." <img src='../img/".$array['URLSESSO']."'> <img src='../img/team/".$array['SIMBOLOTEAM']."'> ".$array['NOMESQUADRA']."<br>\n";
    $num++;
    }
    ?>

    <?
    }
    @
    mysql_close ($connessione);
    ?>
    </table></td>
    </tr>

    </table>

    </body>

    Dov'è l'errore?

  11. #11
    Guest

    Predefinito

    Ehm... ma quanti cicli fai? :D

    Faccio prima a riscriverti il tutto corretto:
    Codice PHP:
    <?PHP
    $sqlonline
    = "SELECT USERNAME, SIMBOLOTEAM, NOMESQUADRA, URLSESSO FROM USERS WHERE 1 ORDER BY USERNAME ASC";
    $conteggio = mysql_query($sqlonline,$connessione) or die(mysql_error());
    while(
    $ROW3 = mysql_fetch_array($conteggio))
    {
    $USERNAME=$ROW3["USERNAME"];
    $SIMBOLOTEAM=$ROW3["SIMBOLOTEAM"];
    $NOMESQUADRA=$ROW3["NOMESQUADRA"];
    $URLSESSO=$ROW3["URLSESSO"];

    $num=1;
    echo
    $num.". ".$USERNAME." <img src='../img/".$URLSESSO."'> <img src='../img/team/".$SIMBOLOTEAM."'> ".$NOMESQUADRA."<br>\n";
    $num++;
    }
    ?>
    PS: ti ho modificato anche la query.


    Ciaoo!!

  12. #12
    Guest

    Predefinito

    Codice PHP:
    <?PHP
    $sqlonline
    = "SELECT USERNAME, SIMBOLOTEAM, NOMESQUADRA, URLSESSO FROM USERS WHERE 1 ORDER BY USERNAME ASC";
    $conteggio = mysql_query($sqlonline,$connessione) or die(mysql_error());
    $num = 1;
    while(
    $ROW3 = mysql_fetch_array($conteggio))
    {
    $USERNAME=$ROW3["USERNAME"];
    $SIMBOLOTEAM=$ROW3["SIMBOLOTEAM"];
    $NOMESQUADRA=$ROW3["NOMESQUADRA"];
    $URLSESSO=$ROW3["URLSESSO"];

    echo
    $num.". ".$USERNAME." <img src='../img/".$URLSESSO."'> <img src='../img/team/".$SIMBOLOTEAM."'> ".$NOMESQUADRA."<br>\n";
    $num++;
    }
    ?>
    ho rimodificato lo script e ho messo $num = 1; prima dell'inizio del ciclo

  13. #13
    Guest

    Predefinito

    Risolto ed ora va tutto perfettamente! Grazie!
    Ciaooooo :P

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •