Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266

    Printare numeri da form in ordine crescente

    Buonasera a tutti!

    Da un form inserisco dei numeri e li prendo tramite post, dopo di che li stampo con echo.
    Ovviamente i numeri sono messi in come da form, ad esempio se nel primo campo metto il 22 e nel secondo il 3, spunta prima il 22 poi il 3, come faccio a ordinarli dal più piccolo al più grande una volta stampati?

  2. #2
    Potresti dare a tutti gli input text lo stesso nome, esempio: numeri[] (ricorda le parentesi), poi li richiami con $_POST dal quale crei un' array che ordini poi con sort(), dovrebbe venire una cosa del genere:

    Codice PHP:
     <?php

    $numeri 
    sort($_POST['numeri']);
    echo 
    implode(', '$numeri);

    ?>
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266
    mi da errore:
    Warning: implode() [function.implode]: Invalid arguments passed in /web/htdocs/www.newmarketinglab.it/home/Marcello/giocata.php on line 6

    la riga 6 echo implode(', ', $numeri);

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266
    L'errore può essere l'implode?

  5. #5
    l'errore deriva dal fatto che l'argomento di implode deve essere un array ed evidentemente non lo è.

    Cmq il principio è corretto: metti tutti i numeri in un array, li ornini, li stampi.

    Molto sbrigativamente:
    Codice PHP:
    <?php
    $array_con_numeri 
    array_filter($_POST"is_numeric");
    sort($array_con_numeri);
    echo 
    implode(',',$array_con_numeri);
    ?>
    ...ma si dovrebbe meglio controllare i dati provenienti in $_POST...
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266
    ancora errore


    Warning: array_filter() [function.array-filter]: The second argument, 'numeri', should be a valid callback in /web/htdocs/www.newmarketinglab.it/home/Marcello/giocata.php on line 2

    Warning: sort() expects parameter 1 to be array, null given in /web/htdocs/www.newmarketinglab.it/home/Marcello/giocata.php on line 3


    Warning: implode() [function.implode]: Invalid arguments passed in /web/htdocs/www.newmarketinglab.it/home/Marcello/giocata.php on line 7

  7. #7
    Originariamente inviato da k4osz
    Warning: array_filter() [function.array-filter]: The second argument, 'numeri'
    Prova a modificare così:
    Codice PHP:
    <?php 
    $array_con_numeri 
    array_filter($_POST"ctype_digit"); 
    sort($array_con_numeri); 
    echo 
    implode(',',$array_con_numeri); 
    ?>
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    266
    Risolto:
    Codice PHP:
    $array_con_numeri array_filter($_POST['numeri']);
    sort($array_con_numeri);
    echo 
    implode(', ',$array_con_numeri)."\n
    "


  9. #9
    Codice PHP:
    $array_con_numeri array_filter($_POST['numeri']); 
    Messo così il filter è inutile, lascia solo

    Codice PHP:
    $array_con_numeri $_POST['numeri']; 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.