Top-Themen

Aktuelle Themen (A bis Z)

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

Per PHP Inhalt, Datensatz kopieren und anderer ID zuweisen

Mitglied: LuckyLuke

LuckyLuke (Level 1) - Jetzt verbinden

17.04.2008, aktualisiert 14.05.2008, 3628 Aufrufe, 2 Kommentare

Guten Morgen,

ich habe vor eine Komforteigenschaft in mein Intranet-Datenbankmodul einzubauen.
Hierbei handelt es sich um eine Produktdatenbank, die Parameterwerte beinhaltet. Da manche Produkte bis auf zwei Werte unterschiedlich sind, möchte ich folgende Komfortfunktion implementieren:
- Produkt auswählen --> Inhalte kopieren --> 2tes Produkt auswählen --> Inhalte einfügen
Theoretisch ist dies einfach. Die Inhalte müssen in ein Array geschrieben werden und dann anschließend bspw. über eine Foreach-Schleife ausgelesen und der jeweiligen ID zugewiesen werden.
Ich habe mal im Manual recherchiert und nach einem Duplicate-Befehl gesucht, jedoch vergebens bzw. nicht bei mir anwendbar.
Hat jemand von euch eine ähnliche Funktion bereits versucht?
Denkanstöße sind herzlich willkommen, denn es gibt viele Wege, wie man dies lösen kann.

Gruß, Lucky.
Mitglied: BennyR
08.05.2008 um 09:35 Uhr
Ich bin mir nicht sicher ob ich dein Problem richtig verstehe aber vielleicht hilft dir das:

INSERT INTO produkt_param (`id`,`produkt_id`,`wert`) SELECT NULL,neue_produkt_id=xxx,wert FROM produkt_param WHERE produkt_id = kopiere_von_dieser_id;

Zur Erklärung:
NULL weil du wahrscheinlich den primary key `id` automatisch setzt.

Sonst macht der Befehl folgendes:
Er erstellt für jeden Datensatz einer id `kopiere_von_dieser_id` einen neuen Datensatz mit der Produkt ID mit dem Wert 'xxx'
Bitte warten ..
Mitglied: LuckyLuke
14.05.2008 um 09:19 Uhr
Moin BennyR,

danke für deinen Beitrag. Habe inzwischen eine eigene Version probiert zu erstellen.
Auf der ersten Seite wird das zu kopierende Produkt und das leere Produkt, dass die gleichen Werte enthalten soll, ausgewählt.
So siehts im Code aus:

Datei 1

01.
<? 
02.
$res=mysql_db_query("datenbank_edv",   "SELECT prdNr, prdZusatz, gefuellt, id FROM edv_produkte ORDER BY prdNr"); 
03.
while($row=mysql_fetch_array($res,MYSQL_NUM)) 
04.
05.
    $pr_nrn[]=$row[0]; 
06.
	$pr_nrn_zu[]=$row[1]; 
07.
	$pr_fertig[]=$row[2]; 
08.
	$pr_id[]=$row[3]; 
09.
	 
10.
	 
11.
	if(isset($_GET['copy_produkt']) && $_GET['copy_produkt']==$row[0].$row[1]) 
12.
13.
		$zeige_copy_produkt=$row
14.
15.
16.
 
17.
 
18.
echo
19.
<select name="copy_produkt" onchange="document.produktwahl.submit()"
20.
<option value="-1">Bitte wählen</option><option value="-1"></option>'; 
21.
$test=0; 
22.
	for($z=0;$z<count($pr_nrn);$z++) 
23.
24.
        if(isset($_GET['copy_produkt']) && $_GET['copy_produkt']==$pr_nrn[$z].$pr_nrn_zu[$z]) 
25.
26.
			if($test!=$pr_nrn[$z].$pr_nrn_zu[$z]) 
27.
28.
                echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'" selected>'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>'
29.
30.
31.
		 
32.
		else 
33.
34.
			if($test!=$pr_nrn[$z].$pr_nrn_zu[$z]) 
