Problema con le tabelle in html

  • Creatore Discussione Creatore Discussione vodka
  • Data di inizio Data di inizio
ciao
scusa cosa intendi una tabella dentro l'altra?
guarda che devi fare una pagina php che riceva i dati dal form, e, una volta ricevuti, metterli in una tabella
 
si ma prima devo creare quel modulo html e nn sò come impostare quelle tabelle
 
ciao
ti do un'imbeccata

pagina del form
HTML:
<form name="form1" method="post" action="altra_pagina.php">
  <table width="100%"  border="0" cellspacing="2" cellpadding="0">
    <tr>
      <td width="14%">uno</td>
      <td width="39%"><input name="uno" type="text" id="uno"></td>
      <td width="28%">&nbsp;</td>
      <td width="19%">&nbsp;</td>
    </tr>
    <tr>
      <td>scegli</td>
      <td><input name="scelta" type="radio" value="bianco">
        bianco 
        <input name="scelta" type="radio" value="nero">
        nero</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="invia"></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
pagina che riceve, deve chiamarsi col nome che metti nell'action del form
PHP:
<?php
if(isset($_POST['Submit'])){
	$uno=$_POST['uno'];
	$scelta=$_POST['scelta'];
	//mancano tutti i controlli di verifica
	echo "<table width=\"100%\"  border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
	echo "<tr>";
	echo "<td>nel campo uno ho scritto</td>";
	echo "<td>$uno</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>colore scelto</td>";
	echo "<td>$scelta</td>";
	echo "</tr>";
	echo "</table>";
}
?>

puoi fare anche tutto in una pagina unica, io di solito metto la parte php sopra e l'html sotto
 
ma ciò k hai scritto si riferisce all'esercizio 9?
cmq sono riuscito diciamo a fare le tabelle xò nn riesco a posizionare l'intestazione della tabella(ad es.informazioni personali sul bordo), nn riesco ad allineare le text, e i pulsanti di submit vengono divisi dalla parte superiore della tabella con una linea.
 
ciao
se anche per te l'esercizio 9 è questo
9. Dato il seguente modulo HTML

quì c'è il form

scrivere uno script PHP che stampi in una tabella tutte le informazioni che gli sono state passate dall’utente (modificare opportunamente il codice HTML del modulo).


p.s.
prova a postare quesslo che stai facendo
 
questo è il codice x il modulo html
<html>
<head>
<title>Informazioni generali</title>
</head>
<body>
<FORM METHOD=POST ACTION="informazionigen.php">

<TABLE border="2" width="620" height="325" cellpadding="20">

<TR>
<td valign="buttom">
<TABLE align="left"border="1" width="275" height="175" valign="top"> <thead>Informazioni personali</thead>
<TD>&nbsp;
Cognome: <INPUT TYPE="text" NAME="cognome">
<br> Nome: <INPUT TYPE="text" NAME="nome">
<br> Data di nascita: <INPUT TYPE="text" NAME="datan">
<br> Luogo di nascita: <INPUT TYPE="text" NAME="luogon">
<br> Sesso <INPUT TYPE="radio" NAME="maschio">Maschio <INPUT TYPE="radio" NAME="donna">Donna</TD>
</TABLE>
<TABLE align="right" valign="top" border="1" width="275" height="175" ><thead>Indirizzo
</thead>
<tr>
<TD>&nbsp;Via: <INPUT TYPE="text" NAME="via">
<br> Numero: <INPUT TYPE="text" NAME="numero">
<br> C.A.P.: <INPUT TYPE="text" NAME="cap">
<br> Città: <INPUT TYPE="text" NAME="citta">
<br> Provincia: <INPUT TYPE="text" NAME="provincia"></TD>
</TR>
</TABLE>

</td>
</tr>
<td align="center" valign="top"><INPUT TYPE="submit" value="Invia Dati"><INPUT TYPE="submit" value="Cancella"></td>

</TABLE>
</FORM>

Questo il codice php dove sto cercando di scrivere i dati in una databse

<html>
<head>
<title>Informazioni</title>
</head>
<body>
<fieldset>
<legend><B>Informazioni generali</B></legend>
<TABLE border="1">
<?php
$host='127.0.0.1';
$user='mionome';
$password='miapassword';
$database='informazionipers';
$db=mysql_connect($host, $user, $password) or die ("impossibile connettersi al server $host");
mysql_select_db($database, $db) or die ("impossibile connettersi al databse $databse");
print("<tr><td>Nome: $_POST[nome]</td></tr>");
print("<tr><td>Cognome: $_POST[cognome]</td></tr>");
print("<tr><td>Luogo di nascita: $_POST[luogon]</td></tr>");
print("<tr><td>Data di nascita: $_POST[datan]</td></tr>");
if (isset($_POST['maschio']))
print("<tr><td>Sesso: Maschio</td></tr>");
else
print("<tr><td><Sesso: Donna/td></tr>");


