Php e mysql [immagini e tabelle]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

Sera a tutti :D ...
Avrei intenzione di realizzare una procedura in php che stampi una tabella
di immagini...
la tabella mysql contiene questi campi:

Codice: Seleziona tutto

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| nome  | varchar(30)  | NO   |     | NULL    |                |
| url   | varchar(500) | NO   |     | NULL    |                |
| immag | mediumblob   | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
...vorrei realizzare una tabella del tipo:
print "\n <a href=\"$recordurl\"> <td backgroung=\"$recordimm\"> $recordnome </td>";
(spero di essermi fatto capire)

record[url/imm e nome] ottengono i dati record per record durante la lettura del db.
vorrei inserire come sfondo di ogni singola cella la sua immagine
ma non riesco a caricare le immagini sul db...

Sapete aiutarmi???
Grazieeee :o

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da aschenaz »

Non ho mai capito l'esigenza di salvare i file su database. Io non ho mai neppure provato a farlo. Oltretutto, credo che ne risulterebbe un db decisamente voluminoso, no? Non puoi salvare solo il nome del file e poi richiamarlo dalla sua directory?

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

mi hai dato una idea fantastica


:D :D :D :D :D :D :D :D
Grazièèèèèè :)

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

Vorrei chiedere un'altra cosetta che mi sta facendo dannare :)...

In pratica ho creato una fila di immagini più lunga della pagina stessa, posso scorrere con la barra classica come lo scroll quì al lato
ma vorrei limitare le dimensioni ed eventualmente mettere 2 pulsantini che mi permettono di andare verso destra o sinistra...

Ho provato a cercare su google ma ho trovato solo estensioni per jquery che non conosco
per adesso :o

Sapete darmi una mano???

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da aschenaz »

Beh, dovresti un po' smanettare col php e non so quanto ti convenga, specialmente se vuoi risolvere rapidamente.
Le slideshow con jquery costituiscono una soluzione rapida, comoda e d'effetto. Implementarle non è per niente difficile, basta seguire le istruzioni.

Io, in genere, uso slimbox (che tra l'altro è anche xhtml-compliant). Prova a darci un'occhiata: http://www.digitalia.be/demo/slimbox/ :)

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

Umm.. forse non sono stato chiaro...
in pratica ho una sfilza di bottoni uno di fianco all'altro ma occupano troppo spazio...
vorrei rendere visibili per esempio 5 elementi e delle freccie "< >" per scorrere e visualizzare tutti gli elementi...
è fattibile????

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da aschenaz »

Certo che sì: devi creare un impaginatore.

In pratica: interroghi il database e conti il numero di record; decidi quanti record devono essere visualizzati alla volta; dividi il numero complessivo per quelli da visualizzare per pagina; crei i link per le varie pagine... Non è semplicissimo, lo so. Ora vado un po' di fretta. Poi, magari ti posto del codice...

Avatar utente
ermes
Linux 2.x
Linux 2.x
Messaggi: 372
Iscritto il: dom 20 feb 2005, 0:00
Slackware: current 64
Desktop: kde
Località: Rho (Mi)

Re: Php e mysql [immagini e tabelle]

Messaggio da ermes »

dovresti semplicemente mettere i bottoni avanti e indietro (ma vanno bene anche < e >) con un link che ricarica la stessa pagina lanciando una nuova query parametrica.
il codice della query dovrebbe essere questo, dove Y è il numero delle foto che vuoi visualizzare e X è numero di fotografia da cui partire.

Codice: Seleziona tutto

SELECT * FROM `TAB_allievi` LIMIT X , Y
in sostanza X dovrebbe essere uguale al valore Y* il numero della pagina di foto:
pagina 1: X = 1*Y
pagina 2: X = 2*Y
e così via


spero di essermi spiegato decentemente :roll:

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

ermes ha scritto: il codice della query dovrebbe essere questo, dove Y è il numero delle foto che vuoi visualizzare e X è numero di fotografia da cui partire.

Codice: Seleziona tutto

SELECT * FROM `TAB_allievi` LIMIT X , Y
in sostanza X dovrebbe essere uguale al valore Y* il numero della pagina di foto:
pagina 1: X = 1*Y
pagina 2: X = 2*Y
e così via
spero di essermi spiegato decentemente :roll:
Decisamente chiarissimo..
Ora sto cercando di ottenere l'evento quando viene premuto il pulsante..
Ho usato questo:

Codice: Seleziona tutto

	print "<td>";
	print "<form method=\"post\" action=\"index.php\">";
	print "<input type=\"image\" src=\"Pulsantine/destra.jpg\" name=\"elementomin\" >";
	print "</form> </td> </tr> </table>" ;
ma non sò come incrementare $elementomin se premuto, è possibile farlo utilizzando solo Html e php?..
Aiuti :) ???

