Newsgroup: it.comp.software.database
Titolo: db "iscritti" e DI NUOVO bisogno di aiuto! (query insert)

ciao a tutti! :-)
alląinizio delląestate molti di voi sono stati estremamente gentili 
aiutandomi molto: avevo postato chiedendo consigli per un db MySQL di 
łiscritti˛ a una łcommunity˛, iscritti ai quali avrei voluto abbinare i loro 
hobby, e ora ho finalmente avuto il tempo di cercare di seguire i vostri 
consigli (spero bene... ehm).
Ora peroą ho di nuovo un gran bisogno di aiuto ed eccomi qui molto 
speranzosa!
Dunque, per ora ho un db composto da queste tabelle:
TAB_ISCRITTI
nickname (PK)
nome
cognome
indirizzo
codice_comune
TAB_LUOGO
codice_comune  (PK) (dovrebbe essere il codice istat perlomeno per ora che 
mantengo il db solo italiano.... il codice internazionale che mi aveva 
consigliato hk3project nonostante le molte ricerche fatte non sono purtroppo 
riuscita a trovarlo... se qualcuno sa dove posso pescarlo...)
nome_comune 
provincia
regione
stato
TAB_ISTAT
codice_provincia
codice_comune
nome_comune
(ma mi serve, questa tabella??? ehm...)
TAB_HOBBY
nomehobby (PK) (e qui tutta la sfilza, che so, da arrampicatalibera a 
zuzzurellonare!)
TAB_HOBBY_ISCRITTO
nomehobby
nickname    (PK congiuntamente)
A questo punto sto cercando di costruire una pagina web tramite la quale i 
visitatori del mio sito (ancora nel cassetto, sarŕ per il mio ristorante) 
possano inserire i loro dati; riesco a fare il form di inserzione dati per le 
tabelle iscritti e luogo, ma non so come risolvere quella degli hobby, o 
meglio scusate quella łhobby_iscritto˛.
Nella pagina web infatti pensavo di mettere tutti i nomi degli hobby che 
voglio prendere in esame con accanto una checkbox, cosiccheą ognuno possa 
selezionare una o piuą caselle-hobby.
Ora peroą non so come questo possa risolversi in una query MySQL...
cioeą se uno setta per es. la casella ALPINISMO, poi salta BRIDGE CANOA 
EQUITAZIONE GOLF, e setta invece per es. MODELLISMO, poi salta di nuovo tutto 
fin giuą e setta SCACCHI, mi dovrei trovare con delle istruzioni che inviano 
un valore 0 lŕ dove lui non setta niente e un valore 1 ad 
alpinismo-modellismo-scacchi, giusto?
ma... come si fa?????
č che non so il php o che non so ląSQL, o tuttąe due???
abbiate pietŕ e illuminatemi ancora! :-)
grazie per la vostra pazienza,
alcina :-)
==============================================================
 Posted with Hogwasher. Mac first, Mac only:
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

 
MAX

 
 
La sintassi SQL non č nulla di particolare, si tratterebbe di una
insert banalissima. Mi sa che quello che non sai fare č usare il
php per crearti l'SQL ad hoc.
Crea una pagina in cui analizzi le variabili cosě come vengono
inviate (dal post immagino). A seconda di come sono valorizzate (0 o 1) 
l'SQL che le userŕ come parametri farŕ la insert corretta.
In pratica, se chiami le variabili per es, $v1, $v2, $v3 ecc,ecc
la insert sarŕ del tipo:
insert into nometabella values ($v1, $v2, $v3 .ecc.ecc)
non devi fare altro, per lo meno, nulla di particolarmente
impegnativo.
ciao.

 selezionare una o piu¹ caselle-hobby.
c'è qualcosa che non quadra...
il visitatore inserisce nella form alcuni dati, presumo nome, cognome, ecc.
e questi sei in grado di risolverli, cioè intendi prenderli dal form html e 
scriverli
nel database, è così?
se è così ti chiedo come fai... perchè allo stesso modo puoi fare con i 
checkbox
che restituiscono 0 o 1 e così come sono, li scrivi nel database.

 č che non so il php o che non so ląSQL, o tuttąe due???
prova 
dadabik.org
 (dopo aver creato correttamente il db)
ed eventualmente chiedi aiuto su it.comp.www.php

 insert banalissima.
