SQL en PHP - met m.b.v. for loop database vullen

Status
Niet open voor verdere reacties.

Tim Hovius

Gebruiker
Lid geworden
25 jan 2008
Berichten
788
Hallo allemaal,

Ik wil graag dat de invoervelden met een for-loop gepost worden - en opgelslagen in de database.
De namen die voor de invoervelden komen, zijn de veldnamen van de database.

Weet iemand hoe dit moet?

PHP:
<?php
	
	$boodschap = null;
	
	$verbinden = mysql_connect("localhost","Tim Hovius","wachtwoord");	
		
	if (!$verbinden)  {
		$boodschap = "Kan niet verbinden met de database: ";
 	}

	$database = file_get_contents ("database.txt");
	
	mysql_select_db ($database, $verbinden);
	
	$result = mysql_query("SELECT * FROM hallo");

	if (!$result) {
	$message = 'ERROR:' . mysql_error();
	return $message;
	}
	
	else  {
	$i = 0;
	echo '<table>';
	while ($i < mysql_num_fields($result)) {
		echo "\n";
		$naam = $i + 1;
		$meta = mysql_fetch_field($result, $i);
		echo "<tr>";
		echo "\n";
		echo "\t";
		echo "<td>" . $meta->name . "</td>";
		echo "\n";
		echo "\t";
		echo "<td><input name=$meta->name type=text /></td>";
		echo "\n";
		echo "</tr> ";
		$i = $i + 1;
	}
	
	echo "\n";
	echo "</table>";
}

mysql_close($verbinden);	
?>
 
php is lang geleden dus don't shoot me maar ik zie nergens een input van je opgehaalde gegevens.
ergens moet er iets staan van echo $meta
fetch zorgt er alleen voor dat de data die uit je sql komt word omgezet in een bruikbaar variabel. in dit geval $meta omdat er staat $meta = mysql_fetch_field...
staat hier $jan = mysql_fetch_field... dan zitten je gegevens achter $jan.

ik weet niet wat er nog op dit script volgt want ik denk dat dit maar een stukje ervan is.
 
Laatst bewerkt:
Dit is mijn volledige code.

Misschien kun je er wat meer mee, het laatste stukje moet de informatie uit de textbox halen.

Het gaat vooral om dit stukje:

if (!empty($_POST)) {

$i = 0;
while ($i < mysql_num_fields($result)) {

$meta = mysql_fetch_field($result, $i);
if (isset ($_POST[$i])) {
$inhoud = $_POST[$i];
mysql_query("INSERT INTO hallo ($meta->name)
VALUES ($inhoud)");
$i = $i + 1;

}
}
}



De hele code met HTML:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gegevens invoeren</title>
<link href="opmaak.css" rel="stylesheet" type="text/css"/> 
</head>

<body>

<form method="post" action="">

<?php
	
	$boodschap = null;
	
	$verbinden = mysql_connect("localhost","Tim Hovius","1m2u3z4i5e6k7");	
		
	if (!$verbinden)  {
		$boodschap = "Kan niet verbinden met de database: ";
 	}

	$database = file_get_contents ("database.txt");
	
	mysql_select_db ($database, $verbinden);
	
	$result = mysql_query("SELECT * FROM hallo");

	if (!$result) {
	$message = 'ERROR:' . mysql_error();
	return $message;
	}
	
	else  {
	$i = 0;
	echo '<table>';
	
	while ($i < mysql_num_fields($result)) {
	
		echo "\n";
		$meta = mysql_fetch_field($result, $i);
		echo "<tr>";
		echo "\n";
		echo "\t";
		echo "<td>" . $meta->name . "</td>";
		echo "\n";
		echo "\t";
		echo "<td><input name=$i type=text /></td>";
		echo "\n";
		echo "</tr> ";
		$i = $i + 1;
		}
	
	echo "\n";
	echo "</table>";
	}
	

	if (!empty($_POST)) {
	
		$i = 0;
		while ($i < mysql_num_fields($result)) {
			
			$meta = mysql_fetch_field($result, $i);
			if (isset ($_POST[$i])) {
			$inhoud = $_POST[$i];
			mysql_query("INSERT INTO hallo ($meta->name)
			VALUES ($inhoud)");
			$i = $i + 1;
			
			}						
		}
	}

mysql_close($verbinden);	
?>
<input name="Submit" type="submit" value="OK" />
</form>

</body>

</html>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan