Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema con database testuale e sue lettura !!

    Ciao a tutti
    mi trovo in difficolta' nel risolvere questo "stupido" problema !
    Vi spiego
    Sto cercando di realizzare con le mie scarsissime basi di php un codice in cui:

    1) da un form inserisco un numero e lo invio ad una seconda pagina

    2) in questa pagina leggo il numero inviato tramite form e lo confronto con il numero generato a caso da una array random (nel codice ho messo solo 3 numer per semplicita') . Se il valore inviato dal form e quello generato dalla array random corrispondono allora stampo a video -Hai Vinto- altrimenti -Ritenta-

    fino a questo punto tutto OK! funziona.

    3) Vorrei far leggere da un database testuale dove io ho inserito un certo numero di valori questi e confrontarli con il numero inserito nel form. Se corrispondono allora stampo a video -Numero gia' inserito!!.

    Al punto 3 non riesco a risolvere, vi metto il codice.
    Se qualcuno mi potesse aiutare a risolvere

    Grazie in anticipo a tutti


    Codice PHP:



    $nome1
    =$_POST['nome'];// Creo un array per l estrazione dei numeri $estrazione = array("1", "2", "3");
    // Utilizzo la funzione array_rand per estrarre a caso uno degli elementi della array$n = array_rand($estrazione, 1);
    // Stampo a video il risultato...echo "Il Numero estratto e' ...<br />Il <b>" . $estrazione[$n] . "</b>";if ($estrazione[$n] == $nome1) echo "Hai VINTOOO!!"; 
    else echo "ritenta" ;
     
    // leggo nel file testo archivio dove ci sono i numeri gia uscitiforeach(file("prodotticonfronto.txt") as $riga){$p=explode("|",$riga);$nome=$p['0'];$testo=$p['1'];
    if ($testo== $nome1) echo "Numero gia Uscito!!"; echo "<br /><br />Numeri gia inseriti : ".$nome."<br />Testo: ".$testo;} 

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,001
    Riformatta il codice, perché così non si capisce niente.
    Prima di inviare un messaggio, visualizza l'anteprima.

  3. #3
    Codice PHP:
    <?phpinclude('settingconfronto.php');
    if(isset(
    $_POST['scrivi']))
    $a=($_POST['nome']);
    $array1 file($my_database1_txt);

    foreach(
    $array1 as $key => $x){   

    if (
    $array1 == $a) echo "NUMERO GIA ESTRATTO!!"
        
    list(
    $nome1) = explode("|"$x);


     echo 
    ' Numeri Attuale  : '.$nome1.'<br />   Numero Inserito : ' .$a' <hr />';

    if (
    $nome1 == $a) echo "NUMERO GIA ESTRATTO!!"
    }




    ?>

  4. #4
    Codice PHP:
    <?php
    $nome1
    =$_POST['nome'];

    // Creo un array per l estrazione dei numeri

     
    $estrazione = array("1""2""3");

    // Utilizzo la funzione array_rand per estrarre a caso uno degli elementi della array

    $n array_rand($estrazione1);

    // Stampo a video il risultato...

    echo "Il Numero estratto e' ...<br />Il <b>" $estrazione[$n] . "</b>";

    if (
    $estrazione[$n] == $nome1) echo "Hai VINTOOO!!"

    else echo 
    "ritenta" ;

     
    // leggo nel file testo archivio dove ci sono i numeri gia usciti

    foreach(file("prodotticonfronto.txt") as $riga){
    $p=explode("|",$riga);
    $nome=$p['0'];
    $testo=$p['1'];

    if (
    $testo== $nome1) echo "Numero gia Uscito!!";

     echo 
    "<br /><br />Numeri gia inseriti : ".$nome."<br />Testo: ".$testo;}  
    ?>

  5. #5
    scusate la confusione !
    prendete come riferimento il secondo codice.(quello piu lungo)

    grazie

  6. #6
    Il problema probabilmente sta nel fatto che quando fai l'explode ti tiri dietro anche i new line presenti nel file ( \n )
    Prova ad utilizzare la funzione trim()

    Codice PHP:
    ...
    $testo trim($p['1']);
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Il problema probabilmente sta nel fatto che quando fai l'explode ti tiri dietro anche i new line presenti nel file ( \n )
    Prova ad utilizzare la funzione trim()

    Codice PHP:
    ...
    $testo trim($p['1']);
    ... 
    ciao
    Se ho ben capito va usata la funzione trim per eliminare spazi vuoti nella stringa $testo. Ho provato ma nessun risultato!
    Potrei eliminare la funzione explode visto che il mio file testo e' semplicemente una lista di numeri uno sotto l'altro ?

    ciao

  8. #8
    Codice PHP:

    <?php
    $nome1
    =$_POST['nome'];

    // Creo un array per l estrazione dei numeri

     
    $estrazione = array("1""2""3");

    // Utilizzo la funzione array_rand per estrarre a caso uno degli elementi della array

    $n array_rand($estrazione1);

    // Stampo a video il risultato...

    echo "Il Numero estratto e' ...<br />Il <b>" $estrazione[$n] . "</b>";

    if (
    $estrazione[$n] == $nome1) echo "Hai VINTOOO!!"

    else echo 
    "ritenta" ;

     
    // leggo nel file testo archivio dove ci sono i numeri gia usciti

    foreach(file("prodotticonfronto.txt") as $riga)

    {
    $p=explode("|",$riga);

    $testo=trim($p['0']);

    $nome=trim($p['1']);

    if (
    $testo== $nome1) echo "Numero gia Uscito!!";

     echo 
    "<br /><br />Numeri gia inseriti : ".$nome."<br />Testo: ".$testo;}  
    ?>

  9. #9
    Sistemando il codice come sopra ora se inserisco ad esempio il numero 3 (che e' un numero presente nel database testuale dove ci sono i numeri gia usciti) esce la risposta -Numero gia uscito!_ ma il messaggio mi appare due valori prima. esempio nel database ci sono
    1 3 5 7 9 come numeri gia usciti , se inserisco nel form il numero ad esempio 7, il messaggio di Numero gia uscito appare sul numero 5.
    Ho stampato a video i risultati e appaiono in colonna con al primo rigo l'estraione e di seguito l'elenco dei numeri gia usciti (quelli che vado a leggere del database) , e' in questa colonna che appare il messaggio "sfasato"!!

    dove sbaglio?!!
    grazie

  10. #10
    Tutto risolto
    grazie per la dritta della funzione Trim!

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