Avatar utente
ermes
Linux 2.x
Linux 2.x
Messaggi: 372
Iscritto il: dom 20 feb 2005, 0:00
Slackware: current 64
Desktop: kde
Località: Rho (Mi)

Re: Php e mysql [immagini e tabelle]

Messaggio da ermes »

darkstaring ha scritto:

Codice: Seleziona tutto

	print "<td>";
	print "<form method=\"post\" action=\"index.php\">";
	print "<input type=\"image\" src=\"Pulsantine/destra.jpg\" name=\"elementomin\" >";
	print "</form> </td> </tr> </table>" ;
ma non sò come incrementare $elementomin se premuto, è possibile farlo utilizzando solo Html e php?..
Aiuti :) ???
io ho fatto una cosa simile per visualizzare/modificare i dati dei miei allievi divisi in 4 schede.
Ho utilizzato il costrutto <tfoot> della tabella in cui ho visualizzato i dati passando alla maschera un parametro (passa) che viene incrementato o decrementato

Codice: Seleziona tutto

if(!isset($_REQUEST[passa])) // se non viene passato nessun parametro
    $pagina = 1; // imposto il valore di pagina da visualizzare a 1
else
    $pagina = $_REQUEST[passa] // imposto il valore della pagina da visualizzare a quello passato come parametro

$pagina_next = $pagina + 1;
$pagina_back = $pagina - 1;
...
// e la formula SQL dovrebbe diventare:
// SELECT * FROM `TAB_immagini` LIMIT $pagina*Y , Y
...
echo "<tfoot><tr>";
echo "<td><a href=\"maschera_visualizza_immagini.php?passa=$pagina_back\" title=\"Passa alla pagina precedente\" target=\"_self\"><IMG src=image/back_42x42.png alt=\"pagina precedente\" width=\"42\" height=\"42\" align=\"middle\" border=\"0\"></a>Scheda $pagina_back</td>";
echo "<td><div align=\"right\">Pagina $pagina_next<a href=\"maschera_visualizza_immagini.php?passa=$pagina_next\" title=\"Passa alla pagina successiva\" target=\"_self\"><IMG src=image/next_42x42.png alt=\"prossima pagina\" width=\"42\" height=\"42\" align=\"middle\" border=\"0\"></div></a></td>";
echo "</tr></tfoot>";
l'ho adattato a partire dal mio codice e non l'ho testato, forse nei link delle immagini ci sono anche troppe opzioni inutili... vedi tu...
mancherebbe anche il controllo sui numeri delle pagine:
- se è la prima pagina bisognerebbe disattivare il link della pagina precedente (oppure ipotizzare di andare all'ultima (per creare un effetto circolare)
- allo stesso modo bisognerebbe gestire anche il controllo sull'ultima pagina

e fai sapere

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

Ci ho provato e funzionava, ho imparato tanto :)..
Comunque ho trovato degli script jquery che fanno lo stesso free sul web
anche se non è farina del mio sacco è molto più semplice e carino :)...
Comunque adesso mi sto imbattendo su un'altro problema :)

Ho creato un form php che chiede vari campi da aggiungere su un database e un'immagine ma mi vengono fuori diversi errori:
Warning: move_uploaded_file(t3/VOID.png): failed to open stream: Permission denied in /home/apache/TEST_Quick/aggiungicanali2.php on line 35

Warning: move_uploaded_file(): Unable to move '/tmp/phpvOG7hp' to 't3/VOID.png' in /home/apache/TEST_Quick/aggiungicanali2.php on line 35
Errore nello spostamento
Fatal error: Cannot break/continue 1 level in /home/apache/TEST_Quick/aggiungicanali2.php on line 38
Questo è il codice al quale arrivano i dati del form di inserimento:

Codice: Seleziona tutto


is_uploaded_file restituise vero quindi il file è caricato ma non capisco perchè il file non viene spostato  :evil: ...
qualche idea :)
*CARICA IMMAGINE*/
  if (($_FILES['image']) != ($_POST['nome'].".png")) //Un controllo che mi serve
  {
    if  (is_uploaded_file($_FILES['image']['tmp_name'])) //Se e' caricato
       print "file caricato";
       
      if (!move_uploaded_file($_FILES['image']['tmp_name'], 't3/'.$_FILES['image']['name']))
      {
	  print "Errore nello spostamento \n";
	  break;
      }
      else
      {
	  scrivi_nel_db(); //chiama funzione che scrive nel db
	  print "\n Dati inseriti correttamente";
      }
  }
  else
    print ("\n L' immagine caricata deve avere lo stesso nome del canale ed estensione PNG <a href=\"aggiungicanali.php\">Riprova</a>");
Non capisco perchè il file non può essere spostato dove le dico..
potrebbe essere un problema di permessi??

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da aschenaz »

Certo, cambia i permessi della directory in 777...

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Php e mysql [immagini e tabelle]

Messaggio da darkstaring »

Infatti... ho risolto così
Grazieeee

Rispondi