Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: lomakeiden kenttien tulostuksessa ongelma (php)

jannu82 [18.10.2006 14:24:31]

#

oon tekemässä lomake generaattoria joka kysyy ensin formin kenttien määrän ja sitten nimet kentille sekä kenttien tyypit. tietojen tallentamiseen käytän mysql tietokantaa. ongelma on että miten saan lomakkeiden nimet talletettua niin että ne saadaan haettua oikeisiin paikkoihin tietokannasta.
tässä koodia mitä oon tehny

eka sivu jossa kysytään kenttien määrä

<?php
<head>

<title>tietokanta lomake generaattori</title>
</head>

<body>

<?php
$yhteys = mysql_connect("localhost","***","***")
        or die("Connection failed, please try again later!");

       #mysql_select_db("perkele") or die ("Could not select database");
   mysql_query("CREATE DATABASE IF NOT   EXISTS ****");
   mysql_select_db ("***") or die ("Could not select database".mysql_error());


      #mysql_query ("CREATE TABLE tieto (id INT NOT NULL AUTO_INCREMENT,valikot INT(4)NOT NULL,PRIMARY KEY(id))");



?>
<h1 align="left" > lomake generaattori</h1>
<b> valitse valikosta tekstikenttien määrä </b>
<table> <tr><td>anna kenttien määrä </td></tr></table>
<form action="testi2.php" method="get">



<input type="text" name="valikot" value=" ">
      <input name="submit" type="submit" value="submit">
<input type="reset" value="Clear">
</FORM>
<?php
if (isset($_GET['submit']))
{
$yhteys = mysql_connect("localhost","***","***")
        or die("Connection failed, please try again later!");
       mysql_select_db("****") or die ("Could not select database");
       // tehdään väliaikainen taulukko kenttien määriä varten
       mysql_query(" CREATE TEMPORARY TABLE valinta (id INT(3) NOT NULL AUTO_INCREMENT, VALIKKOT INT (3),PRIMARY KEY(id))");

   $lkm=$_GET['valikot'];
   $id=$_GET['id'];
    $kysely = mysql_query("INSERT INTO valinta SET id='$id', valikot='$lkm'");
    $result = mysql_query($kysely);
    }



?>

</body>
</html>
?>

toka sivu joka tulostaa kentät mihin pitäs kirjottaa sitten nimet kentille ja jatkaa eteenpäin. eli kentät siis tulostuu oikein

<?php

<head>

<title>lomake</title>
</head>

<body>
<?php
$yhteys = mysql_connect("localhost","***","***")
        or die("Connection failed, please try again later!");
		 mysql_select_db("***",$yhteys) or die ("Could not select database");

	$lkm=$_GET['valikot'];
	$id=$_GET['id'];
	 $kysely = mysql_query("SELECT valikot FROM valinta WHERE valikot='$lkm'");
	 $result = mysql_query($kysely);




#echo $lkm;
$field=1;
echo"<table cellspacing=8 cellpadding=0 border=0>";




for ($i=1;$i<=$lkm;$i++)

{


     echo "\t<tr>\n";



    }
     echo "syötä kentien nimet\n";


	 //tulostetaan tekstikentät
	 for ($j=1; $j<=$lkm;$j++)
	 {

	 echo "<form action='lomake2.php' method=get>";
	  	 echo "\r<tr><td><input type=name name='nimi[$j]' ></td></tr> \n";

	}


      echo "<tr><td><input type='submit' type='supmit' value='send'></td></tr>";
	  # echo "\t\t<td><input type=text name=lomake value=' '> </td>\n";
     echo "\t</tr>\n";

  echo "</table>\r";
if (isset($_POST['submit']))

$yhteys = mysql_connect("localhost","***","***")
        or die("Connection failed, please try again later!");
		$jee = mysql_select_db("***",$yhteys) or die ("Could not select database");
		 // tehdään  taulukko kenttiä  varten
		 $qsl=" CREATE TABLE  IF NOT EXISTS kentat (id INT(3)  AUTO_INCREMENT,name TEXT(15),maara INT(3),PRIMARY KEY(id))";
		mysql_query($qsl) or die(mysql_error());

	$kentta=$_GET['field'];
	$nimi[$j]=$_GET['$nimi[$j]'];
	$id=$_GET['id'];

	 $kysely1 = mysql_query("INSERT INTO kentat (id,name,maara)". " VALUES ('$id','$nimi[]','$kentta')");
	 $result = mysql_query($kysely1);

 mysql_close();


?>


</body>
</html>

?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta