Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Come faccio a passare l'id del database alla variabile della cartella?

  2. #12
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    eh...hai fatto una buona scelta a prendere l'id e non il titolo,poiché dimenticavo che alcuni caratteri (tipo "è") diventano altro quando crei la cartella....
    cmq per il momento ti dò una soluzione macchinosa ,ma è l'unica che mi viene in mente

    dopo aver fatto la insert della parte testuale dell'annuncio nel db, fai una select della riga appena inserita e ti prendi l'id...poi fai la creazione della cartella....cmq ti suggerisco di rendere unico il campo "titolo" (unique) così non potranno essere inseriti annunci con lo stesso titolo...

  3. #13
    Scusate mi sono perso nella prima soluzione, quindi ho deciso di optare per le tabelle.
    Ho fatto così :
    La tabella Annunci contiene :

    ID | Marca | Modello | ...

    La tabella Immagini contiene :

    ID | ID_Annuncio | Nome | Percorso

    Premesso che uso MySql come database e che il sito verrà montato su Hosting Aruba Linux Base dove non sono supportate le tabelle InnoDb con il relativo utilizzo delle chiavi esterne.

    La cosa che vorrei capire è dove inserire il tag di input per l'upload delle immagini. Ti ricordo che ho la pagina inserisciautoveicoli.php che contiene il form di inserimento che punta alla pagina inserisciautoveicolo.php che contiene la query di inserimento. Potrei inserire più di un tag di input file per l'upload delle immagini all'interno del form della pagina inserisciautoveicoli.php ma rimane comunque limitato come numero di immagini. Ad esempio se inserisco tre input avrò al massimo tre immagini per annuncio.
    Inoltre vorrei creare un effetto del genere per le gallerie dei miei annunci:

    http://www.forteimmobiliare.com/sale...e-Affitto.aspx


    Grazie, è un pò complicato ma spero di farcela, è il mio ultimo scoglio per terminare l'applicazione.

  4. #14
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    secondo me non conviene dare la possibilità di caricare infinite foto! Insomma, per il tipo di sito potresti fissare un massimo di foto (per es 10)

  5. #15
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    pure che dai un limite di 50 foto, non bastano?

    ti allego un esempio che ho appena fatto sul caricamento di tante immagini, riproducilo giusto per capire come funziona,poi lo integri nella tua form!
    inserisci.php

    Codice PHP:
    <body>
    <form action="insert.php" method="post" enctype="multipart/form-data">

    <?php 
     
    for($i=0;$i<10;$i++){$num=$i+1;
    print
    "<label>inserisci immagine $num <input type='file' name='foto$i' id='$i'/></label>
    \n"
    ;  
    }
    ?>


    <input type="submit" lang="it" value="invio" />
    </form>
    </body>
    insert.php
    Codice PHP:
    <?php
    for($i=0;$i<10;$i++)//supponendo che siano massimo 10 i file caricabili
    {
      if(isset(
    $_FILES['foto'.$i]))
       {
        
    $num=$i+1;
        
    $file=$_FILES['foto'.$i];
        
    $nome$file['name'];
        
    $path="cartella/".$nome//ho chiamato "cartella" la directory con le immagini
        
    $vett=explode("/",$file['type']);
        
    $tipo=$vett[0]; 
           if(
    $tipo!="image"){}//non mi carico file che non sono immagini :)
            
    else
           {
            @
    move_uploaded_file($file['tmp_name'],$path) or die("errore upload, controllare percorso");
            print
    "immagine $num caricata con successo; 
    "
    ;
           }
    //fine caricamento
       
    }
    }

    ?>

    puoi farlo pure con 200 foto! basta cambiare l'indice massimo dei due cicli for...
    ci sono funzioni javascript che ti permetteranno di nascondere gli input da non utilizzare, ad esempio l'utente ne può far apparire 5 alla volta ,mmammano che li deve utilizzare (se li deve usare tutti)...poi si pensa

  6. #16
    Ciao grazie mille per la dritta. Ho fatto in questo modo :

    ************************************************** **************
    for($i=0;$i<10;$i++)//supponendo che siano massimo 10 i file caricabili
    {
    if(isset($_FILES['foto'.$i]))
    {
    $Risultato=mysql_query("SELECT id_autoveicolo FROM autoveicoli", $connessione);
    if (!$Risultato)
    {
    die ("La tabella selezionata non esiste" . mysql_error());
    }
    $riga=mysql_fetch_array($Risultato);
    $id_autoveicolo = $riga['id_autoveicolo'];
    @mkdir($id_autoveicolo);//creo la cartella che ha per nome il titolo dell'annuncio
    $num=$i+1;
    $file=$_FILES['foto'.$i];
    $nome= $file['name'];
    $path="$id_autoveicolo/".$nome; //ho chiamato "cartella" la directory con le immagini
    $vett=explode("/",$file['type']);
    $tipo=$vett[0];
    if($tipo!="image"){}//non mi carico file che non sono immagini [img]images/smilies/smile.gif[/img]
    else
    {
    @move_uploaded_file($file['tmp_name'],$path) or die("errore upload, controllare percorso");
    print"immagine $num caricata con successo;
    ";
    }//fine caricamento
    }
    }

  7. #17
    Comunque si bastano anche solo 10 foto.
    Ho ancora qualche cosa da chiederti. Grazie anticipatamente.

    @mkdir($id_autoveicolo);
    Con questo comando creo la cartella con il nome dell'ID ma come faccio a prendere l'ID se l'annuncio ancora non esiste? Quindi con queste righe di codice mi prende il primo ID e mi crea la cartella con il numero del primo ID della prima riga.
    Dovrei inserire gli input per le immagini in un secondo momento? Nel senso prima inserisco l'annuncio testuale e poi in un secondo momento prelevo l'ID e creo la cartella?

    Grazie per il prezioso aiuto.

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