Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datensätze in Tabelle aus MySQL Datenbank weiterverarbeiten

Frage Entwicklung PHP

Mitglied: M1a2t3t4i

M1a2t3t4i (Level 1) - Jetzt verbinden

05.10.2006, aktualisiert 18.10.2012, 5034 Aufrufe, 1 Kommentar

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?
Mitglied: Guenni
07.10.2006, aktualisiert 18.10.2012
@M1a2t3t4i

Hi,

hier
http://www.administrator.de/wissen/mit-checkboxen-selects-steuern-36535 ...

findest du ein Minibeispiel, wie man mit HTML-Tags Datensätze und
Spalten filtern kann.

Das Formular habe ich erweitert:
01.
<!-- Ein weiterer Button, um eine neue Tabelle anzulegen //--> 
02.
<input type="submit" name="cmd" value="Neu"> 
03.
<!-- Ein Textfeld für den Tabellennamen //--> 
04.
<input type="text" name="tabelle">
Erweiterung des Script:

01.
if($cmd=="Neu"){ 
02.
 $conn=mysql_connect("localhost","guenni","guenni"); 
03.
 $db=mysql_select_db("test"); 
04.
 if(count($pcinfo)){ 
05.
  $query="select "
06.
  $query.=$pcinfo[0]; 
07.
  $i=1; 
08.
09.
 while($i<count($pcinfo)){ 
10.
  $query.=",".$pcinfo[$i]; 
11.
  $i++; 
12.
13.
 if($alle){ 
14.
  $query.=" from computer"
15.
 }else
16.
 			 $query.=" from computer where computer='$computer'"
17.
18.
 if(count($pcinfo)){ 
19.
  echo "Ihre Anfrage: $query
20.
"; // Ausgabe zum Test 
21.
22.
 $result=mysql_query($query,$conn); 
23.
 $query="create table $tabelle($pcinfo[0] varchar(64) "
24.
 $i=1; 
25.
 while($i<count($pcinfo)){ 
26.
  $query.=",".$pcinfo[$i]." varchar(64) "
27.
	$i++; 
28.
29.
 $query.=")"
30.
 $db=mysql_select_db("daten"); // Zur Datenbank wechseln, in der die neue Tabelle erzeugt werden soll 
31.
 mysql_query($query,$conn); // Tabelle anlegen 
32.
  
33.
 while($row=mysql_fetch_array($result,MYSQL_BOTH)){ 
34.
  $query="insert into $tabelle values("
35.
	$query.="'$row[0]'"
36.
	$i=1; 
37.
	while($i<count($row)/2){ 
38.
	 $query.=","."'$row[$i]'"
39.
	 $i++; 
40.
41.
	$query.=")"
42.
	mysql_query($query,$conn); // Datensatz einfügen 
43.
	echo $query."
44.
"; //Ausgabe zum Test 
45.
46.
 mysql_close(); 
47.
}
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:

01.
$conn=mysql_connect("localhost","guenni","guenni"); 
02.
$db=mysql_select_db("daten"); 
03.
$tabellen=mysql_list_tables("daten"); 
04.
$i=0; 
05.
while($i < mysql_num_rows($tabellen)){ 
06.
 $tablename=mysql_tablename($tabellen,$i); 
07.
 echo "Tabelle: $tablename
08.
"; 
09.
  
10.
 $query="select * from $tablename"
11.
 $result=mysql_query($query,$conn); 
12.
 echo "<table border=\"1\">"
13.
 $row=mysql_fetch_array($result, MYSQL_ASSOC); 
14.
 while($field=key($row)){ 
15.
  echo "<th>$field</th>"
16.
  next($row); 
17.
18.
 echo "</tr>"
19.
 echo "<tr><td>"
20.
 echo implode("<td>", $row); 
21.
 echo "</tr>"
22.
 while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ 
23.
  echo "<tr><td>"
24.
  echo implode("<td>", $row); 
25.
 echo "</tr>"
26.
27.
 echo "</table>"
28.
 $i++; 
29.
}
Du kannst auch nur ganze Datensätze auswählen.

Siehe
http://www.administrator.de/wissen/tabellen-sortieren-mit-php-23446.htm ...

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:

01.
<input type="submit" name="cmd" value="Übernehmen"> in Tabelle 
02.
<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:

01.
if($cmd=="Übernehmen"){ 
02.
 $conn=mysql_connect("localhost","guenni","guenni"); 
03.
 $db=mysql_select_db("test"); 
04.
 if(count($choice)){ 
05.
  $query="create table $tabelle select * from tabelle where id=$choice[0]"
06.
	mysql_query($query,$conn); 
07.
	$i=1; 
08.
	while($i<count($choice)){ 
09.
	 $query="insert into $tabelle select * from tabelle where id=$choice[$i]"
10.
	 mysql_query($query,$conn); 
11.
	 $i++; 
12.
13.
14.
}
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.

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
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

Datenbanken
Tool oder Dienst für E-Mail (POP3) zu MySQL Datenbank (3)

Frage von bounee zum Thema Datenbanken ...

Datenbanken
Access Datenbank wie am einfachsten Datensätze aufbereiten (5)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (15)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...