Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    problemi con mysql_insert_id();

    Ciao a tutti,
    ho fatto uno script che mi deve caricare l'annuncio nella tabella annunci ( tutto ok ) poi ho creato una tabella images che si lega alla tabella annuncio con un campo imagesid:

    ora vorrei che postando la foto mi vada ad inserire l'id della foto (tabella images) nel campo imagesid cosi da legarlo all'annuncio del post tramite mysql_insert_id(), ma prova e riprova non riesco a capire cosa sbaglio, tutto funziona perfettamente ma non mi prende l'id .

    Vi posto il codice se qualcuno puo' gurdarlo grazie mille.

    Pagina dove inserisco l'annuncio e una volta dato il messaggio di inserimento corretto mi presenta il form per il caricamento della foto.

    Codice PHP:
    <?php echo $_SESSION['user_name'];?>








         


    <?php echo $_SESSION['user_id'];  

    require (
    "db_connect.php");   


    if (isset(
    $_POST['descrizione'])):   
      
    // x un nuovo annuncio usa il form  
        

     
    $user_id $_POST['user_id'];  

      
    $aid $_POST['aid'];  
      
    $cid $_POST['cid'];  
      
    $did $_POST['did'];  
       
    $eid $_POST['eid'];  
        
    $fid $_POST['fid'];  
        
    $gid $_POST['gid'];  
      
    $descrizione $_POST['descrizione'];  
      
    $mq $_POST['mq'];  
      
    $locali $_POST['locali'];  
      
    $prezzo $_POST['prezzo'];  
      
    $tipologia $_POST['tipologia'];  
      
    $altro $_POST['altro'];  
      
    $cats $_POST['cats'];  
      
    $nome_file_temporaneo $_FILES['file_inviato']['tmp_name'];  
        
    $nome_file_vero $_FILES['file_inviato']['name'];  
        
    $tipo_file $_FILES['file_inviato']['type']; 
        
      
    $imagesid=mysql_insert_id();
        
       

      if (
    $aid == '') {  
        exit(
    '

    Scegli la provincia x l annuncio. Click "Back" and try again.</p>'
    );  
      }  

      
    $sql "INSERT INTO annunci SET  
          descrizione='
    $descrizione',  
          mq='
    $mq',  
          locali='
    $locali',  
          prezzo='
    $prezzo',  
          tipologia='
    $tipologia',  
          altro='
    $altro',  
          annunciodate=CURDATE(),  
          provinciaid='
    $aid',  
          cittaid='
    $cid',  
          regioneid='
    $did',  
          clienteid='
    $eid',  
           tipoid='
    $fid',  
           condizioniid='
    $gid',  
           nome_file = '
    $nome_file_vero',   
                    tipo_file = '
    $tipo_file',   
                    dati_file = '
    $dati_file',  
         id='
    $imagesid', 
          user_id="
    .$_SESSION['user_id']."";
      if (@
    mysql_query($sql)) {
        echo 
    '

    </p>'
    ;
      } else {
        exit(
    '

    Errore aggiunta nuovo annuncio: ' 
    mysql_error() . '</p>');
      }

      
    $jid mysql_insert_id();

      if (isset(
    $_POST['cats'])) {
        
    $cats $_POST['cats'];
      } else {
        
    $cats = array();
      }

      
    $numCats 0;
      foreach (
    $cats as $catID) {
        
    $sql "INSERT IGNORE INTO cittaprovinciauser
                SET annunciid=
    $jid, cittaid=$catID, regioneid=$catID,  clienteid=$catID, tipoid=catID, condizioniid=catID, imagesid=catID ";
        
    $ok = @mysql_query($sql);
        if (
    $ok) {
          
    $numCats $numCats 1;
        } else {
          echo 
    "

    Errore inserimento annuncio 
    $catID: " .
              
    mysql_error() . '</p>';
        }
      }
    ?>



    Annuncio salvato correttamente <?php echo $Cats?> categories.</p>

    //ADESSO CHE HO SALVATO L'ANNUNCIO PROVVEDO AL CARICAMENTO DELL'IMMAGINE

    <h2>Image upload</h2>



    Maximum file size 200 kB. Formats: PNG, JPEG and GIF.</p>

    <table>
    <form method="post" action="images.php" enctype="multipart/form-data">
      <input type="hidden" value="204800" name="MAX_FILE_SIZE" />
       <input type="hidden" name="imagesid" value="<?php echo $imagesid;?>" />
      <tr><td>Description (optional):</td>
           <td><input name="descr" type="text" /></td></tr>
      <tr><td>Image file:</td>
           <td><input name="imgfile" type="file" /></td></tr>
      <tr><td></td>
           <td><input type="submit" value="OK" name="submitbtn" /></td></tr>
    </form>
    </table>



    [url="<?php echo $_SERVER['PHP_SELF']; ?>"][/url]</p>


    [url="submit.php"][img]immagini/continua.gif[/img][/url]</p>

    <?php
    else: // inserimento provincia e citta'

      
    $authors = @mysql_query('SELECT id, name FROM provincia');
      if (!
    $authors) {
        exit(
    '

    errore inserimento provincia.</p>'
    );
      }

      
    $cats = @mysql_query('SELECT id, citta FROM citta');
      if (!
    $cats) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $regiones = @mysql_query('SELECT id, regione FROM regione');
      if (!
    $regiones) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $clientes = @mysql_query('SELECT id, cliente FROM cliente');
      if (!
    $clientes) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $tipos = @mysql_query('SELECT id, tipo FROM tipo');
      if (!
    $tipos) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $condizionis = @mysql_query('SELECT id, condizioni FROM condizioni');
      if (!
    $condizionis) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }

    ?>



    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  method="post" enctype="multipart/form-data"> 


    Inserisci annuncio



    descrizione

    <textarea name="descrizione" rows="5" cols="45">
    </textarea></p>
    mq:

    <textarea name="mq" rows="5" cols="45">
    </textarea></p>
    locali:

    <textarea name="locali" rows="5" cols="45">
    </textarea></p>
    prezzo:

    <textarea name="prezzo" rows="5" cols="45">
    </textarea></p>
    tipologia:

    <textarea name="tipologia" rows="5" cols="45">
    </textarea></p>
    altro:

    <textarea name="altro" rows="5" cols="45">
    </textarea></p>
    </p>

    <input type="hidden" name="imagesid" value="<?php echo $imagesid;?>" />      



    Condizioni Immobile:

    <select name="gid" size="1">
      <option selected value="">Condizioni Immobile:</option>
      <option value="">---------</option>
    <?php
       
    while ($condizioni mysql_fetch_array($condizionis)) {
        
    $gid $condizioni['id'];
        
    $gcondizioni htmlspecialchars($condizioni['condizioni']);
        echo 
    "<option value='$gid'>$gcondizioni</option>\n";
      }
    ?>
    </select></p>


    Regione:

    <select name="did" size="1">
      <option selected value="">Seleziona Regione</option>
      <option value="">---------</option>
    <?php
       
    while ($regione mysql_fetch_array($regiones)) {
        
    $did $regione['id'];
        
    $dregione htmlspecialchars($regione['regione']);
        echo 
    "<option value='$did'>$dregione</option>\n";
      }
    ?>
    </select></p>




    Provincia:

    <select name="aid" size="1">
      <option selected value="">Seleziona Provincia</option>
      <option value="">---------</option>
    <?php
      
    while ($author mysql_fetch_array($authors)) {
        
    $aid $author['id'];
        
    $aname htmlspecialchars($author['name']);
        echo 
    "<option value='$aid'>$aname</option>\n";
      }
    ?>
    </select></p>


    Comune:

    <select name="cid" size="1">
      <option selected value="">Seleziona Citta</option>
      <option value="">---------</option>
    <?php
       
    while ($cat mysql_fetch_array($cats)) {
        
    $cid $cat['id'];
        
    $cname htmlspecialchars($cat['citta']);
        echo 
    "<option value='$cid'>$cname</option>\n";
      }
    ?>
    </select></p>




    Tipo Cliente:

    <select name="eid" size="1">
      <option selected value="">Seleziona tipo cliente</option>
      <option value="">---------</option>
    <?php
       
    while ($cliente mysql_fetch_array($clientes)) {
        
    $eid $cliente['id'];
        
    $ecliente htmlspecialchars($cliente['cliente']);
        echo 
    "<option value='$eid'>$ecliente</option>\n";
      }
      
    ?>
    </select></p>






    Canale Annuncio:

    <select name="fid" size="1">
      <option selected value="">Seleziona tipo annuncio</option>
      <option value="">---------</option>
    <?php
       
    while ($tipo mysql_fetch_array($tipos)) {
        
    $fid $tipo['id'];
        
    $ftipo htmlspecialchars($tipo['tipo']);
        echo 
    "<option value='$fid'>$ftipo</option>\n";
      }
      
    ?>
    </select></p>






    <input type="image" src="immagini/salva.gif"  value='salva'>
    </form>

    <?php endif; ?>
    Images.php

    Codice PHP:
    <?php   // images/images.php

    include("connect.php");
    $mysqli connect_to_picdb();

    // part 1: save uploaded images
    $submitbtn array_item($_POST,  'submitbtn');
    $descr =     array_item($_POST,  'descr');
    $imgfile =   array_item($_FILES'imgfile');

    // is there form data to process?
    if($submitbtn == 'OK' and is_array($imgfile)) {
      
    $name    $imgfile['name'];
      
    $type    $imgfile['type'];
      
    $size    $imgfile['size'];
      
    $uperr   array_item($imgfile'error');
      
    $tmpfile $imgfile['tmp_name'];
      
    $imagesid=$_POST['imagesid'];
      if(!
    $descr$descr $name;
      switch (
    $type) {
      case 
    "image/gif":
        
    $mime "GIF Image";  break;
      case 
    "image/jpeg":
      case 
    "image/pjpeg":
        
    $mime "JPEG Image"; break;
      case 
    "image/png":
      case 
    "image/x-png":
        
    $mime "PNG Image";  break;
      default:
        
    $mime "unknown";
      }
      if(!
    $tmpfile or $uperr or $mime == "unknown" or !is_uploaded_file($tmpfile))
        echo 
    "

    An error occured when processing the form data:
                 Perhaps you forgot to specify an
                 image file or the file is too large
                 or the image type is unknown.</p>\n"

      else {
        
    // read the uploaded file and save it into database
        
    $file fopen($tmpfile"rb");
        
    $imgdata fread($file$size);
        
    $imagesid=mysql_insert_id();
        
        
    fclose($file);
        if(!
    $mysqli->query(
            
    "INSERT INTO images (name, type, image) " .
            
    "VALUES ('" $mysqli->escape_string($descr) . "', " .
            
    "        '$mime', " .
            
    "        '" $mysqli->escape_string($imgdata) . "')"))
          
    printf("

    Could not save image: %s</p>\n"
    $mysqli->error);
          
          
    $sql2="UPDATE annunci SET imagesid='{$imagesid}' WHERE id='{$imagesid}' ";
    mysql_query($sql2);
      }
    }




    // part 2: show images
    echo "<h2>Images recently uploaded ...</h2>\n";
    $sql =
      
    "SELECT id, name, " .
      
    "DATE_FORMAT(ts, '%Y/%c/%e %k:%i') AS dt " .
      
    "FROM images ORDER BY ts DESC LIMIT 1";
    $result $mysqli->query($sql);
    if(
    $result->num_rows==0)
      echo 
    "

    The database does not yet contain images ...</p>\n"
    ;
    else {
      while(
    $row $result->fetch_object())
        
    $rows[] = $row;
      echo 
    '<table>'"\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // images
        
    echo '<th>',
          
    "<img src=\"showpic.php?id=" .
          
    $rows[$i]->id "\" /></th>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // names/descriptions
        
    echo "<td>" htmlspecialchars($rows[$i]->name) . "</td>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // date+time
        
    echo "<td>" $rows[$i]->dt "</td>";
      echo 
    "</tr>\n</table>\n";
    }


    ?>
    Tutto funziona alla meraviglia, la foto me la inserisce nella tabella images, l'annuncio è postato correttamente , l'unico problema è che non mi porta l'id come dovrebbe

  2. #2
    Da manuale:

    Because mysql_insert_id() acts on the last performed query, be sure to call mysql_insert_id() immediately after the query that generates the value.

    Per cui mysql_insert_id() restituisce l'ultimo valore di autoincrement dopo l'ultima operazione di insert per cui se lo invochi prima non so cosa esso restituisca, dovrei fare delle prove.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Come dice satifal, la funzione mysql_insert_id() puoi usarla solo subito dopo una INSERT per farti restituire l'ultimo valore auto increment inserito, in tutti gli altri casi restituisce dei valori completamente inaffidabili oppure non restituisce proprio nessun valore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    SI avete ragione.

    Non sono molto pratico e le vostre risposte lo dimostrano, pertanto da dove devo toglierla e dove devo lasciarla ?????

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Ho provato cosi ma nada

    Codice PHP:
    <?php echo $_SESSION['user_name'];?>








         


    <?php echo $_SESSION['user_id'];  

    require (
    "db_connect.php");   


    if (isset(
    $_POST['descrizione'])):   
      
    // x un nuovo annuncio usa il form  
      
     
        

     
    $user_id $_POST['user_id'];  

      
    $aid $_POST['aid'];  
      
    $cid $_POST['cid'];  
      
    $did $_POST['did'];  
       
    $eid $_POST['eid'];  
        
    $fid $_POST['fid'];  
        
    $gid $_POST['gid'];  
      
    $descrizione $_POST['descrizione'];  
      
    $mq $_POST['mq'];  
      
    $locali $_POST['locali'];  
      
    $prezzo $_POST['prezzo'];  
      
    $tipologia $_POST['tipologia'];  
      
    $altro $_POST['altro'];  
      
    $cats $_POST['cats'];  
      
    $nome_file_temporaneo $_FILES['file_inviato']['tmp_name'];  
        
    $nome_file_vero $_FILES['file_inviato']['name'];  
        
    $tipo_file $_FILES['file_inviato']['type']; 
     
        
     
       

      if (
    $aid == '') {  
        exit(
    '

    Scegli la provincia x l annuncio. Click "Back" and try again.</p>'
    );  
      }  

      
    $sql "INSERT INTO annunci SET  
          descrizione='
    $descrizione',  
          mq='
    $mq',  
          locali='
    $locali',  
          prezzo='
    $prezzo',  
          tipologia='
    $tipologia',  
          altro='
    $altro',  
          annunciodate=CURDATE(),  
          provinciaid='
    $aid',  
          cittaid='
    $cid',  
          regioneid='
    $did',  
          clienteid='
    $eid',  
           tipoid='
    $fid',  
           condizioniid='
    $gid',  
           nome_file = '
    $nome_file_vero',   
                    tipo_file = '
    $tipo_file',   
                    dati_file = '
    $dati_file',  
        
          user_id="
    .$_SESSION['user_id']."";
      if (@
    mysql_query($sql)) {
        echo 
    '

    </p>'
    ;
      } else {
        exit(
    '

    Errore aggiunta nuovo annuncio: ' 
    mysql_error() . '</p>');
      }

      
    $jid mysql_insert_id();
     
      
        

      if (isset(
    $_POST['cats'])) {
        
    $cats $_POST['cats'];
      } else {
        
    $cats = array();
      }

      
    $numCats 0;
      foreach (
    $cats as $catID) {
        
    $sql "INSERT IGNORE INTO cittaprovinciauser
                SET annunciid=
    $jid, cittaid=$catID, regioneid=$catID,  clienteid=$catID, tipoid=catID, condizioniid=catID, imagesid=catID ";
        
    $ok = @mysql_query($sql);
        if (
    $ok) {
          
    $numCats $numCats 1;
        } else {
          echo 
    "

    Errore inserimento annuncio 
    $catID: " .
              
    mysql_error() . '</p>';
        }
        
        }
      
       
    ?>



    Annuncio salvato correttamente <?php echo $Cats?> categories.</p>

    //ADESSO CHE HO SALVATO L'ANNUNCIO PROVVEDO AL CARICAMENTO DELL'IMMAGINE

    <h2>Image upload</h2>



    Maximum file size 200 kB. Formats: PNG, JPEG and GIF.</p>

    <table>
    <form method="post" action="images.php" enctype="multipart/form-data">
      <input type="hidden" value="204800" name="MAX_FILE_SIZE" />

    //qui metto il campo hidden

       <input type="hidden" name="imagesid" value="<?php echo $imagesid;?>" />
      <tr><td>Description (optional):</td>
           <td><input name="descr" type="text" /></td></tr>
      <tr><td>Image file:</td>
           <td><input name="imgfile" type="file" /></td></tr>
      <tr><td></td>
           <td><input type="submit" value="OK" name="submitbtn" /></td></tr>
    </form>
    </table>



    [url="<?php echo $_SERVER['PHP_SELF']; ?>"][/url]</p>


    [url="submit.php"][img]immagini/continua.gif[/img][/url]</p>

    <?php
    else: // inserimento provincia e citta'

      
    $authors = @mysql_query('SELECT id, name FROM provincia');
      if (!
    $authors) {
        exit(
    '

    errore inserimento provincia.</p>'
    );
      }

      
    $cats = @mysql_query('SELECT id, citta FROM citta');
      if (!
    $cats) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $regiones = @mysql_query('SELECT id, regione FROM regione');
      if (!
    $regiones) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $clientes = @mysql_query('SELECT id, cliente FROM cliente');
      if (!
    $clientes) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $tipos = @mysql_query('SELECT id, tipo FROM tipo');
      if (!
    $tipos) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }
      
      
    $condizionis = @mysql_query('SELECT id, condizioni FROM condizioni');
      if (!
    $condizionis) {
        exit(
    '

    errore inserimento citta.</p>'
    );
      }

    ?>



    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  method="post" enctype="multipart/form-data"> 


    Inserisci annuncio



    descrizione

    <textarea name="descrizione" rows="5" cols="45">
    </textarea></p>
    mq:

    <textarea name="mq" rows="5" cols="45">
    </textarea></p>
    locali:

    <textarea name="locali" rows="5" cols="45">
    </textarea></p>
    prezzo:

    <textarea name="prezzo" rows="5" cols="45">
    </textarea></p>
    tipologia:

    <textarea name="tipologia" rows="5" cols="45">
    </textarea></p>
    altro:

    <textarea name="altro" rows="5" cols="45">
    </textarea></p>
    </p>




    Condizioni Immobile:

    <select name="gid" size="1">
      <option selected value="">Condizioni Immobile:</option>
      <option value="">---------</option>
    <?php
       
    while ($condizioni mysql_fetch_array($condizionis)) {
        
    $gid $condizioni['id'];
        
    $gcondizioni htmlspecialchars($condizioni['condizioni']);
        echo 
    "<option value='$gid'>$gcondizioni</option>\n";
      }
    ?>
    </select></p>


    Regione:

    <select name="did" size="1">
      <option selected value="">Seleziona Regione</option>
      <option value="">---------</option>
    <?php
       
    while ($regione mysql_fetch_array($regiones)) {
        
    $did $regione['id'];
        
    $dregione htmlspecialchars($regione['regione']);
        echo 
    "<option value='$did'>$dregione</option>\n";
      }
    ?>
    </select></p>




    Provincia:

    <select name="aid" size="1">
      <option selected value="">Seleziona Provincia</option>
      <option value="">---------</option>
    <?php
      
    while ($author mysql_fetch_array($authors)) {
        
    $aid $author['id'];
        
    $aname htmlspecialchars($author['name']);
        echo 
    "<option value='$aid'>$aname</option>\n";
      }
    ?>
    </select></p>


    Comune:

    <select name="cid" size="1">
      <option selected value="">Seleziona Citta</option>
      <option value="">---------</option>
    <?php
       
    while ($cat mysql_fetch_array($cats)) {
        
    $cid $cat['id'];
        
    $cname htmlspecialchars($cat['citta']);
        echo 
    "<option value='$cid'>$cname</option>\n";
      }
    ?>
    </select></p>




    Tipo Cliente:

    <select name="eid" size="1">
      <option selected value="">Seleziona tipo cliente</option>
      <option value="">---------</option>
    <?php
       
    while ($cliente mysql_fetch_array($clientes)) {
        
    $eid $cliente['id'];
        
    $ecliente htmlspecialchars($cliente['cliente']);
        echo 
    "<option value='$eid'>$ecliente</option>\n";
      }
      
    ?>
    </select></p>






    Canale Annuncio:

    <select name="fid" size="1">
      <option selected value="">Seleziona tipo annuncio</option>
      <option value="">---------</option>
    <?php
       
    while ($tipo mysql_fetch_array($tipos)) {
        
    $fid $tipo['id'];
        
    $ftipo htmlspecialchars($tipo['tipo']);
        echo 
    "<option value='$fid'>$ftipo</option>\n";
      }
      
    ?>
    </select></p>






    <input type="image" src="immagini/salva.gif"  value='salva'>
    </form>

    <?php endif; ?>
    Codice PHP:
    <?php   // images/images.php

    include("connect.php");
    $mysqli connect_to_picdb();

    // part 1: save uploaded images
    $submitbtn array_item($_POST,  'submitbtn');
    $descr =     array_item($_POST,  'descr');
    $imgfile =   array_item($_FILES'imgfile');
     
    $imagesid$_POST['id'];

    // is there form data to process?
    if($submitbtn == 'OK' and is_array($imgfile)) {
      
    $name    $imgfile['name'];
      
    $type    $imgfile['type'];
      
    $size    $imgfile['size'];
      
    $uperr   array_item($imgfile'error');
      
    $tmpfile $imgfile['tmp_name'];
      
    $imagesid$imagesid['id'];
      
    $imagesid=mysql_insert_id();
      if(!
    $descr$descr $name;
      switch (
    $type) {
      case 
    "image/gif":
        
    $mime "GIF Image";  break;
      case 
    "image/jpeg":
      case 
    "image/pjpeg":
        
    $mime "JPEG Image"; break;
      case 
    "image/png":
      case 
    "image/x-png":
        
    $mime "PNG Image";  break;
      default:
        
    $mime "unknown";
      }
      if(!
    $tmpfile or $uperr or $mime == "unknown" or !is_uploaded_file($tmpfile))
        echo 
    "

    An error occured when processing the form data:
                 Perhaps you forgot to specify an
                 image file or the file is too large
                 or the image type is unknown.</p>\n"

      else {
        
    // read the uploaded file and save it into database
        
    $file fopen($tmpfile"rb");
        
    $imgdata fread($file$size);
        
    $imagesid=mysql_insert_id();
        
        
    fclose($file);
        if(!
    $mysqli->query(
            
    "INSERT INTO images (name, type, image) " .
            
    "VALUES ('" $mysqli->escape_string($descr) . "', " .
            
    "        '$mime', " .
            
    "        '" $mysqli->escape_string($imgdata) . "')"))
          
    printf("

    Could not save image: %s</p>\n"
    $mysqli->error);
          
          
         
      }
    }




    // part 2: show images
    echo "<h2>Images recently uploaded ...</h2>\n";
    $sql =
      
    "SELECT id, name, " .
      
    "DATE_FORMAT(ts, '%Y/%c/%e %k:%i') AS dt " .
      
    "FROM images ORDER BY ts DESC LIMIT 1";
    $result $mysqli->query($sql);
    if(
    $result->num_rows==0)
      echo 
    "

    The database does not yet contain images ...</p>\n"
    ;
    else {
      while(
    $row $result->fetch_object())
        
    $rows[] = $row;
      echo 
    '<table>'"\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // images
        
    echo '<th>',
          
    "<img src=\"showpic.php?id=" .
          
    $rows[$i]->id "\" /></th>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // names/descriptions
        
    echo "<td>" htmlspecialchars($rows[$i]->name) . "</td>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // date+time
        
    echo "<td>" $rows[$i]->dt "</td>";
      echo 
    "</tr>\n</table>\n";
    }


    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Niente neanche cosi

    HELP

    Codice PHP:
    <?php   // images/images.php

    include("connect.php");
    $mysqli connect_to_picdb();

    // part 1: save uploaded images
    $submitbtn array_item($_POST,  'submitbtn');
    $descr =     array_item($_POST,  'descr');
    $imgfile =   array_item($_FILES'imgfile');
     
    $imagesid$_POST['imagesid'];

    // is there form data to process?
    if($submitbtn == 'OK' and is_array($imgfile)) {
      
    $name    $imgfile['name'];
      
    $type    $imgfile['type'];
      
    $size    $imgfile['size'];
      
    $uperr   array_item($imgfile'error');
      
    $tmpfile $imgfile['tmp_name'];
      
    $imagesid$imagesid['imagesid'];
      
    $imagesid=mysql_insert_id();
      if(!
    $descr$descr $name;
      switch (
    $type) {
      case 
    "image/gif":
        
    $mime "GIF Image";  break;
      case 
    "image/jpeg":
      case 
    "image/pjpeg":
        
    $mime "JPEG Image"; break;
      case 
    "image/png":
      case 
    "image/x-png":
        
    $mime "PNG Image";  break;
      default:
        
    $mime "unknown";
      }
      if(!
    $tmpfile or $uperr or $mime == "unknown" or !is_uploaded_file($tmpfile))
        echo 
    "

    An error occured when processing the form data:
                 Perhaps you forgot to specify an
                 image file or the file is too large
                 or the image type is unknown.</p>\n"

      else {
        
    // read the uploaded file and save it into database
        
    $file fopen($tmpfile"rb");
        
    $imgdata fread($file$size);
        
    $imagesid=mysql_insert_id();
        
        
    fclose($file);
        if(!
    $mysqli->query(
            
    "INSERT INTO images (name, type, image) " .
            
    "VALUES ('" $mysqli->escape_string($descr) . "', " .
            
    "        '$mime', " .
            
    "        '" $mysqli->escape_string($imgdata) . "')"))
          
    printf("

    Could not save image: %s</p>\n"
    $mysqli->error);
          
          
         
      }
    }




    // part 2: show images
    echo "<h2>Images recently uploaded ...</h2>\n";
    $sql =
      
    "SELECT id, name, " .
      
    "DATE_FORMAT(ts, '%Y/%c/%e %k:%i') AS dt " .
      
    "FROM images ORDER BY ts DESC LIMIT 1";
    $result $mysqli->query($sql);
    if(
    $result->num_rows==0)
      echo 
    "

    The database does not yet contain images ...</p>\n"
    ;
    else {
      while(
    $row $result->fetch_object())
        
    $rows[] = $row;
      echo 
    '<table>'"\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // images
        
    echo '<th>',
          
    "<img src=\"showpic.php?id=" .
          
    $rows[$i]->id "\" /></th>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // names/descriptions
        
    echo "<td>" htmlspecialchars($rows[$i]->name) . "</td>";
      echo 
    "</tr>\n<tr>";
      for(
    $i=0$i<sizeof($rows); $i++)  // date+time
        
    echo "<td>" $rows[$i]->dt "</td>";
      echo 
    "</tr>\n</table>\n";
    }


    ?>

  7. #7
    Chiami mysql_insert_id() in una pagina in cui non hai effettuato alcuna insert.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Scusa, ma prima ho capito che non dovevo metterlo prima ma portarmelo dietro nella seconda insert

    Potresti essere più chiaro e farmi capire dove devo metterlo nel mio codice ?

  9. #9
    Dopo aver fatto la query di inserimento dell'immagine, richiami il my_sql_insert_id e il valore lo usi per fare l'update nell'altra tabella


  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Lo fatto qui ma non me lo prende ? ho sbagliato ?

    Dopo aver fatto la query di inserimento dell'immagine, richiami il my_sql_insert_id e il valore lo usi per fare l'update nell'altra tabella
    Codice PHP:
        fclose($file); 
        if(!
    $mysqli->query
            
    "INSERT INTO images (name, type, image) " 
            
    "VALUES ('" $mysqli->escape_string($descr) . "', " 
            
    "        '$mime', " 
            
    "        '" $mysqli->escape_string($imgdata) . "')")) 
          
    printf("

    Could not save image: %s</p>\n"
    $mysqli->error); 
           
          
    $sql2="UPDATE annunci SET imagesid='{$imagesid}' WHERE id='{$imagesid}' "
    mysql_query($sql2); 
      } 


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.