Detter
Neuer Benutzer
- Beiträge
- 1
Hallo, das letzte mal habe ich vor 10 Jahren programmiert, bin noch bei der Auffrischung.
Ich habe folgendes Problem in der 1. php Seite habe ich drei Formular Felder in dem die Datenbank festgelegt wird, der Name der Tabelle und die Anzahl der Spaltenüberschrift.
Diese werden mit POST an die nächste PHP Seite übergeben und sollen dann in der Datenbank gespeichert werden.
1. PHP Seite Datenbearbeitung_1.php
if($Bearbeitung === "Neue Tabelle")
{
?>
<form action="Datenbearbeitung_2.php" method="post">
<table>
<tr> <td width="400px">Datenbank Name: </td><td><select name="DBname">
<?php
$mysqli = new mysqli("localhost", "root", "");
$sql = "SHOW DATABASES";
$result = $mysqli->query($sql);
while($row = mysqli_fetch_array($result))
{
?><option> <?php echo $row[0]; ?> </option> <?php
}
?>
</select></td></tr>
<tr><td width="400px">Tabellen Name:</td><td><input type="text" name="TBname"></input></td></tr>
<tr><td width="400px">Spaltenzahl:</td><td><input type="text" name="SPzahl"></input></td></tr>
<tr><td width="400px"><input type="submit" name="action" value="WEITER!"></input><input type="hidden" name="Bearbeitung" value="<?php echo $Bearbeitung; ?>"> </td></tr>
</form>
</table>
<?php
}
In der 2. PHP Datenbearbeitung_2.php Seite werden die Eingabefelder mit SELECT erzeugt und dann mit POST an die nächste PHP Seite gesendet.
if($Bearbeitung === "Neue Tabelle")
{
?>
<table>
<form action="Datenbearbeitung_3.php" method="post">
<?php
echo "Neue Datenbank Tabelle in der Datenbank ".$DBname." mit dem Namen ".$TBname." und ".$SPzahl." Feldern erstellen! <br><br>";
for($i=0; $i < $SPzahl; $i++)
{
?> <tr><td> <?php echo "Feld".$i+1; ?> </td>
<?php $Feld = "Feld".$i;
?>
<td> <input type="text" name="<?php echo $Feld; ?>"> </input> </td></tr>
<?php
}
?>
<tr>
<td><input type="submit" name="action" value="WEITER!">
<input type="hidden" name="Bearbeitung" value="<?php echo $Bearbeitung; ?>">
<input type="hidden" name="SPzahl" value="<?php echo $SPzahl; ?>">
<input type="hidden" name="TBname" value="<?php echo $TBname; ?>">
<input type="hidden" name="DBname" value="<?php echo $DBname; ?>">
</form>
</td>
</tr>
</table>
<?php
}
Hier in der 3. PHP Seite Datenbearbeiten_3.php hänge ich fest, ich bekomme die Daten nicht alle, sondern höchstens eine Spaltenüberschrift in die Tabelle geschrieben.
Ich brauche einen denk Anstoß das zu verwirklichen.
Ich habe schon einiges ausprobiert aber jetzt gehen mir die Ideen aus!
Wie bekomme ich die Spaltenüberschriften die per Schleife aus POST gelesen werden in die CREATE TABLE Anweisung?
<?php
$DBname = $_POST['DBname'];
$Bearbeitung = $_POST['Bearbeitung'];
$TBname = $_POST['TBname'];
$SPzahl = $_POST['SPzahl'];
$link = mysqli_connect("localhost", "root", "", $DBname);
for($i=0; $i < $SPzahl; $i++)
{
$Feld = $_POST['Feld'.($i)];
echo $Feld;
$sql = "CREATE TABLE $TBname ($Feld text)"; //<--------------------PROBLEM
}
if(mysqli_query($link, $sql)){
echo "Table created successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
?>
Danke im voraus!
Ich habe folgendes Problem in der 1. php Seite habe ich drei Formular Felder in dem die Datenbank festgelegt wird, der Name der Tabelle und die Anzahl der Spaltenüberschrift.
Diese werden mit POST an die nächste PHP Seite übergeben und sollen dann in der Datenbank gespeichert werden.
1. PHP Seite Datenbearbeitung_1.php
if($Bearbeitung === "Neue Tabelle")
{
?>
<form action="Datenbearbeitung_2.php" method="post">
<table>
<tr> <td width="400px">Datenbank Name: </td><td><select name="DBname">
<?php
$mysqli = new mysqli("localhost", "root", "");
$sql = "SHOW DATABASES";
$result = $mysqli->query($sql);
while($row = mysqli_fetch_array($result))
{
?><option> <?php echo $row[0]; ?> </option> <?php
}
?>
</select></td></tr>
<tr><td width="400px">Tabellen Name:</td><td><input type="text" name="TBname"></input></td></tr>
<tr><td width="400px">Spaltenzahl:</td><td><input type="text" name="SPzahl"></input></td></tr>
<tr><td width="400px"><input type="submit" name="action" value="WEITER!"></input><input type="hidden" name="Bearbeitung" value="<?php echo $Bearbeitung; ?>"> </td></tr>
</form>
</table>
<?php
}
In der 2. PHP Datenbearbeitung_2.php Seite werden die Eingabefelder mit SELECT erzeugt und dann mit POST an die nächste PHP Seite gesendet.
if($Bearbeitung === "Neue Tabelle")
{
?>
<table>
<form action="Datenbearbeitung_3.php" method="post">
<?php
echo "Neue Datenbank Tabelle in der Datenbank ".$DBname." mit dem Namen ".$TBname." und ".$SPzahl." Feldern erstellen! <br><br>";
for($i=0; $i < $SPzahl; $i++)
{
?> <tr><td> <?php echo "Feld".$i+1; ?> </td>
<?php $Feld = "Feld".$i;
?>
<td> <input type="text" name="<?php echo $Feld; ?>"> </input> </td></tr>
<?php
}
?>
<tr>
<td><input type="submit" name="action" value="WEITER!">
<input type="hidden" name="Bearbeitung" value="<?php echo $Bearbeitung; ?>">
<input type="hidden" name="SPzahl" value="<?php echo $SPzahl; ?>">
<input type="hidden" name="TBname" value="<?php echo $TBname; ?>">
<input type="hidden" name="DBname" value="<?php echo $DBname; ?>">
</form>
</td>
</tr>
</table>
<?php
}
Hier in der 3. PHP Seite Datenbearbeiten_3.php hänge ich fest, ich bekomme die Daten nicht alle, sondern höchstens eine Spaltenüberschrift in die Tabelle geschrieben.
Ich brauche einen denk Anstoß das zu verwirklichen.
Ich habe schon einiges ausprobiert aber jetzt gehen mir die Ideen aus!
Wie bekomme ich die Spaltenüberschriften die per Schleife aus POST gelesen werden in die CREATE TABLE Anweisung?
<?php
$DBname = $_POST['DBname'];
$Bearbeitung = $_POST['Bearbeitung'];
$TBname = $_POST['TBname'];
$SPzahl = $_POST['SPzahl'];
$link = mysqli_connect("localhost", "root", "", $DBname);
for($i=0; $i < $SPzahl; $i++)
{
$Feld = $_POST['Feld'.($i)];
echo $Feld;
$sql = "CREATE TABLE $TBname ($Feld text)"; //<--------------------PROBLEM
}
if(mysqli_query($link, $sql)){
echo "Table created successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
?>
Danke im voraus!