Newsgroup: it.comp.www.php
Titolo: variabile non trasmessa

ho una variabile che non viene trasmessa al db e non capisco perché
ho effetuato un effetuato una query al db all'interno di form perche esso mi 
restistuisca dei dati da mettere in form connmenu a tendina:
....
<form name="titi" action="risultati.php" method="post"><select name="luogo">
$nb = mysql_num_rows($query);
mysql_close();
if ( $nb < 1) {
 echo '<option>nessun luogo</option>';
}
else {
 while ( $list = mysql_fetch_array( $query ) ) {
  echo "<option value='{$list['codice_luogo']}'>{$list['nome 
luogo']}</option>";
 }
}
e fin qui tutto bene adesso vorrei che in base alla scelta di uno dei 
luoghi, interrogare di nuovo il db per fornire le info che interessano, ma i 
dati non vengo trasmessi al db e non capisco perche.
se testo se la mia variabile è trasmessa per il nuovo tratatmento con 
questo,
if ( isset( $_POST['titi'] ) ) {
    echo 'La variabile esiste ed ha questo valore: ' . $_POST['titi'];
}
else {
    echo variabile non trasmessa;
}
ottengo non trasmessa, di fatto nello script successivo ottengo come errore 
nella my query : undefined index: titi..
Dove sbaglio,
per la sintassi uso $_POST['titi'], ho provato su consiglio di iuz à mettere 
{ }, ma niente.
ho easyphp 1.7, è un problema di configurazione?
grazie
-- 
André Ebongué
Via Milani 130
40014 Crevalcore ( BO)

 }
Ma 'titi' č il nome del form non della SELECT.
Tu devi testare i componenti della form: $_POST['luogo'].
Ciao
Marco 


ok, fatto il cambio, ho testato se la variabile viene trasmesso ed il 
risultato č ok, perň quando inserisco la query ritorna a darmi errore...mi 
arrendo non so piů come la devo scrivere 'sta query!
quando scrivo:
if ( isset( $_POST['luogo'] ) ) {
echo la variabile č trasmessa ed ha valore ' . $_POST['luogo'];
}
else {
echo 'variabile non trasmessa;
}
tutto ok, mi ritorna ilvalore della variabile,
quando invece
fatto una query semplice semplice:
$sql="SELECT * FROM initiative WHERE codice_luogo=".$_POST['luogo']."";
$query = mysql_query($sql) or die( 'Errore' );
 while ( $data= mysql_fetch_assoc($query)) {echo' fatto';}
niente di nuovo problemi, provato tutte le sintassi possibile.
ho controlato il mio db, la tabella initiative existe, codice_luogo existe, 
ma niente!
mi arrendo...

 mi arrendo...
sostituisci
$query = mysql_query($sql) or die( 'Errore' );
$query = mysql_query($sql) or die( mysql_error() );
e vedi cosa non va bene nella query..
-- 
www.iuz-lab.info

 mi arrendo...