print("<tr><td>Via: $_POST[via]</td></tr>");
print("<tr><td>C.A.P.: $_POST[cap]</td></tr>");
print("<tr><td>Numero: $_POST[numero]</td></tr>");
print("<tr><td>Città: $_POST[citta]</td></tr>");
print("<tr><td>Provincia: $_POST[provincia]</td></tr>");
$query= "CREATE TABLE informazioni (nome varchar(15) not null, cognome varchar(15) not null, luogo di nascita varchar(20) not null, data di nascita varchar(10) not null, sesso varchar(7) not null, via varchar(30) not null, c.a.p. varchar(7) not null, numero varchar(3) not null, citta varchar(20) not null, provincia varchar(2) not null)";
$query="insert into informazioni (nome,cognome,luogo di nascita,data di nascita,sesso,via,c.a.p.,numero,citta,provincia) VALUES($_POST[nome],$_POST[cognome],$_POST[luogon],$_POST[datan],$_POST[via],$_POST[cap],$_POST[numero],$_POST[citta],$_POST[provincia])";
if (mysql_query($query, $db))
{
print("il record è stato inserito!");
}
else
{
print("Attenzione, impossibile inserire il record");
}
?>
</table>
</fieldset>
</body>
</html>
 
inoltre non capisco perchè non riesco a creare una tabella nel database che ho creato da phpmyadmin. :S
 
ciao
ti ho fatto "alcune" correzioni

HTML:
<form method="POST" action="informazionigen.php" name="invio_dati">
<table border="2" width="620" height="325" cellpadding="20">
	<tr>
		<td valign="buttom">
		<table align="left"border="1" width="275" height="175" valign="top">
			<tr>
				<td colspan="2">Informazioni personali</td>
			</tr>
			<tr>
				<td>Cognome:</td><td><input type="text" name="cognome"></td>
			</tr>
			<tr>
				<td>Nome:</td><td><input type="text" name="nome"></td>
			</tr>
			<tr>
				<td>Data di nascita:</td><td><input type="text" name="datan"></td>
			</tr>
			<tr>
				<td>Luogo di nascita:</td><td><input type="text" name="luogon"></td>
			</tr>
			<tr>
				<td>Sesso</td><td><input type="radio" name="sesso" value="MASCHIO">Maschio <input type="radio" name="sesso" value="DONNA">Donna</td>
			</tr>
		</table>
		<table align="right" valign="top" border="1" width="275" height="175">
			<tr>
				<td colspan="2">Indirizzo</td>
			</tr>
			<tr>
				<td>Via:</td><td><input type="text" NAME="via"></td>
			</tr>
			<tr>
				<td>Numero:</td><td><input type="text" name="numero"></td>
			</tr>
			<tr>
				<td>C.A.P.:</td><td><input type="text" name="cap"></td>
			</tr>
			<tr>
				<td>Città:</td><td><input type="text" name="citta"></td>
			</tr>
			<tr>
			<td>Provincia:</td><td><input type="text" name="provincia"></td>
			</tr>
		</table>
	</td>
	</tr>
	<td align="center" valign="top"><input type="submit" value="InviaDati" name="invia">&nbsp;&nbsp;<input type="submit" value="Cancella"></td>
</table> 
</form>
poi volevo segnalarti:
1. quando scrivi i tag non scrivere qualcuno maiuscolo e qualcuno minuscolo, tutti nello stesso modo
2. usa l'indentatura
3. al form, anche se a volte non serve, è buona norma dargli un nome
4. i radiobutton, soprattutto in questo caso in cui uno non può essere contemporaneamente sia maschio che donna, devono avere lo stesso nome e inviare due valori diversi
5. il pulsante di submit deve avere un nome

poi guardo la parte php.
per la domanda
perchè non riesco a creare una tabella
sta usando myadmin o la crei con una query da php?
 
grazie mille per le correzioni e i suggerimenti, cmq uso myadmin per verificare se la tabella è stata inserita, cioà se io la tabella non la creo da myadmin, attraverso l'istruzione ke ho scritto ($query=create table...) la tabella non me la crea non capisco il perchè
 
ciao
con msql stai facendo un po di casino.
1:
ma se fai cosi ogni volta che lanci lo script ti crea la tabella con conseguenze che puoi immaginare, la creazione della tabella si fa con uno script a parte e di solito si mette la condizione
$query= mysql_query("CREATE TABLE ....IF NOT EXIST...");

per il resto poi ti dico
 
aa capisco e si hai ragione con mysql sto facendo un pò di casino e non riesco a capire come posso fare per la creazione della tabella se poi hai un pò di tempo per spiegarmi meglio dove sbaglio ti ringrazio ;)
 
ciao
così impari anche la sintassi EOD.
poi guarda che l'id primari key autoincrement ci deve essere