le INSERT nella tabella diciamo "anagrafica" non mi danno problemi...
riesco tramite form a inserire nickname, nome, cognome, indirizzo....
ma quella per gli hobby collegati al nickname si'....
se ricordi ho fatto una tabella con un solo campo "nomehobby" e li' ho tutta 
la lista degli hobby (inseriti direttamente da me in varie righe con 
phpMyAdmin).
Ora devo inserire le scelte che ogni iscritto fa dentro alla tabella che 
mette in relazione gli iscritti ai suoi hobby, cioe' una tabella  composta 
dunque di due campi, uno "nickname"  e uno "hobby_iscritti", ed è questo che 
non so come fare.
Stavo appunto per chiederti se non avessi per caso qualche  pezzetto di 
codice che ti cresce... a me al ristorante succede di veder partire dei 
clienti con certe "doggy-bag! ;-)  
...pero' stamattina ho avuto un colpo di fortuna e ho trovato su internet un 
bellissimo articolo che tratta del problema, solo che non sono riuscita a 
fare funzionare lo script di esempio che mi andrebbe benissimo... immagino tu 
NON abbia il tempo di darci un'occhiata, ma se tu potessi, o qualche altra 
anima pia ;-) , almeno alla parte "database" per dirmi se è concettualmente 
giusto come lo fa lui, perche' e' diverso da come mi avevate consigliato... 
sarebbe magnifico!
io lo butto qui chissa'...:
http://www.phpbuilder.com/columns/laflamme20001016.php3?page=1
ciao e buona domenica, :-)
alcina


 ed eventualmente chiedi aiuto su it.comp.www.php
grazie per i link mi sembrano tutti utilissimi, :-)
spero di riuscire a metterli a frutto anche col poco tempo libero che ho (a 
questo proposito mi scuso anche con te per il ritardo col quale ti rispondo)!
================================================================
 Hogwasher: You don't have to sacrifice friendliness for power
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
================================================================

 che restituiscono 0 o 1 e così come sono, li scrivi nel database.
e invece niente da fare non riesco a risolverlo :-(
pero' in compenso ho trovato un articolo che mi sembra molto interessante, 
solo che diavolo non riesco a far funzionare lo script che consiglia (e vedo 
sul loro forum altra gente in difficolta', sicuro piu' esperti di me, per cui 
immagino ci sia qualche piccola cosa che non va).
Ehm, non so se sia possibile, ma se tu avessi il tempo di darci 
un'occhiata... ovviamente invito anche te (ormai e' una mia usanza su questo 
ng anche se non ho ancora visto profilarsi nessuno acci!) a una cena gratis 
al mio ristorante se fai un salto a Nizza! (ed ecco la mia email: 
alcina_zCHIOCCIOLETTAyahoo.fr )
ecco il link:
http://www.phpbuilder.com/columns/laflamme20001016.php3?page=1
ciao Cosimo e buona domenica!
alcina
 
==============================================================
 Posted with Hogwasher. For a free Test Drive click on: 
 
http://www.asar.com/cgi-bin/product.pl?58/hogwasher.html
 
==============================================================

 MAX
ciao Max!,avevo dimenticato questo msg nella outbox.
Nel frattempo ho trovato un articolo che sembra scritto apposta per il mio 
caso solo che lo script non funziona.... :-(
si intitola
Storing Checkbox Data In Your Database.
ed ecco il link, se tante volte ti pungesse l'uzzolo...
http://www.phpbuilder.com/columns/laflamme20001016.php3?page=1


 
ciao,
allora premesso che di php ho solole basi, cmq dallo sguardo molto veloce
che ho dato al link, direi che il modo di operare sia corretto.
Nel mio post precedente (che ho riletto) ho sbagliato io a darti consiglio,
perché evidentemente non avevo capito bene (tutte scuse ovviamente, la 
verità è che la demenza senile quando comincia non perdona...).
Concettualmente, visto che devi fare una insert per ogni hobby, l'utilizzo
di un array va bene. Lo popoli con i valori che ti arrivano dal POST, 
successivamente lo scorri e per ogni elemento valorizzi una insert
all'interno di un ciclio e il gioco è fatto.
In soldoni, senza indicarti codice, che tanto lo sbaglierei:
dal post ti arrivano le seguenti variabili:
nick, ==> ovvio!
1,    ==> tennis
0,    ==> calcio
1,    ==> nuoto
1,    ==> corsa
0     ==> bici
inserisci tutto in un array che sarà, diciamo così:
$array = [1][0][1][1][0]
cominci un ciclo for:
per ogni elemento dell'array, crea l'sql seguente:
insert into nometabella values ($nick, $i);
dove $i è l'elemento dell'array e $nick è sempre lo stesso.
IL ciclo ti creerà quindi 5 insert, una per ogni hobby.
Hummmmm.......non so se non stato chiaro...
ciao