Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Undefined offset

  1. #1

    Undefined offset

    Buon giorno, ho questo problema.
    Nel campo linkImg inserisco i nomi 1 o più file separati da una virgola, in questo caso sono solo due.
    Es: File1.pdf,File2.pdf

    Ora attraverso lo script che posto vorrei estrapolare i nomi dei file e comporre un link html per richiamare gli stessi.
    Ma facendo come di seguito mi da l'errore: Undefined offset

    Codice PHP:
    $sql mysql_query ($sql);
    $files '';

    while (
    $Ri = @mysql_fetch_assoc($sql)){
    $files =  explode(",",$Ri['linkImg']);
    //print_r($files);
        
    for ($i 0$i <= count($files); $i++) {
            
    //echo $i;
            
    $PrimoPiano.= "<a href=\"".$base_dir."News/".$files[$i]."\" onclick=\"window.open(this.href);return false;\" title=\"".$files[$i]."\">";    
            
    $PrimoPiano.= "<img src=\"icone/pdfN.png\" style='width:27px; height:28px;' alt=''/>";
            
    $PrimoPiano.= "</a>";
        }

    Come mai mi ritorna questo errore?
    Grazie mille in anticipo

  2. #2
    non solo mi restituisce errore, ma non capisco il perchè invece di visualizzare solo due file me ne restituisce 4 in quest' ordine:
    - File1.pdf
    - File2.pdf
    -
    - File1.pdf,File2.pdf

    mmaaaa......aiutooooooo

  3. #3
    risotto....
    Codice PHP:
    while ($Ri = @mysql_fetch_assoc($sql)){
        
    $files =  explode(",",trim($Ri['linkImg']));
    }
    echo 
    count($files);
    for (
    $i 0$i <= count($files); $i++) {
        
    $PrimoPiano.= "<a href=\"".$base_dir."News/".@$files[$i]."\" onclick=\"window.open(this.href);return false;\" title=\"".@$files[$i]."\">";    
        
    $PrimoPiano.= "        <img src=\"icone/pdfN.png\" style='width:27px; height:28px;' alt=''/>".@$files[$i];//immagine della news
        
    $PrimoPiano.= "</a>";

    ho provato anche ad includere il ciclo for all'interno del while e funziona ugualmente.
    Secondo voi qual'è il metodo migliore?
    Grazie ancora

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    $files[] = ...
    non
    $files = ...
    altrimenti $files non lo usi come array, ma sovrascrivi ogni volta il suo valore all'interno del ciclo while e alla fine ci rimane dentro solo il contenuto dell'ultima iterazione.

  5. #5
    .....fermi tutti questa è una rapina...non mi funziona, mi restituisce 3 file i primi 2 giusti ma il 3° è una stringa vuota...
    facendo in questo modo (count($files)-1) risolvo ma non so se è il metodo giusto:
    Codice PHP:
    while ($Ri = @mysql_fetch_assoc($sql)){
        
    $files =  explode(",",trim($Ri['linkImg']));
            for (
    $i 0$i <= (count($files)-1); $i++) {
                 echo 
    "blah blah blah";
            }


    come dici te, non so come muovermi, se puoi per favore essere più esplicito...
    Codice PHP:
    $files[] =  explode(",",trim($Ri['linkImg'])); 
    facendo il conteggio:
    Codice PHP:
    echo count($files[]); 
    mi restituisce ovviamente l'errore: Cannot use [] for reading

    ancora grazie

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.