35.
36.
				if($pr_fertig[$z]=="1"
37.
38.
					echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'" style="background: #B9C5E3">'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>'
39.
40.
				else 
41.
42.
					echo '<option value="'.$pr_nrn[$z].$pr_nrn_zu[$z].'">'.$pr_nrn[$z].$pr_nrn_zu[$z].'</option>'
43.
44.
45.
46.
		$test=$pr_nrn[$z].$pr_nrn_zu[$z]; 
47.
48.
echo '</select></form>'
49.
 
50.
if(isset($zeige_copy_produkt)) 
51.
{		 
52.
	echo'<input type="hidden" name="prd_nr[]" value="'.$_GET['copy_produkt'].'">'
53.
	echo'Klicken Sie auf "<strong>Werte übernehmen</strong>" damit das Produkt '.$_GET['copy_produkt'].' gefüllt werden kann.'
54.
	echo'<br /><br />'
55.
	echo '<input type="submit" name="copy" value="Werte übernehmen" />'
56.
57.
?>
Datei 2

01.
<? 
02.
error_reporting(E_ALL); 
03.
// Verbindungsdaten zur Datenbank und deren Datenbanktabellen \\ 
04.
	require("../../../db.inc.php"); 
05.
// ********************************************************** \\										 
06.
 
07.
//var_dump($_POST['produkt_1']); 
08.
$prd_1 = $_POST['produkt_1']; 
09.
$prd_2 = $_POST['produkt_2']; 
10.
 
11.
 
12.
if(isset($_POST['copy'])) 
13.
14.
	if($prd_1=="-1"
15.
16.
		echo "<strong>Bitte wählen Sie das Produkt aus, dessen Parameterwerte kopiert werden sollen!</strong><br>"
17.
18.
	else 
19.
20.
		$query = "SELECT prdid, parameterwert FROM prd_parawert WHERE prd_parawert.prdid='".$prd_1."'"
21.
		$result= mysql_query($query) or die (mysql_error()); 
22.
		while($row_1=mysql_fetch_array($result,MYSQL_ASSOC)) 
23.
		{	 
24.
			if($prd_2=="-1"
25.
26.
				echo "<br><strong>Bitte wählen Sie das Produkt aus, in das die Parameterwerte kopiert werden sollen!</strong>"
27.
28.
29.
			$query = "SELECT prdid, parameterwert FROM prd_parawert WHERE prd_parawert.prdid='".$prd_2."'"
30.
			$result=mysql_query($query) or die (mysql_error());  
31.
			while($row_2=mysql_fetch_array($result,MYSQL_ASSOC))  
32.
33.
				$query_in = "INSERT INTO prd_parawert ($row_2[parameterwert]) 
34.
								SELECT $row_1[parameterwert] FROM prd.parawert WHERE $row_1[prdid] = $row_2[prdid]"; 
35.
				$result=mysql_query($query_in);  
36.
				echo "<br><br><strong>Kopiervorgang beendet.</strong>"
37.
38.
39.
40.
?>
Problem
**
Es gibt weder eine Fehlermeldung noch eine Aktion in der Datenbank.
Wo könnte der Wurm liegen?


Gruß, Luke.
Bitte warten ..
Ähnliche Inhalte
PHP

PHP soll Datensätze in der Datenbank überprüfen

Frage von YanmaiPHP2 Kommentare

Hallo ihr Administratoren ;) Ich habe eine Datenbanktabelle "Freundschaftsanfragen". Wenn Benutzer a Benutzer b eine Freundschaftsanfrage schickt, dann wird ...

Datenbanken

PHP MySQLI - Abfrage von Datensätzen nicht möglich

gelöst Frage von CreamyCewieDatenbanken2 Kommentare

Hallo, ich versuche gerade mittels PHP/MySQLi Datensätze aus meiner DB auszulesen. Mein Script: Hier erhalte ich jedoch folgenden Fehler: ...

PHP

PHP und MAX id bzw. LAST INSERT ID

gelöst Frage von ProtectedPHP8 Kommentare

Hallo, ich benötige die Letzte ID von der Tabelle xy. Leider kann ich LAST_INSERT_ID nicht verwenden, weil kein INSERT ...

PHP

PHP String inhalte wiedergeben

gelöst Frage von DasPossumPHP7 Kommentare

Hallo zusammen, ich arbeite gerade an ein kleines Script das mir Linuxbenutzer auf den Webserver ausgeben soll. Bisher habe ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 10 StundenErkennung und -Abwehr1 Kommentar

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 18 StundenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 2 TagenDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 3 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Heiß diskutierte Inhalte
Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server27 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS15 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...