Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Inserimento o lettura ordinato su file

    Salve Ragazzi....
    ho scritto un piccolo script per memorizzare delle info su file txt tramite form.
    I campi che inserisco sono i classici...e sul txt mi viene qualcosa di simile:

    nome;cognome;indirizzoUrl;numero;

    Queste info, mi vengono anche visualizzati tutte insieme nella stessa pagina...volevo chiedervi...c'è un modo per fare un inserimento ordinato( non so...x qualsiasi campo ) oppure quando li leggo di visualizzarli ordinati sempre per uno dei campi?

    Grazie mille anticipatamente!!!
    --Morpheux

  2. #2
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    Non ho capito nulla, se li vuoi semplicemente separati l'uno dall'altro, fai così:
    Codice PHP:
    $testo=fread(fopen('file.txt''r+'),filesize('file.txt'));  
    list (
    $nome,$cognome,$url,$numero) = split($testo,';','4'); 
    ora hai le quattro variabili con i quattro valori.

  3. #3
    Perfetto!!!
    e per ordinare la lista in base ad uno dei campi?
    Vorrei poter stampare con echo in ordine di cognome per esempio...

    Graaziee ankoraaaa per la risposta
    --Morpheux

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    allora, ci sono due modi, o utilizzi un espressione regolare, ma in questo ci sono persone più esperte di me, oppure lo inserisci in un database, così:
    Codice PHP:
    $conn=mysqli_connect("host","username","password","database") or die("Impossibile connettersi all'host o al database.Errore n°:" mysql_error());
    $insert="INSERT INTO tabella (Nome, Cognome, URL, Numero) VALUES ($nome$cognome$url$numero)";
    $einsert=mysql_query($insert$conn);
    //quindi li estrai di nuovo, ordinandoli per cognome
    $query="SELECT Nome, Cognome, URL, Numero FROM tabella ORDER BY Cognome";
    $equery=mysql_query($query$conn);
    $array=mysql_fetch_array($equeryMYSQL_NUM);
    //infine li stampi a video in ordine
    foreach ($array As $k => $v)
    {
    print (
    $v);


  5. #5
    Grazie x la soluzione...a purtroppo sto scrivendo su file xke nn ho database!
    Quindi devo trovare una soluzione utilizzando i file...spero qualcuno mi sappia suggerire qualke soluzione...

    Grazie ankora...
    --Morpheux

  6. #6
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    perchè non te ne prendi uno su freesql?

  7. #7
    Allora fai così:

    il file di testo lo leggi con file(), così ti viene tagliato ad ogni a capo e ti mette le singole righe in un array.

    Cicli l'array con foreach() e all'interno di ogni ciclo metti un explode().
    Explode crea a sua volta un array delle voci che compongono ogni singolo rigo.

    Una volta che hai un array di array, usi sort() per ordinarlo, oppure i metodi simili per ordinarlo secondo criteri diversi (usort, asort, nasort ecc).

    Ti do' un consiglio: evita di usare il punto e virgola come separatore dei testi passati dalla form!
    Metti che in uno degli input venga inserito proprio il punto e virgola, ti salta il tuo scirpt che splitterà male la stringa.

    Mi sembra di averti detto tutto, se hai qualche dilemma, posta pure.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.