Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 49

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    52

    piccolo aiutino file csv

    salve a tutto il forum.
    ho un piccolo problemino con un file csv
    in pratica dovrei aprire sto file e va alla grande, tuttavia dovrei visualizzare su una pagina solo le righe che mi interessano.
    Posto il codice così forse è più chiaro:

    <?php


    $file = "../dbcsv/mieicd.csv";
    $splitter = ";";
    $cerco="prova";
    $stampo = "<table border='1px' color='black'>";
    if (($fp = fopen($file, "r")) !== false)
    {


    while (($dati = fgetcsv($fp, 1000, $splitter)) !== false)
    {
    $stampo .= "<tr>";
    foreach( $dati as $elem ) $stampo .= "<td>".$elem."</td>";

    $stampo .= "</tr>";
    if ($dati[1] == $cerco) {
    echo $stampo;
    $stampo="";
    }


    }
    fclose($fp);
    }

    il problema è che mi bypassa il blocco if e me li stampa tutti. come posso fare?
    il db è cosi strutturato

    1;prova;60 min;triller; ecc
    2;bianco e nero,90min;ecc
    .
    .
    .
    $dati[1] sono sicuro che contiene la variabile che cerco.
    ma mi stampa ugualmente tutte le righe.
    come posso fare???

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova a sostituire $dati[1] con $elem[1]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    52
    fatto ma non funziona lo stesso
    comunque facendo un echo $dati[1] vedo che ho l'info che mi serve
    e se faccio la stampa di $dati[1] il blocco if funziona, ossia mi stampa solo le ricorrenze in cui trova $cerco.
    Ultima modifica di emilio79; 24-11-2013 a 12:50

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se mostri a schermo le due variabili $dati[1] e $cerco sono esattamente uguali? Uno spazio o un "a capo" di troppo può generare differenza
    Prova a fare
    Codice PHP:
    if (trim($dati[1]) == $cerco

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    52
    ciao boots e grazie.
    con quello che mi hai dato tu mi stampa solo l'ultima colonne dalla mia riga

    risolto.
    ho agiunto il punto di concatenamento
    grazie
    Ultima modifica di emilio79; 24-11-2013 a 13:02

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    un problema che potresti avere è che a $stampo continui a concatenare TUTTI i record. Quando incontri $cerco, di conseguenza, stampi anche i precendenti.
    ma fare così no? :
    Codice PHP:
    while (($dati fgetcsv($fp1000$splitter)) !== false){
       if (
    $dati[1] == $cerco) {
          foreach( 
    $dati as $elem $stampo "<td>".$elem."</td>";
          echo  
    '<tr>'.$stampo.'</tr>';
      }


  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    52
    niente non funziona manco con trim

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    ops...scusa
    Codice PHP:
    while (($dati fgetcsv($fp1000$splitter)) !== false){
       if (
    $dati[1] == $cerco) {
          
    $stampo "";
          foreach( 
    $dati as $elem $stampo .= "<td>".$elem."</td>";
          echo  
    '<tr>'.$stampo.'</tr>';
      }


  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    52
    altro piccolissimo problema:
    if (($fp = fopen($file, "r")) !== false)
    {
    while (($dati = fgetcsv($fp, 1000, $splitter)) !== false)
    {
    if ($dati[0] == $cerco)
    {
    foreach( $dati as $elem ) $stampo .= "<td class= auto-style1 align='center' width='85px' height='15px'>".$elem."</td>";
    echo '<tr>'.$stampo.'<td class= auto-style1 align=\'center\' width=\'40px\'><a href=\'popup.php?tipo=$dati[0]&pers=$dati[1]&classe=$dati[2]\'>info</a></tr>';
    $stampo="";
    }
    }
    fclose($fp);
    non mi funzionano gli indici nel link Info, ossia non mi prende i tre campi dell'array

  10. #10
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Primo, verifica che le varibili $dati, siano corrette.
    poi usa urlencode() per ogni campo (tipo=urlencode($dati[0])&pers=urlencode($dati[1])&... ). usa urldecode nella pagina popup.php.
    In alternativa, poi passare l'intero array come singola variabile con http_build_query
    http://php.net/manual/en/function.http-build-query.php
    Nella pagina popup, per riavere l'array puoi usare parse_str() http://www.php.net/manual/en/function.parse-str.php .

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.