anche..
$sql="SELECT * FROM initiative WHERE codice_luogo=".$_POST['luogo']."";
con
$sql="SELECT * FROM initiative WHERE codice_luogo='".$_POST['luogo']."'";
-- 
www.iuz-lab.info

 
www.iuz-lab.info
ok, ho sostitiuto la riga ed in effetti,
mi da l'errore: Unknown column 'TEN' in 'where clause'
nel form precedente chiedo in effetti la query mi restiscuisce il 
codice_luogo TEN e questo va bene.
infatti questa è la tabella luogo da dove pesco i codice_lugo:
CREATE TABLE `luogo` (
  `codice_luogo` varchar(20) NOT NULL default '',
  `nome luogo` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`codice_luogo`)
) TYPE=MyISAM;adesso voglio andare nella tabella initiative:
ecco la:
CREATE TABLE `initiative` (
  `id` mediumint(9) NOT NULL auto_increment,
  `codice_luogo` varchar(50) NOT NULL default '',
  `codice_data` varchar(30) NOT NULL default '',
  `ora` time NOT NULL default '00:00:00',
  `codice_natura` varchar(50) NOT NULL default '',
  `descrizione` text NOT NULL,
  PRIMARY KEY  (`id`,`codice_luogo`,`codice_data`,`codice_natura`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;e vorrei che la query mi ritornasse gli 
eventi che hanno luogo nel luogo conil detto codice_luogocome devo 
formularlo?io ho fatto cosi:$sql="SELECT * FROM initiative WHERE 
codice_luogo='".$_POST['luogo']."'";$query = $query = mysql_query($sql) or 
die( mysql_error() ); while ( $data= mysql_fetch_assoc($query)) {echo' 
fatto';} ..echo è solo per vedere se va poi, vedro come dispore i dati 

il form precedente si presentava cosi per le option che erano funzioni della 
tabelle del db):
<form name="titi" action="risultati.php" method="post"><select name="luogo">
<?
mysql_connect('localhost', 'root', '') or die('Erreur de connexion');
mysql_select_db('programme') or die('Base inexistante');
$scelta=$_POST["ricerca"];
$sql = 'SELECT * FROM luogo';
$query = mysql_query($sql) or die( 'Erorre' );
$nb = mysql_num_rows($query);
mysql_close();
if ( $nb < 1) {
 echo '<option>nessun luogo</option>';
}
else {
 while ( $list = mysql_fetch_array( $query ) ) {
  echo "<option value='{$list['codice_luogo']}'>{$list['nome 
luogo']}</option>";
 }
}
?>
</select> <input type="submit" value="invia"> </form> 

André Ebongué wrote:

quello che vorresti fare è una cosa del genere?
http://www.cohoyote.net/test/
-- 
www.iuz-lab.info


si. e mi riesci fino al "penultmino passo", il mio form in effetti, mi 
rstistisce corettamente i luoghi.
poi quando viene scelto un luogo , dovrei ritornare nella db per poi 
visualizzare i dati di quel dato luogo 

André Ebongué wrote:

non credo di aver capito..
prendendo come punto di riferimento il mio script cosa dovrebbe fare in piu'
lo script che vuoi creare?
-- 
www.iuz-lab.info

 lo script che vuoi creare?
partire dalla scelta fatta nel menu à tendina  nel tuo caso quello con 
california...), se uno clicca su california, viene visaulizzato quello che 
nella mia tabella initiative, si chiama descrizione.
in pratica, ho un calendario di una manifesatzione che si svolge su + giorni 
e + luoghi.
ho quindi creato una tabella, luogo( con codice_luogo, nome luogo), una data 
(codice_data, data)... ed una initiative che ragruppa tutte le info ( 
codice_luogo,codice_data, descrizione).
e propongo metodo di consultazione diversi per: luogo, per data...
vorrei che se uno sceglie metodo per luogo, viene visualizzato un form con i 
vari luoghi, e fin qua ci siamo.
dal quel form uno sceglie un luogo e a questo punto viene visualizzato la 
descrizione degli eventi in quel luogo.
non so se sono stato chiaro.
il tuo script risponde alle mie esigenze 

André Ebongué wrote:

ok credo di aver capito..
se ce la faccio entro domani pomeriggio ti posto lo script completo per la
ricerca tramite luogo, data, natura e descrizione (cosi' puoi vedere come
funziona), posso cambiare anche la struttura del db se necessario?..
-- 
www.iuz-lab.info

direi decisamente di si, sono molto curioso di capire dove sto sbagliando. 
sono sicuro che è una cosa banale, ma non riesco a vedere dove:
ecco cmq le mie tabelle:
CREATE TABLE `data` (
  `codice_data` varchar(25) NOT NULL default '',
  `nome_data` varchar(30) NOT NULL default ''
) TYPE=MyISAM;
#
# Dumping data for table `data`
#
INSERT INTO `data` VALUES ('V14', 'venerdi 14');
INSERT INTO `data` VALUES ('S15', 'sabato 15');
INSERT INTO `data` VALUES ('D16', 'domenica 16');
INSERT INTO `data` VALUES ('L17', 'lunedi 17');
INSERT INTO `data` VALUES ('M18', 'martedi 18');
INSERT INTO `data` VALUES ('M19', 'mercoledi 19');
INSERT INTO `data` VALUES ('G20', 'giovedi 20');
INSERT INTO `data` VALUES ('V21', 'venerdi 21');
     REATE TABLE `initiative` (
  `id` mediumint(9) NOT NULL auto_increment,
  `codice_luogo` varchar(50) NOT NULL default '',
  `codice_data` varchar(30) NOT NULL default '',
  `ora` time NOT NULL default '00:00:00',
  `codice_natura` varchar(50) NOT NULL default '',
  `descrizione` text NOT NULL,
  PRIMARY KEY  (`id`,`codice_luogo`,`codice_data`,`codice_natura`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
#
# Dumping data for table `initiative`
#
INSERT INTO `initiative` VALUES (1, 'La Tenda', 'V14', '16:30:00', 'MU', 
'D&J Set Miss Take musiqca Black');
INSERT INTO `initiative` VALUES (2, 'La tenda', 'V14', '17:00:00', 'FO', 
'Inaugurazione Mostra "10 anni 10 voci - fotografi contemporanei 
 sudafricani",promossa in collaborazione con l'Ambasciata del Sudafrica, 
presso La Tenda\r\n');
INSERT INTO `initiative` VALUES (3, 'La Tenda', 'V14', '18:30:00', 'DA', 
'Saggio di danza con il Maestro Baby Show  coegrafo francese di 
afrojazz,soul-jazz, funky jazz');
INSERT INTO `initiative` VALUES (4, 'La Tenda', 'V14', '20:00:00', 'GA', 
'Specialità gastronomica africana');
INSERT INTO `initiative` VALUES (5, 'La Tenda', 'V14', '21:00:00', 'MU', 
'concerto di musica blues con i Raining Men');
INSERT INTO `initiative` VALUES (6, 'La Tenda', 'V14', '22:30:00', 'MU', 
'concerto di musica afro con Djembe Rithm Group (Senegal)');
INSERT INTO `initiative` VALUES (7, 'La Tenda', 'V14', '00:30:00', 'MU', 
'D&J Set musica afro con Adou kouadio');
INSERT INTO `initiative` VALUES (8, 'Palazzo dei Musei civici', 'S15', 
'17:00:00', 'CO', 'Oratorio del Palazzo dei Musei Civici: "Tempo al tempo. 
Tempo diacronico e tempo circolare tra  Occidente e Africa" condotta da Sara 
Tagliacozzo e Theo  Sara Tagliacozzo, dottoranda in Letterature comparate 
presso l'Università di Siena, di   formazione antropologica, studia la 
Letteratura e l'arte al Village Ki Yi di Abjdjan  (Werewere Liking).\r\n 
Theo Eshetu (Etiopia), video-artista \r\n');
     CREATE TABLE `luogo` (
  `codice_luogo` varchar(20) NOT NULL default '',
  `nome luogo` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`codice_luogo`)
) TYPE=MyISAM;
#
# Dumping data for table `luogo`
#
INSERT INTO `luogo` VALUES ('TEN', 'la tenda');
INSERT INTO `luogo` VALUES ('CIT', 'cinema Truffaut');
INSERT INTO `luogo` VALUES ('ORA', 'Oratorio Palazzo dei musei');
INSERT INTO `luogo` VALUES ('CIR', 'Circolo Vibra Left');
    Grazie mille! 

     Grazie mille!
caricando i tuoi dati capisco perche' non riuscivi a far funzionare il tuo
script..
tutti quei codici sono indispensabili per qualche motivo o posso farne a
meno? posso usare codici numerici?
-- 
www.iuz-lab.info

 meno? posso usare codici numerici?
ne puoi fare benissimo a meno. l'importante che funzia e che capisco il 
metodo da usare anche nel concepimento del db.
Di nuovo 

André Ebongué wrote:

perfetto ho gia' strutturato un nuovo db ed adesso inizio a codare..
ho anche scelto un approccio diverso per la ricerca dei dati..
e cerchero' di rendere il mio codice il meno criptico possibile..
-- 
www.iuz-lab.info

vedo che 6 come me, dormire č una seccatura!
grazie mille, un buon esempio vale piů di 10 libri...! 

 grazie mille, un buon esempio vale più di 10 libri...!
fammi sapere se puo' andare bene (puoi effettuare anche ricerche
incrociate)..
qui l'esempio 'funzionante'..
http://www.cohoyote.net/test/new_search.php
qui il download del codice..
http://www.cohoyote.net/test/new_search.php_
qui la struttura ed i dati del db..
http://www.cohoyote.net/test/database.sql
naturalmente devi modificare i valori per la connessione e selezione del
db..
mysql_connect('host', 'user', 'pass')
mysql_select_db('database')
-- 
www.iuz-lab.info

 ha scritto nel messaggio 
news:cr1b9h$73n$1...@news.tiscali.fr...


> grazie mille, un buon esempio vale pi di 10 libri...!


> 
www.iuz-lab.info
no e' proprio quella..
http://www.cohoyote.net/test/new_search.php_
                                           ^
stesso nome e path ma con un underscore finale..
email: 'at'=@ trash'at'
iuz-lab.info
 
-- 
www.iuz-lab.info


continuo a vedere solo il form, volevo vedere lo script in php. a me i 2 
indirizzi portano alla stesa pagina 

André Ebongué wrote:

prova con..
http://www.cohoyote.net/test/script.txt
-- 
www.iuz-lab.info

visto. Merci beaucoup! adesso me lo studio ( facciamo quando mi sveglio, che 
sono sveglio da piu di 30 ore senza chiudere occhio!)
"iuz" <us...@host.network> ha scritto nel messaggio 
news:MlIBd.354298$b5.17...@news3.tin.it...


Ho studiato la cosa, se nel elaborazione del db, non ero andato troppo 
lontano, lo script invece è di una ltro livello lo sto studiando pian piano, 
ho affiunto anche dei luoghi e delle nature, e funzia benissimo, l'unica 
cosa vorrei convertire la data in formato standard non inglese, ho visto che 
c'è la possibilità di conversione, fra pocco ci provo.
Ho alcune domande sullo script, ma prima cerco di capire o se trovo 
documentazione.

André Ebongué wrote:

per la data puoi usare..
$data = '2005-1-2';
echo date('d-m-Y', strtotime($data));
-- 
www.iuz-lab.info

Grazie. in effetti avevo visto questa funzione adesso , sto cercando di 
cambiarlo nello script di ricerca ( in modo tale che l'utente lo inserisca 
nel formato non inglese, nel database lo posso lasciare in formato inglese, 
tanto le inserisco io).
dai un occhio al mio embrione di sito e dimmi ocsa ne pensi...č ancora molto 
embrionale!