Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Gestione galleria immagini php & mysql

    Ciao a tutti,
    sto facendo un progetto per un esame. Sto creando un sito/blog in cui chi si registra può caricare immagini, salvate in una galleria, e scrivere dei post.
    Ogni utente può cancellare le proprio foto. Per fare questo pensavo di creare una pagina (gestgall.php) che stampa l'elenco delle foto salvate nel db con checkbox per ognuna che, se selezionato, aggiorni il campo del db dallo 0 impostato di default ad 1.
    Effettuando il submit si apre poi una pagina (select.php) che seleziona solo le immagini con il check = 1 e le elimina (eliminata.php).

    I listati delle pagine sono:
    ---- gestgall.php:

    <?php
    if($username == "admin") {

    // recupero i dati dal DB
    $query = "SELECT * FROM images ORDER BY idimg";
    $res = mysql_query($query) or die (mysql_error());

    // numero delle immagini presenti nel DB
    $n_img = mysql_num_rows($res);

    // verifico che il DB ospiti almeno un'immagine
    if($n_img >= 1 ){

    // ciclo tutti i record recuperati attraverso la nostra query
    while ($f=@mysql_fetch_array($res)){
    $id = stripslashes($f['idimg']);
    $titolo = stripslashes($f['titolo']);
    $descrizione = stripslashes($f['descrizione']);
    $utente = stripslashes($f['idutente']);

    // stampo la cella contenente l'immagine
    echo '<form action="select.php" method="post">';
    echo '<table>';
    echo '<tr>';
    echo '<td>';
    echo '<input type="checkbox" name="check" value="1">';
    echo '</td><td>' . $titolo;
    echo '</td><td>' . $descrizione;
    echo '</td></tr>';

    // quando il numero di righe equivale al valore impostato nella variabile $righe
    // procedo a chiudere la linea e ad azzerare il valore di $righe
    $sql_count = @mysql_query("SELECT MAX(idimg) AS max FROM images") or die (mysql_error());
    $id_max = @mysql_fetch_array($sql_count) or die (mysql_error());
    $max = $id_max['max'];

    if ($id == $max){
    echo '</table>';
    echo '

    <input type="submit" name="invia" value="Seleziona">';
    echo '</form>';
    }
    }
    }
    } else {.... (continua con il resto della pagina).


    ---- select.php

    <?php
    $check = $_POST['check'];

    if($check != 0) {
    $selez = mysql_query("UPGRADE images SET check='$check' WHERE titolo = '$titolo'");

    // recupero i dati dal DB
    $query = 'SELECT * FROM images WHERE check = "0" ORDER BY idimg';
    $res = mysql_query($query) or die (mysql_error());

    // numero delle immagini presenti nel DB
    $n_img = mysql_num_rows($res);

    // verifico che il DB ospiti almeno un'immagine
    if($n_img >= 1 ){

    // ciclo tutti i record recuperati attraverso la nostra query
    while ($f=@mysql_fetch_array($res)){
    $id = stripslashes($f['idimg']);
    $titolo = stripslashes($f['titolo']);
    $descrizione = stripslashes($f['descrizione']);
    $utente = stripslashes($f['idutente']);

    // stampo la cella contenente l'immagine
    echo '<table>';
    echo '<tr>';
    echo '<td>' . $titolo;
    echo '</td><td>' . $descrizione;
    echo '</td></tr>';

    // quando il numero di righe equivale al valore impostato nella variabile $righe
    // procedo a chiudere la linea e ad azzerare il valore di $righe
    $sql_count = @mysql_query("SELECT MAX(idimg) AS max FROM images") or die (mysql_error());
    $id_max = @mysql_fetch_array($sql_count) or die (mysql_error());
    $max = $id_max['max'];

    if ($id == $max){
    echo '</table>';
    }
    }
    }
    echo '

    ';
    echo '<form action="eliminata.php">'
    echo '<input type=submit value="Elimina">';
    echo '</form>'
    }
    ?>

    ----- eliminata.php

    <?php
    $del = "DELETE FROM images WHERE check = 1"
    if(mysql_query($del)) {
    echo "Immagine/e cancellata/e con successo";
    } else {
    echo "Immagine/e non cancellata/e a causa del seguente errore" . mysql_error();
    }

    ?>




    Con questi listati mi si blocca quando clicco il submit per passare alla pagina select.php e non si aggiorna il db.

    Qualcuno mi aiuta per risolvere il problema?
    Si accettano anche soluzioni alternative per la cancellazione delle immagini.
    Grazie mille!!

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    nella query di aggiornamento della check devi scrivere update e non upgrate e poi nella clausola where metterei id dell'immagine e non il titolo

  3. #3
    Grazie!

    Ho modificato come hai detto tu, ma mi stampa questo errore nella pagina select.php:

    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'check = "0" ORDER BY idimg' at line 1"

  4. #4
    se può interessarti qui c'è un tutorial per questa cosa, in fondo c'è anche uno zip col codice

    http://blog.themeforest.net/tutorial...ords-with-php/
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  5. #5
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    devi levare gli apici a $check

  6. #6
    Continua a darmi lo stesso errore...

  7. #7
    Originariamente inviato da nivasio
    se può interessarti qui c'è un tutorial per questa cosa, in fondo c'è anche uno zip col codice

    http://blog.themeforest.net/tutorial...ords-with-php/
    Grazie!!! Ho risolto con questo tutorial... ora funziona!!!

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.