Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    1,064

    Modificare record di array (preso da un thread).

    Per l'esattezza, questo:
    http://forum.html.it/forum/showthrea...hreadid=229522

    L'ho un attimo adattato e fino all'inserimento e ricerca non ho avuto grossi pbm.
    Perchè, però, ogni volta che tento di modificare un valore mi si cancella tutto il db?

    codice:
    $fp = fopen("rubrica.txt", "r+");
     $records = file("rubrica.txt");
     
     for($x = 0; $x < count($records); ++$x){
       list($nome, $regione, $tipo, $cat, $tratt, $serv) = explode("|", $records[$x]);
    
       if($nome== $mnome) {
    	 fputs($fp, "$nome|$mregione|$mtipo|$mcat|$mtratt|$mserv\n");
        fclose($fp);
         }}

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    $fp = fopen("rubrica.txt", "a");

    www.php.net/fopen
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    1,064
    Ecco, sapevo che era qualcosa sull'apertura del file.

    Però non me lo modifica, dov'è che sbaglio? :master:

  4. #4

  5. #5
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    1,064
    Originariamente inviato da dokk
    Nell'if($nome== $mnome) ci entra?
    Eh, il mio dubbio è quello, ma se metto lo stesso nome che c'è nel db me lo dovrebbe trovare, no?

  6. #6
    Originariamente inviato da robalzi
    Eh, il mio dubbio è quello, ma se metto lo stesso nome che c'è nel db me lo dovrebbe trovare, no?
    E bo!

    Prova così:

    if($nome== $mnome) {
    fputs($fp, " $nome|$mregione|$mtipo|$mcat|$mtratt|$ms
    erv\n");
    }
    else
    {
    echo "NOOOO";
    }

  7. #7
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    1,064
    Non lo trova.

  8. #8
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    Prima di questa riga:
    if($nome== $mnome) {

    inserisci questo:
    echo $nome,':',$mnome;

    Ti trova due nomi uguali?
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  9. #9
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    1,064
    Metto "8" come ricerca e mi vengono fuori tutti i valori immessi di quel campo.

    Prova:8Altro:8aa\'dfd\'d dfd\'d d\'f \':83:84:88:80:83:80:8

    Significa che me li unisce?

  10. #10
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    No, ero una prova di debug per vedere se lo script trovava il record che cercavi. Sembrerebbe di sì.

    Ok, prova a sostituire tutto il codice che hai postato qui con questo:
    codice:
    $records = file("rubrica.txt");
     
    $mod = false;
    for($x = 0; $x < count($records); ++$x){
       list($nome, $regione, $tipo, $cat, $tratt, $serv) = explode("|", $records[$x]);
    
       if( $nome== $mnome ){
             $records[$x] = implode('|', array($nome,$mregione,$mtipo,$mcat,$mtratt,$mserv));
             $mod = true;
             break; 
       }
    }
    if( $mod ){
        $fp = fopen("rubrica.txt", "w");
        fputs($fp, implode("\n", $records));
    }
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

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.