Newsgroup: it.comp.www.php
Titolo: sintassi di un array

dovendo elencare i titoli dei film richiesti con una query per poi
linkarli al testo completo della recensione, è giusta questa sintassi
per la funzione mysql_fetch_array()? al momento non riesco a
visualizzare il contenuto delle variabili $row[titolo], $row[data],
etc....
$query = "SELECT id,data,titolo FROM film ORDER BY id";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) .
" - $row[titolo]</a><br>"; }
?>
grazie
michela

Si

> Si
è giusta?!?mmmmm,e allora perchè con questo codice:
$query = "SELECT titolo,testo,data,autore,mail FROM film WHERE
id='$id'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$data = date("j/n/y", $row[data]);
echo "<b>$row[titolo]</b><br><br>";
echo "$row[testo]<br><br>";
ciò che mi viene restituito è: 
1/1/70, 
(da notare la virgola, che non capisco da dove la prenda!!)
del titolo e del testo invece non c'è traccia, sembra inserire solo i
"newline" dei tag html...  =( 
michela

$data = date("j/n/y", $row[data]);
questa data mi pare strana...
guarda qui
http://it2.php.net/manual/en/function.date.php
in ogni caso secondo me ti conviene fare cosě
<?
list($anno,$mese,$giorno) = explode("-",$row[data]);
echo "$giorno/$mese/$anno";
?>
ciao

magari ti fa comodo anche questo script
//stampa la data attuale in formato Domenica 8 Settembre 2002
$giorni = array (
"Domenica","Lunedě","Martedě","Mercoledě","Giovedě","Venerdě","Sabato");
$mesi =array (
"Dicembre","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre");
$data = $giorni[date("w")]." ".date("j")." ".$mesi[date("n")]." ".date
("Y");
//echo $data;
Il Mon, 30 Aug 2004 10:33:15 GMT, 
m.a...@libero.it
 
io il tuo script lo avrei scritto cosě
<?
$query = " SELECT * FROM film ORDER BY id ";
$result = mysql_query($query, $db) or die (mysql_error());
while ($row = mysql_fetch_array($result))
	{
	?>
	 <a href="view.php?id=<?=$row[id]?>"> <?= $data /*vedi in
seguito */ . $row[titolo]; ?> </a><br>";
	<?
	 }
?>
oppure cosě
<?
$query = " SELECT * FROM film where id = $id ORDER BY id ";
$result = mysql_query($query, $db) or die (mysql_error());
$row = mysql_fetch_array($result))
?>
 <a href="view.php?id=<?=$row[id]?>"> <?= $data /*vedi in seguito */ .
$row[titolo]; ?> </a><br>";
?>

 in ogni caso secondo me ti conviene fare così
[cut]
ho provato a cambiare con il tuo codice, ma il risultato diventa ora:
SELECT titolo,testo,data,autore,mail FROM news WHERE id=''// 
,
(la solita virgola insignificante, e in + si sono aggiunti i due // alla
fine della query...!?!?!)
nb: anche la data gliela passo con una form,dove però i campi sono
inseriti in un menù a tendina(non so se è un aspetto rilevante)...
michela

 ".date("j")." ".$mesi[date("n")]." ".date ("Y"); //echo $data;
modificato con questo codice... decisamente meglio, grazie!!  =) ho
scoperto una cosa: la famosa virgola la scrive perchè nello script ho
una parte che dice:
if ($row[mail] != "") echo "$data, <a
href=mailto:$row[mail]>$row[autore]</a><br>"; else echo "$data,
$row[autore]<br>"; echo "<br><a href=index.php>Torna alla pagina
iniziale</a><br>"; echo "<a href=all.php>Visualizza tutti i
film</a><br>";
praticamente non riesce a vedere il contenuto dell'array $row... sbaglio
a passargli gli argomenti?serve per caso da qlche parte una GET?  =O
michela

 id='$id'";
In mySQL c'č un sistema/funzione FORMAT_DATE(....) per convertire le
date presenti nel DB, prova a cercare informazion sulla funzione. Per il
resto del tuo problema non so (no time to work on it ndr)
Ciao!
-- 
..::[ Panz ]::..
-----------------------
per rispondere riscrivi in numeri la mia eMail!