poi devi fare un file a parte chiamato,es, crea_tabella.php e richiamarlo.
stai attento ai nomi (anche maiuscole/minuscole)
PHP:
<?php
$host='127.0.0.1';
$user='mionome';
$password='miapassword';
$database='informazionipers';
$db=mysql_connect($host, $user, $password) or die ("impossibile connettersi al server $host");
mysql_select_db($database, $db) or die ("impossibile connettersi al databse $databse");
//NON SCRIVERE I NOMI CON GLI SPAZI O CON I PUNTI
$stringa_crea=<<<TABELLA
	CREATE TABLE clienti IF NOT EXIST(
	id int(20) NOT NULL auto_increment,
	nome varchar(15) NOT NULL,
	cognome varchar(15) NOT NULL,
	luogo_nascita varchar(20) NOT NULL,
	data_nascita varchar(20) NOT NULL,
	sesso varchar(7) NOT NULL,
	via varchar(30) not null,
	cap varchar(7) not null,
	numero varchar(3) not null,
	citta varchar(20) not null,
	provincia varchar(2) not null,
	PRIMARY KEY (id) )ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
TABELLA;

mysql_query($stringa_crea) or die("non è stato possibile creare la tabella");
//se non vuoi mettere or die()
if(mysql_query($stringa_crea)){
	echo "creata la tabella";
}else{
	echo "non è stato possibile creare la tabella";
}
?>
 
quindi devo sempre creare un'altro script a parte che poi viene richiamato dal principale diciamo per creare una tabella, stavo andando un pò allo sbando in questa situazione.
Spero funzioni d'ora in poi :).
Grazie millee!! ;)
 
aa già è vero sarebbe inutile rikiamarlo sempre ho cpt :)
bè spero proprio non hai sbagliato sintassi ho perso il pomeriggio oggi per trovare la soluzione ahah
 
ciao,
ti do un'altra imbeccata per la seconda parte (pag.informazionigen.php)
(tra l'altro e meglio scrivere $_POST['invia'] e non $_POST[invia], senza apici talvolta funzia, ma puo dare problemi)
PHP:
<?php
if(isset($_POST['invia'])){//verifica che sia stato premuto il submit
	//io di solito passo i post in una variabile, prima è più lungo, ma poi in seguito si guadagna
	$nome=trim($_POST['nome']);//tolgo eventuali spazi iniziali e finali poi mi serve per le verifiche
	//ecc.. con tutti i post
	if($nome!="" && $cognome!="" && $luogon!=""){//devi proseguire con tutti gli altri && ecc...
		//tutti i campi di input sono stati riempiti
		/*comunque mancano molti altri controlli che di devi studiare
		sopattutto se l'insert viene farto da terzi*/
		//presenti i dati
		echo "<table width=\"100%\"  border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
		echo "<tr><td colspan=\"6\"><b>INFORMAZIONI INVIATE</b></td></tr>";
		echo "<tr><td>nome e cognome</td><td>luogo nascita</td><td>data nasita</td><td>sesso</td><td>indirizzo</td><td>citt&agrave;</td> </tr>";
		echo "<tr><td>$nome $cognome</td><td>$luogon</td><td>$datan</td><td>$sesso</td><td>$via, $numero</td><td>$cap $citta ($provincia)</td> </tr>";
		echo "</table>";
		//qui studia un controllo per confermare o no i dati inseriti
        //QUI I DATI DI CONNESSIONE
		//fai la query_stringa ATTENTO AI NOMI, non li scrivo tutti
		$query="INSERT INTO informazioni (nome, cognome,....) VELUES('$nome', '$cognome',....)";
		//NOTA: vedi non ho inserito l'id che si aggiorna in automatico
		if(mysql_query($query)){
			echo "<br>i dati sono stati salvati<br>";
		}else{
			echo "<br>errore - ripetere<br>";
		}
	}else{
		//uno o più campi non sono stati riempiti
		echo "<br>tutti i campi devono essere riempiti<br>";
	}
}
penso che con questo, per ora, tu abbia da lavorare per far funziare l'esercizio n° 9
alla prossima

p.s.
quando scrivi gli array associativi (globali o no) devi mettere gli apici salvo che l'indice non sia numerico (array scalari)
es.
$pinco['sofonisba']
$pallo[2]
 
quindi a tutto questo dopo devo sempre associare un'altro script per la creazione della tabella, spero riesco al meglio grazie ankora x le spiegazioni dettagliate ;)
Immagina le mie difficoltà dal momento k sto iniziando a programmare da poco e facendo tutto da solo .
 
ciao
....e facendo tutto da solo
"chi fa da se fa per tre"
scherzi a parte:
devi avere tre file:
uno per creare la tabella, deve essere un file .php
uno per metterci il form che può essere .php o, se non c'è dentrto alcun script, può essere anche .htm .html
uno per visionare e salvare i dati inviati dal form, deve essere .php
 
maledetti database!!!
ho fatto uno script a parte con il codice che tu mi hai suggerito e non mi crea la tabella!!
 

Discussioni simili