Newsgroup: it.comp.www.php
Titolo: tag html in codice php

ciao a tutti,
sarò duro ma non riesco proprio a far convivere i tag html e il codice
php...
credevo dio aver fatto tutto giusto scrivendo questo codice invece mi
vengono fuori cose strane, a video,mi stampa il codice anzichè i
risultati...
questo è il codice:
$risultato = "select * from guestbook";
 mysql_query($risultato) or die("errore nella query di inserimento: " .
mysql_error());
 while ($riga = mysql_fetch_array($risultato))
 {
 echo "<table width="100%" border="2"><tr><td>";
 echo $riga["nome"];
 echo "</td><>td>";
 echo $riga["citta"];
 echo "</td><td>";
 echo $riga["email"];
 echo "</td><td>";
 echo $riga["url"];
 echo "</td><td>";
 echo $riga["commenti"];
 echo "</td></tr></table>";
 }
ma dove sbaglio???
grazie per l'aiuto
nicola

 
ciao Nicola,
spero la domanda non sia troppo stupida, ma ti sei ricordato di inserire i
tag <?php e ?> rispettivamente all'inizio e alla fine del tuo codice php?
a me un comportamento analogo a quello che descrivi si presenta quando mi
dimentico di farlo.
ciao :)
mignolo

 dimentico di farlo.
Altre soluzioni: non hai apache e/o php installati, il file non ha
un'estensione riconosciuta... cmq il prossimo problema lo avrai su questa
riga (e simili)
echo "<table width="100%" border="2"><tr><td>";
devi mettere le backslashes:
echo "<table width=\"100%\" border=\"2\"><tr><td>";
Consiglierei una buona lettura del manuale su 
http://www.php.net
Ludovico Grossi

 ma dove sbaglio???
se non hai messo i <?php e ?> all'inizio e alla fine, non potra' andare
mai :) oltretutto l'esecuzione della query e' totalmente sballata.
inoltre, per pulizia di codice quello che hai fatto tu sarebbe meglio
riscriverlo cosi':
<?php
$query = "select * from guestbook";
$risultato = mysql_query($query) or die("errore nella query di inserimento: ".mysql_error());
while ($riga = mysql_fetch_array($risultato)) {
	?>
	<table width="100%" border="2">
		<tr>
			<td><?php echo $riga["nome"]; ?></td>
			<td><?php echo $riga["citta"]; ?></td>
			<td><?php echo $riga["email"]; ?></td>
			<td><?php echo $riga["url"]; ?></td>
			<td><?php echo $riga["commenti"]; ?></td>
		</tr>
	</table>
	<?php
}
?>
controlla inoltre che ti sia veramente utile aprire e chiudere la tabella
per ogni iterazione del ciclo while. considera la possibilta' di lasciarlo
fuori e far stampare solo le righe (<tr>)
-- 
signature: No such file or directory

 dimentico di farlo.
ho cambiato la pagina,ora anzichč cercare di mettere l'html dentro il codice
php sto provando il contrario...ma i risultati sono sempre sbagliati...
ti posto l'intero codice della pagina:
******************************
<?php
include("connessione.php");
$risultato = mysql_query("select * from guestbook") or die("errore nella
query di inserimento: " . mysql_error());
?>
<table border="1" width="100%">
<?php
 while ($riga = mysql_fetch_array($risultato))
 {
?>
  <tr>
    <td><?php echo $riga["nome"]; ?></td>
    <td><?php echo $riga["citta"]; ?></td>
    <td><?php echo $riga["email"]; ?></td>
    <td><a href="<?php echo $riga["url"]; ?>"></a></td>
 <td><?php echo $riga["commenti"]; ?></td>
  </tr></table>
 <?php
 }
 ?>
*******************************

ok grazie denny ho provato e funziona...
quindi da quanto ho capito è consigliabile chiudere e aprire di volta in
volta i tag del php piuttosto che
usare echo con virgolette per passare tag html,giusto??


in realtà è praticamente equivalente.
ciao
Alesi_27

 usare echo con virgolette per passare tag html,giusto??
sicuramente. oltretutto e' anche piu' leggibile e *mantenibile* il codice.




si, in quanto a prestazione non cambia forse nulla. ma la leggibilita' del
codice e la *mantenibilita'* (?) cambia e di molto. eviti oltretutto
l'escape di tutti gli apici/doppi apici e bestie varie :)


 sicuramente. oltretutto e' anche piu' leggibile e *mantenibile* il codice.
Semmai sarà un pelino pelino più veloce.. più leggibile non direi...
Idem per la mantenibilità.. siamo lì.. semmai su questo punto è utile il
ricorso ai template.
Non si può generalizzare comunque.. dipende molto dai contesti e anche dai
"gusti".
Ne caso citato comunque non ci starebbe male
<td><?=$riga['nome'];?></td>
Tip of the day:
Per gli array come in questo caso... apicini... non virgolette.