SELECT titolo,testo,data,autore,mail FROM news WHERE id=''// 
in ogni caso non ti mostra il $id o $_POST[id]
quindi la query risulta vuota e di conseguenza non ti mostra alcun
valore

 SELECT titolo,testo,data,autore,mail FROM news WHERE id='25' 
hai perfettamente ragione, me ne sono accorta ora!!
allora il problema è questo (forse mi ero spiegata male):
ho una lista di film, ordinati in base all'id (che si è autoincrementato
automaticamente quando ho popolato la db con le recensioni)... fin qui
tutto ok perchè lo script mi visualizza correttamente la lista dei
film...
cliccando sul titolo (tramite il codice che sotto riporto) dovrebbe
essere possibile visualizzare la recensione e l'e-mail di chi l'ha
scritta, ma in realtà ciò non succede, sebbene l'url contenga l'id del
titolo da me scelto...
$query = "SELECT id,data,titolo FROM film ORDER BY id ";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) .
" - $row[titolo]</a><br>"; }
quindi in pratica $row[id] lo prende giusto, ma quando successivamente
gli dico
$query = "SELECT titolo,testo,data,autore,mail FROM film WHERE
id='$id'";  //anche con $_POST[id] è la stessa cosa
echo $query;
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$giorni = array (
"Domenica","Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato");
$mesi =array (
"Dicembre","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Lugl
io","Agosto","Settembre","Ottobre","Novembre");
$data = $giorni[date("w")]." ".date("j")." ".$mesi[date("n")]." ".date
("Y");
echo "<br> $data";
echo "<b>$row[titolo]</b><br><br>";
echo "$row[testo]<br><br>";
if ($row[mail] != "") echo "$data, <a
href=mailto:$row[mail]>$row[autore]</a><br>"; else echo "$data,
$row[autore]<br>";
echo "<br><a href=index.php>Torna alla pagina iniziale</a><br>";
la risposta che ricevo è sempre:
SELECT titolo,testo,data,autore,mail FROM news WHERE id='' 
Lunedi 30 Agosto 2004 
cioè un campo vuoto... ma allora mi chiedo: perchè nell'url mi scrive
view.php?id=2 e poi invece mi lascia il campo vuoto, come se non glielo
passassi?!?
michela

>scritta, ma in realtà ciò non succede, sebbene l'url contenga l'id del
URL la parola magica che non avevo colto
le variabili passate tramite url sono di tipo GET
in pratica dovrai scrivere $_GET['id']  e nn $_POST['id']
sorry, mi era proprio sfuggito
in ogni caso il problema è tutto nel fatto che la query non ti vede
l'id il resto del codice mi pare vada bene

> in pratica dovrai scrivere $_GET['id']  e nn $_POST['id']
ma tu sei un genio!!! se non sbaglio è già una volta che mi riesci a
risolvere un problema....... mi sa che se prenderò un buon voto
all'esame ti dovrò offrire una cena!!   =D
grazie mille
michela

a passargli gli argomenti?serve per caso da qlche parte una GET?  =O
sigh... sì... l'ID glielo passi con l'url, quindi è una variabile get
($_GET[id])
chissà perché ero convinto che glielo passassi con un post

all'esame ti dovrò offrire una cena!!   =D
esame? ingegneria?
dove?

 dove?
Informatica (NON ing.informatica, ndr) alla sapienza
michela

 ($_GET[id])
però il dubbio mi era venuto!!   =D
ora sono andata un passetto avanti, ma ho appena cominciato!! prevedo di
essere la frequentatrice + assidua del ng nelle prossime settimane (devo
consegnare il prototipo entro fine settembre)... sarò il vostro
incubo!!!   =P
grazie per la pazienza,spero prima o poi di poter ricambiare
michela

approfitto per chiederti una piccola cosa (ancora...): ho visto il link
che mi hai dato per la sintassi delle funzioni... spettacolare!!
perň dovevo cercare quella di Count nel caso specifico:
SELECT count(*) AS tot FROM film
per vedere se mancava qlcosa, ma ho trovato solo esempi con array,
nessun accenno alle query... c'č un altro sito a cui posso fare
riferimento o ho cercato male?
michela

 perň dovevo cercare quella di Count nel caso specifico:
http://dev.mysql.com/doc/mysql/en/index.html
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.