Datensätze in Tabelle aus MySQL Datenbank weiterverarbeiten
Hallo!
Ich habe die Suchfunktion schon mehrmals gestresst und finde nicht das richtige Ergebnis zu meinem Problem:
Ich habe eine Tabelle in einer Datenbank.
Diese Tabelle rufe ich per PHP ab. So erscheinen die Datensätze in einer Tabelle.
Meine zukünftigen Kunden sollen sich nun mit Hilfe von Checkboxen die einzelnen Datensätze aus der Tabelle auswählen können.
Mittels einem Button sollen die ausgewählten Datensätze in eine neue Tabelle übernommen werden.
Da die Kunden über mehrere Tabellen zum Endergebnis kommen sollen, müssten die ausgewählten Datensätze irgendwo zwischengespeichert werden?
Im Endergebnis sollen alle ausgewählten Datensätze der verschiedenen Tabellen in einer Tabelle angezeigt werden.
Frage: Wie kann ich die ausgewählten Datensätze der einzelnen Tabellen weiterverarbeiten?
Ich habe die Suchfunktion schon mehrmals gestresst und finde nicht das richtige Ergebnis zu meinem Problem:
Ich habe eine Tabelle in einer Datenbank.
Diese Tabelle rufe ich per PHP ab. So erscheinen die Datensätze in einer Tabelle.
Meine zukünftigen Kunden sollen sich nun mit Hilfe von Checkboxen die einzelnen Datensätze aus der Tabelle auswählen können.
Mittels einem Button sollen die ausgewählten Datensätze in eine neue Tabelle übernommen werden.
Da die Kunden über mehrere Tabellen zum Endergebnis kommen sollen, müssten die ausgewählten Datensätze irgendwo zwischengespeichert werden?
Im Endergebnis sollen alle ausgewählten Datensätze der verschiedenen Tabellen in einer Tabelle angezeigt werden.
Frage: Wie kann ich die ausgewählten Datensätze der einzelnen Tabellen weiterverarbeiten?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41557
Url: https://administrator.de/forum/datensaetze-in-tabelle-aus-mysql-datenbank-weiterverarbeiten-41557.html
Ausgedruckt am: 17.04.2025 um 14:04 Uhr
1 Kommentar
@M1a2t3t4i
Hi,
hier
Mit Checkboxen Selects steuern
findest du ein Minibeispiel, wie man mit HTML-Tags Datensätze und
Spalten filtern kann.
Das Formular habe ich erweitert:
Erweiterung des Script:
Anschließend, Fortsetzung des Script.
Du kannst nun verschiedene Tabellen anlegen, mit verschiedenen Spalten
aus einem oder allen Datensätzen.
Script zur Ausgabe der Tabellen:
Du kannst auch nur ganze Datensätze auswählen.
Siehe
Tabellen sortieren mit PHP
Dieses Script, Anhang I, zeigt dir den Inhalt einer Tabelle.
Erweiterungen:
Die gesamte Tabelle wird in das Formular übernommen.
In dem Formular werden, wie oben, ein Submit-Button, ein Textfeld eingefügt:
An die Ausgabe der Spaltenköpfe wird ein Feld angehangen
Hier werden die Spaltenköpfe angezeigt
Begin des Tabellenkopfes
echo "<tr>";
while($field=key($row)){
echo "<th><a href=\"sort.php?sort=$field&dir=$dir\">$field</a></th>";
next($row);
}
echo "<th></th>"; Eine Spalte anfügen
echo "</tr>";
Ende Tabellenkopf
An jedem Datensatz wird eine Checkbox angehangen, Inhalt der Checkbox ist die
ID des Datensatzes.
Da durch die Anweisung $row=mysql_fetch_array($result, MYSQL_ASSOC)); bereits der
erste Datensatz "geholt" wurde, muß er separat ausgegeben werden
echo "<tr><td>";
echo implode("<td>", $row);
echo "<td><input type=\"checkbox\" name=\"choice\" value=$row[id]></td>";
echo "</tr>";
Dann erfolgen die restlichen Datensätze mit der while-Schleife
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr><td>";
echo implode("<td>", $row);
echo "<td><input type=\"checkbox\" name=\"choice\" value=$row[id]></td>"; Nach Ausgabe der Spalten
wird eine Checkbox als Array ausgegeben.
echo "</tr>";
Scripterweiterung:
Anschließend, Fortsetzung des Script.
Den Wechsel zur einer anderen Datenbank hab' ich mir im 2. Beispiel gespart, es ging
ja nur um die Demo, ganze Datensätze zu übernehmen.
Um das umzusetzen, wird's ein bißchen komplizierter.
Tabellen sind nun mal verschieden breit(Anzahl Spalten).
Du müßtest nun alle Abfragen speichern,
$result1=mysql_query......
resultlt2=mysql_query... usw.,
eine Tabelle erstellen mit allen Spalten abgefragter Tabellen,
und die Ergebnisse, $result1, $result2 usw. gezielt eintragen.
Das ist mir jetzt 'n bißchen zuviel, sorry.
Grüße
Günni
Hi,
hier
Mit Checkboxen Selects steuern
findest du ein Minibeispiel, wie man mit HTML-Tags Datensätze und
Spalten filtern kann.
Das Formular habe ich erweitert:
<!-- Ein weiterer Button, um eine neue Tabelle anzulegen //-->
<input type="submit" name="cmd" value="Neu">
<!-- Ein Textfeld für den Tabellennamen //-->
<input type="text" name="tabelle">
Erweiterung des Script:
if($cmd=="Neu"){
$conn=mysql_connect("localhost","guenni","guenni");
$db=mysql_select_db("test");
if(count($pcinfo)){
$query="select ";
$query.=$pcinfo;
$i=1;
}
while($i<count($pcinfo)){
$query.=",".$pcinfo[$i];
$i++;
}
if($alle){
$query.=" from computer";
}else{
$query.=" from computer where computer='$computer'";
}
if(count($pcinfo)){
echo "Ihre Anfrage: $query
"; // Ausgabe zum Test
}
$result=mysql_query($query,$conn);
$query="create table $tabelle($pcinfo varchar(64) ";
$i=1;
while($i<count($pcinfo)){
$query.=",".$pcinfo[$i]." varchar(64) ";
$i++;
}
$query.=")";
$db=mysql_select_db("daten"); // Zur Datenbank wechseln, in der die neue Tabelle erzeugt werden soll
mysql_query($query,$conn); // Tabelle anlegen
while($row=mysql_fetch_array($result,MYSQL_BOTH)){
$query="insert into $tabelle values(";
$query.="'$row'";
$i=1;
while($i<count($row)/2){
$query.=","."'$row[$i]'";
$i++;
}
$query.=")";
mysql_query($query,$conn); // Datensatz einfügen
echo $query."
"; //Ausgabe zum Test
}
mysql_close();
}
Anschließend, Fortsetzung des Script.
Du kannst nun verschiedene Tabellen anlegen, mit verschiedenen Spalten
aus einem oder allen Datensätzen.
Script zur Ausgabe der Tabellen:
$conn=mysql_connect("localhost","guenni","guenni");
$db=mysql_select_db("daten");
$tabellen=mysql_list_tables("daten");
$i=0;
while($i < mysql_num_rows($tabellen)){
$tablename=mysql_tablename($tabellen,$i);
echo "Tabelle: $tablename
";
$query="select * from $tablename";
$result=mysql_query($query,$conn);
echo "<table border=\"1\">";
$row=mysql_fetch_array($result, MYSQL_ASSOC);
while($field=key($row)){
echo "<th>$field</th>";
next($row);
}
echo "</tr>";
echo "<tr><td>";
echo implode("<td>", $row);
echo "</tr>";
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr><td>";
echo implode("<td>", $row);
echo "</tr>";
}
echo "</table>";
$i++;
}
Du kannst auch nur ganze Datensätze auswählen.
Siehe
Tabellen sortieren mit PHP
Dieses Script, Anhang I, zeigt dir den Inhalt einer Tabelle.
Erweiterungen:
Die gesamte Tabelle wird in das Formular übernommen.
In dem Formular werden, wie oben, ein Submit-Button, ein Textfeld eingefügt:
<input type="submit" name="cmd" value="Übernehmen"> in Tabelle
<input type="text" name="tabelle">
An die Ausgabe der Spaltenköpfe wird ein Feld angehangen
Hier werden die Spaltenköpfe angezeigt
Begin des Tabellenkopfes
echo "<tr>";
while($field=key($row)){
echo "<th><a href=\"sort.php?sort=$field&dir=$dir\">$field</a></th>";
next($row);
}
echo "<th></th>"; Eine Spalte anfügen
echo "</tr>";
Ende Tabellenkopf
An jedem Datensatz wird eine Checkbox angehangen, Inhalt der Checkbox ist die
ID des Datensatzes.
Da durch die Anweisung $row=mysql_fetch_array($result, MYSQL_ASSOC)); bereits der
erste Datensatz "geholt" wurde, muß er separat ausgegeben werden
echo "<tr><td>";
echo implode("<td>", $row);
echo "<td><input type=\"checkbox\" name=\"choice\" value=$row[id]></td>";
echo "</tr>";
Dann erfolgen die restlichen Datensätze mit der while-Schleife
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr><td>";
echo implode("<td>", $row);
echo "<td><input type=\"checkbox\" name=\"choice\" value=$row[id]></td>"; Nach Ausgabe der Spalten
wird eine Checkbox als Array ausgegeben.
echo "</tr>";
Scripterweiterung:
if($cmd=="Übernehmen"){
$conn=mysql_connect("localhost","guenni","guenni");
$db=mysql_select_db("test");
if(count($choice)){
$query="create table $tabelle select * from tabelle where id=$choice";
mysql_query($query,$conn);
$i=1;
while($i<count($choice)){
$query="insert into $tabelle select * from tabelle where id=$choice[$i]";
mysql_query($query,$conn);
$i++;
}
}
}
Anschließend, Fortsetzung des Script.
Den Wechsel zur einer anderen Datenbank hab' ich mir im 2. Beispiel gespart, es ging
ja nur um die Demo, ganze Datensätze zu übernehmen.
Im Endergebnis sollen alle ausgewählten Datensätze der verschiedenen Tabellen
in einer Tabelle angezeigt werden.
in einer Tabelle angezeigt werden.
Um das umzusetzen, wird's ein bißchen komplizierter.
Tabellen sind nun mal verschieden breit(Anzahl Spalten).
Du müßtest nun alle Abfragen speichern,
$result1=mysql_query......
resultlt2=mysql_query... usw.,
eine Tabelle erstellen mit allen Spalten abgefragter Tabellen,
und die Ergebnisse, $result1, $result2 usw. gezielt eintragen.
Das ist mir jetzt 'n bißchen zuviel, sorry.
Grüße
Günni