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, 4982 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Exchange Server
Exchange 2007 Datenbank restore ohne Exchange zu verändern - SBS2008

Frage von pitamerica zum Thema Exchange Server ...

Microsoft Office
Pivot Tabelle schützen ohne Datenabschnitt (1)

Frage von lupi1989 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...